- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
七人表决器.
EDA技术课程设计设计题目: 七人表决器设计院 系: 电气信息学院专业年级: 电子信息工程2010级学生姓名: XXX学 号: XXXXXXX指导教师: XXXXX时 间:2013年1月13日用VHDL 设计七人表决器一、实验目的1、 熟悉 VHDL 的编程。2、 熟悉七人表决器的工作原理。3、 进一步了解实验系统的硬件结构。二、实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认 为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4 时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为‘1’时,表示此人同意;否则若拨动开关输入为‘0’,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则 LED 被点亮;否则,如果表决的结果为反对,则 LED 不会被点亮。同时,数码管上显示通过的票数。三、实验内容本实验就是利用实验系统中的拨动开关模块和LED模块以及数码管模块来 实现一个简单的七人表决器的功能。拨动开关模块中的K1~K7表示七个人,当 拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’ 时,表示对应的人投反对票;LED 模块中 LED1 表示七人表决的结果,当 LED1 点亮时,表示此行为通过表决;否则当 LED1 熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。四、硬件系统组成框图五、VHDL程序实现library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity bjq7 isport (input:in std_logic_vector(6 downto 0); led:out std_logic_vector(6 downto 0); y:out std_logic);end;architecture one of bjq7 isbeginprocess(input)variable cnt:integer range 0 to 7;begin cnt:=0; for i in 6 downto 0 loop if input(i)=1then cnt:=cnt+1; end if; end loop; if cnt3 then y=1; else y=0; end if; case cnt is when 0=led=1111110; when 1=led=0110000; when 2=led=1101101; when 3=led=1111001; when 4 =led=0110011; when 5=led=1011011; when 6=led=1011111; when 7=led=1110000; when others=led=0000000; end case; end process;end;对编写的 VHDL 程序进行编译并仿真,对程序的错误进行修改。编译仿真无误后,依照拨动开关、LED、数码管与 FPGA的管脚连接表或参照附录进行管脚分配。下图是本实验的管脚分配图。分配完成后,再进行全编译一次,以使管脚分配生效。用下载电缆通过 JTAG 口将对应的 sof 文件加载到 FPGA 中,观察实验结果。综合后的原理图如下图所示六、实验结果与现象当设计文件加载到目标器件后,拨动实验系统中拨动开关模块的 K0-K7 七位拨动开关,如果拨动开关的值为“1”)即拨动开关的开关置于上端,表示此人通过表决)的个数大于或等于四时 LED 模块的 LED1 被点亮,否则 LED1不被点亮。同时数码管上显示通过表决的人数。七、设计总结 在设计的过程中我熟悉了Quartus II的基本使用方法,熟悉了EDA程序的运行环境,对各个运行器件及操作按钮有了新的认识和了解,熟悉了VHDL语言能够利用VHDL语言实现简单基本的程序。同时也了解了试验台上大板和小板的数码管的极性。在对按键K1-K7进行统计时,采用了按位统计的方法,利用简单的FOR循环。通过这次EDA的课程设计,我进一的了解了EDA的编程技术及其应用。EDA作为现在电子行业的热门技术之一,有着较强的专业性和实用性。 而此次的EDA设计给我们接触EDA技术的机会,同时为以后的就业提供了很好的演练平台。对于这个实验,由于比较简单,没花多少时间。所以就做了数字频率计的设计,但由于知识有限,没法把最终的实验结果得出来,很是遗憾。所以在以后的学习中,一定会更加努力的学习。
文档评论(0)