VHDL设计七人表决器

上传人:876****10 文档编号:141914240 上传时间:2020-08-14 格式:DOC 页数:9 大小:198KB
返回 下载 相关 举报
VHDL设计七人表决器_第1页
第1页 / 共9页
VHDL设计七人表决器_第2页
第2页 / 共9页
VHDL设计七人表决器_第3页
第3页 / 共9页
VHDL设计七人表决器_第4页
第4页 / 共9页
VHDL设计七人表决器_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《VHDL设计七人表决器》由会员分享,可在线阅读,更多相关《VHDL设计七人表决器(9页珍藏版)》请在金锄头文库上搜索。

1、VHDL-设计七人表决器 作者: 日期:FPGA系统设计与开发 课程设计报告 题 目: 七人表决器 专 业: 电子信息工程专业 学 号: 1340820410 姓 名: 杨彪 指导老师: 聂小燕 一、实验目的 1、 熟悉 VHDL 的编程。 2、 熟悉七人表决器的工作原理。3、 进一步了解实验系统的硬件结构。二、实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示

2、七个人,分别用7个LED等来反应每个人的决定,当对应的拨动开关输入为1时,表示此人同意,LED灯点亮;否则若拨动开关输入为0,则表示此人反对,LED灯不亮。表决的结果也用一个LED表示,若表决的结果为同意,则 LED 被点亮;否则,如果表决的结果为反对,则 LED 不会被点亮。同时,数码管上显示通过的票数。三、实验内容本实验就是利用实验系统中的拨动开关模块和LED模块以及数码管模块来 实现一个简单的七人表决器的功能。拨动开关模块中的K1K7表示七个人,当拨动开关输入为1时,表示对应的人投同意票,对应的LED灯亮;否则当拨动开关输入为0 时,表示对应的人投反对票,对应的LED灯不亮;LED 模块

3、中 LED1 表示七人表决的结果,当 LED1 点亮时,表示此行为通过表决;否则当 LED1 熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。四、实验步骤1、 打开 QUARTUSII 软件,新建一个工程。2、 建完工程之后,再新建一个 VHDL File,打开 VHDL 编辑器对话框。3、 按照实验原理和自己的想法,在 VHDL 编辑窗口编写 VHDL 程序。 4、 编写完 VHDL 程序后,保存起来,并建立工程。5、 对自己编写的 VHDL 程序进行编译并仿真,对程序的错误进行修改。6、 编译仿真无误后,依照拨动开关、LED、数码管与 FPGA的管脚连接表或参照附录进行管脚

4、分配。表 1是示例程序的管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。7、下载程序到试验箱验证实验的正确性,观察现象,对错误的地方进行改正。表 1程序的管脚分配表端口名使用模块信号对应 FPGA 管脚说明CLK时钟C13CLR复位P25低电平有效K1拨动开关 K1H8七位投票人的表决器K2拨动开关 K2J8K3拨动开关 K3J9K4拨动开关 K4A4K5拨动开关 K5B4K6拨动开关 K6A5K7拨动开关 K7B5ResultLED 模块 LED1G13表决结果亮为通过LED0LED 模块 LED2G15每个人投票的结果LED1LED 模块 LED3G14LED2LED 模块 L

5、ED4H12LED3LED 模块 LED5H11LED4LED 模块 LED6J10LED5LED 模块 LED7L9LED6LED 模块 LED8H10LEDAG0数码管模块 A 段F13表决通过的票数LEDAG1数码管模块 B 段F14LEDAG2数码管模块 C 段F15LEDAG3数码管模块 D 段E15LEDAG4数码管模块 E 段F16LEDAG5数码管模块 F 段F17LEDAG6数码管模块 G 段E18五、七人表决器VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; EN

6、TITY BJQ IS PORT(CLK,CLR:IN STD_LOGIC; -CLK为系统时钟,CLR为复位按 K:IN STD_LOGIC_VECTOR(6 DOWNTO 0); -拨动开关输入表决 Result:OUT STD_LOGIC; -显示表决是否通过 LEDAG,LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -LEDAG为七段数码管, 用来显示同意的人数;LED为七个指示灯,用来指示投票人的个人投票结果。END ENTITY BJQ;ARCHITECTURE one OF BJQ IS BEGIN PROCESS(K) VARIABLE shu:I

7、NTEGER; -定义变量shu来统计同意的个数 BEGIN IF (CLR=1) THEN -不复位,即正常工作 LEDResult=0; LEDAG=0111111; LEDResult=0; LEDAG=0000110; LEDResult=0; LEDAG=1011011; LEDResult=0; LEDAG=1001111; LEDResult=1; LEDAG=1100110; LEDResult=1; LEDAG=1101101; LEDResult=1; LEDAG=1111101; LEDResult=1; LEDAG=0100111; LEDResult=0; LEDAG

8、=0000000; LED=K; END CASE; END IF; ELSE -启动复位功能,同时复位指示灯和数码管Result=0;LEDAG=0111111;LED=0000000; END IF; END PROCESS; END ARCHITECTURE one;六、对VHDL 程序进行编译仿真的图形七、管脚分配表八、实验结果与现象当设计文件加载到试验箱后,拨动实验系统中的拨动开关模块的 K0-K7 七位拨动开关,如果拨动开关的值为“1”即拨动开关的开关置于上端,表示此人通过表决,对应的LED(LED2到LED8显示每个人投票的结果)等被点亮,反之不然。当LED被点亮的个数大于或等于四时 LED 模块的 LED1 被点亮,否则 LED1不被点亮。同时数码管上显示通过表决的人数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号