1、VHDL设计七人表决器FPGA系统设计与开发目:七人表决器业:电子信息工程专业号:10名:杨彪指导老师:聂小燕、实验目的1、熟悉VHDL的编程。2 、熟悉七人表决器的工作原理。3、进一步了解实验系统的硬件结构二、 实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为 此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于 4时, 则认为同意;反之,当否决的票数大于或者等于 4时,贝U认为不同意。实验中用7 个拨动开关来表示七个人,分别用7个LED等来反应每个人的决定,当对应的拨动 开关输入为 1时,表示此人同
2、意,LED灯点亮;否则若拨动开关输入为 0; 则表示此人反对,LED灯不亮。表决的结果也用一个LED表示,若表决的结果为同 意,则LED被点亮;否则,如果表决的结果为反对,则 LED不会被点亮。同时, 数码管上显示通过的票数。三、 实验内容本实验就是利用实验系统中的拨动开关模块和 LED模块以及数码管模块来 实现一个简单的七人表决器的功能。拨动开关模块中的 K1K7表示七个人,当拨动开关输入为1时,表示对应的人投同意票,对应的 LED灯亮;否则当拨 动开关输入为 0时,表示对应的人投反对票,对应的LED灯不亮;LED模 块中LED1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否则
3、 当LED1熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。四、 实验步骤1、 打开QUARTUSII软件,新建一个工程。2、 建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。3、 按照实验原理和自己的想法,在 VHDL编辑窗口编写VHDL程序。4、 编写完VHDL程序后,保存起来,并建立工程。5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。6编译仿真无误后,依照拨动开关、LED、数码管与FPGA的管脚连接表或 参照附录进行管脚分配。表1是示例程序的管脚分配表。分配完成后,再进行全编 译一次,以使管脚分配生效。7、下载程序到试验箱验证实验
4、的正确性, 观察现象,对错误的地方进行改正。表1程序的管脚分配表端口名使用模块信号对应FPGA管脚说明CLK时钟C13CLR复位P25低电平有效K1拨动开关K1H8七位投票人的表决器K2拨动开关K2J8K3拨动开关K3J9K4拨动开关K4A4K5拨动开关K5B4K6拨动开关K6A5K7拨动开关K7B5ResultLED 模块 LED1G13表决结果亮为通过LED0LED 模块 LED2G15每个人投票的结果LED1LED 模块 LED3G14LED2LED 模块 LED4H12LED3LED 模块 LED5H11LED4LED 模块 LED6J10LED5LED 模块 LED7L9LED6LE
5、D 模块 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;ENTITY BJQ ISPORT(CLK,CLR:IN STD_LOGIC; -CLK 为系统时钟,CLR为复位按K:IN STD_LOGIC_VECTOR(6 DO
6、WNTO 0);- 拨动开关输入表决Result:OUT STD_LOGIC; - 显示表决是否通过LEDAG,LED:OUTSTD_LOGIC_VECTOR(OWNTO); -LEDAG 为七段数码管,CASE shu iS -指示灯显示投票结果,数码管显示同意人数WHEN 0 =Result=0;LEDAG=0111111;LEDResult=0;LEDAG=0000110;LEDResult=0;LEDAG=1011011;LEDResult=0;LEDAG=1001111;LEDResult=1;LEDAG=1100110;LEDResult=1;LEDAG=1101101;LEDRe
7、sult=1;LEDAG=1111101;LEDResult=1;LEDAG=0100111;LEDResult=0;LEDAG=0000000;LED=K;END CASE;END IF;ELSE - 启动复位功能,同时复位指示灯和数码管Result=0;LEDAG=0111111;LED血InputPN_AS3B3_N15K4InputPIN B43B3 N16K罔InputPTN.A43B3 N 17L羽InputPIN J53B3_N LaKlInputPINJ82B2_N09K0InputPDN_H&3E3_N110LH洞OutputPIN H1O3B3 N 1iiLH55Outpu
8、tPIN_L92B2_N112LED闫OutputPhJJO3B3.N013LH?3OutputPIN.H1113B3_NO14DLW2【OutputPIN JH123珀。15a區OutputPtN144B4_N116aLED0OutputPINJ515斗S4 N117LED AG 6OugtPIN_E1B4B4_N018LED加国OutputPEN_F 174B4_N019aLE)AG|OutputPIN F16斗B4 N120aLED恥OutputPIN_E154B4_N121Lffi AG 2OutputPIN_F 154B4_N122aLEDAGflOutputPIN F144B4_N123oLBX0OutputPtN_F134B4_N1243ResultOutpu tPIN G13斗B4 N1八、实验结果与现象当设计文件加载到试验箱后,拨动实验系统中的拨动开关模块的K0-K7七位拨 动开关,如果拨动开关的值为“ 1”即拨动开关的开关置于上端,表示此人通过表 决,对应的LED(LED2到LED8显示每个人投票的结果)等被点亮,反之不然。当LED 被点亮的个数大于或等于四时LED模块的LED1被点亮,否则LED1不被点亮。同 时数码管上显示通过表决的人数。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1