首页 VHDL-设计七人表决器

VHDL-设计七人表决器

举报
开通vip

VHDL-设计七人表决器《FPGA系统(xìtǒng)设计与开发》课程设计报告题目:七人(qīrén)表决器专业:电子(diànzǐ)信息工程专业学号:1340820410姓名:杨彪指导老师:聂小燕一、实验(shíyàn)目的1、熟悉(shúxī)VHDL的编程。2、熟悉七人表决器的工作(gōngzuò)原理。进一步了解实验系统(xìtǒng)的硬件结构。二、实验(shíyàn)原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票...

VHDL-设计七人表决器
《FPGA系统(xìtǒng)设计与开发》课程设计报告题目:七人(qīrén)表决器专业:电子(diànzǐ)信息工程专业学号:1340820410姓名:杨彪指导老师:聂小燕一、实验(shíyàn)目的1、熟悉(shúxī)VHDL的编程。2、熟悉七人表决器的工作(gōngzuò)原理。进一步了解实验系统(xìtǒng)的硬件结构。二、实验(shíyàn)原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,分别用7个LED等来反应每个人的决定,当对应的拨动开关输入为‘1’时,表示此人同意,LED灯点亮;否则若拨动开关输入为‘0’,则表示此人反对,LED灯不亮。表决的结果也用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时,数码管上显示通过的票数。三、实验内容本实验就是利用实验系统中的拨动开关模块和LED模块以及数码管模块来实现一个简单的七人表决器的功能。拨动开关模块中的K1~K7表示七个人,当拨动开关输入为‘1’时,表示对应的人投同意票,对应的LED灯亮;否则当拨动开关输入为‘0’时,表示对应的人投反对票,对应的LED灯不亮;LED模块中LED1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否则当LED1熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。四、实验步骤1、打开QUARTUSII软件,新建一个工程。2、建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序。4、编写(biānxiě)完VHDL程序(chéngxù)后,保存起来,并建立工程。5、对自己(zìjǐ)编写的VHDL程序进行(jìnxíng)编译并仿真,对程序的错误进行修改。6、编译仿真(fǎnɡzhēn)无误后,依照拨动开关、LED、数码管与FPGA的管脚连接表或参照附录进行管脚分配。表1是示例程序的管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。7、下载程序到试验箱验证实验的正确性,观察现象,对错误的地方进行改正。表SEQ表格\*ARABIC1程序的管脚分配表端口名使用模块信号对应FPGA管脚说明CLK时钟C13CLR复位P25低电平有效K1拨动开关K1H8七位投票人的表决器K2拨动开关K2J8K3拨动开关K3J9K4拨动开关K4A4K5拨动开关K5B4K6拨动开关K6A5K7拨动开关K7B5ResultLED模块LED1G13表决结果亮为通过LED0LED模块LED2G15每个人投票的结果LED1LED模块LED3G14LED2LED模块LED4H12LED3LED模块LED5H11LED4LED模块LED6J10LED5LED模块LED7L9LED6LED模块LED8H10LEDAG0数码管模块A段F13表决通过的票数LEDAG1数码管模块B段F14LEDAG2数码管模块C段F15LEDAG3数码管模块D段E15LEDAG4数码管模块E段F16LEDAG5数码管模块F段F17LEDAG6数码管模块G段E18五、七人(qīrén)表决器VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYBJQISPORT(CLK,CLR:INSTD_LOGIC;----CLK为系统时钟(shízhōng),CLR为复位按K:INSTD_LOGIC_VECTOR(6DOWNTO0);----拨动开关输入(shūrù)表决Result:OUTSTD_LOGIC;----显示表决是否(shìfǒu)通过LEDAG,LED:OUTSTD_LOGIC_VECTOR(6DOWNTO0));----LEDAG为七段数码管,用来显示(xiǎnshì)同意的人数;LED为七个指示灯,用来指示投票人的个人投票结果。ENDENTITYBJQ;ARCHITECTUREoneOFBJQISBEGINPROCESS(K)VARIABLEshu:INTEGER;----定义变量shu来统计同意的个数BEGINIF(CLR='1')THEN----不复位,即正常工作LED<=K;----将指示灯和投票人对应,即记名投票shu:=0;IFCLK'EVENTANDCLK='1'THENIFK(0)='1'THENshu:=shu+1;ENDIF;IFK(1)='1'THENshu:=shu+1;ENDIF;IFK(2)='1'THENshu:=shu+1;ENDIF;IFK(3)='1'THENshu:=shu+1;ENDIF;IFK(4)='1'THENshu:=shu+1;ENDIF;IFK(5)='1'THENshu:=shu+1;ENDIF;IFK(6)='1'THENshu:=shu+1;ENDIF;CASEshuiS----指示灯显示投票结果,数码管显示同意(tóngyì)人数WHEN0=>Result<='0';LEDAG<="0111111";LED<=K;WHEN1=>Result<='0';LEDAG<="0000110";LED<=K;WHEN2=>Result<='0';LEDAG<="1011011";LED<=K;WHEN3=>Result<='0';LEDAG<="1001111";LED<=K;WHEN4=>Result<='1';LEDAG<="1100110";LED<=K;WHEN5=>Result<='1';LEDAG<="1101101";LED<=K;WHEN6=>Result<='1';LEDAG<="1111101";LED<=K;WHEN7=>Result<='1';LEDAG<="0100111";LED<=K;WHENothers=>Result<='0';LEDAG<="0000000";LED<=K;ENDCASE;ENDIF;ELSE-----启动(qǐdòng)复位功能,同时复位指示灯和数码管Result<='0';LEDAG<="0111111";LED<="0000000";ENDIF;ENDPROCESS;ENDARCHITECTUREone;六、对VHDL程序进行(jìnxíng)编译仿真的图形七、管脚分配(fēnpèi)表八、实验(shíyàn)结果与现象当设计(shèjì)文件加载到试验箱后,拨动实验(shíyàn)系统中的拨动开关模块的K0-K7七位拨动开关(kāiguān),如果(rúguǒ)拨动开关的值为“1”即拨动开关的开关置于上端,表示此人通过表决,对应的LED(LED2到LED8显示每个人投票的结果)等被点亮,反之不然。当LED被点亮的个数大于或等于四时LED模块的LED1被点亮,否则LED1不被点亮。同时数码管上显示通过表决的人数。内容总结(1)表SEQ表格\*ARABIC1程序的管脚分配表五、七人表决器VHDL程序LIBRARYIEEE(2)----拨动开关输入表决Result:OUTSTD_LOGIC(3)----LEDAG为七段数码管,用来显示同意的人数
本文档为【VHDL-设计七人表决器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
宋先生
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:8
分类:
上传时间:2022-01-23
浏览量:1