1EDA课程设计报告书课题名称七人表决器设计姓名学号院、系、部电气系专业电气工程及其自动化指导教师2010年7月3日※※※※※※※※※※※※※※※※※※※※※※※※2007级EDA课程设计2一、设计任务及要求:本设计就是利用EDA/SOPC-II+实验箱中的拨挡开关模块和LED模块来实现一个简单的七人表决器的功能。拨挡开关模块中的K1~K7表示七个人,当拨挡开关输入为‘1’时,表示对应的人投同意票,否则当拨挡开关输入为‘0’时,表示对应的人投反对票;LED模块中D1_1表示七人表决的结果,当同意数>3人的时候,D1_1点亮表示一致同意,同时使用试验台的大板的数码管显示P表示通过,小板的数码管显示同意的人数,否则D1_1熄灭表示一致反对。指导教师签名:2010年月日二、指导教师评语:指导教师签名:2010年月日三、成绩指导教师签名:2010年月日3七人表决器设计一、设计目的1.熟悉QuartusII软件的使用。2.熟悉七人表决器的工作原理3.熟悉EDA开发的基本流程。二、设计要求表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时用七段显示数码管来显示同意的人数。三、电路及连线设计管脚分配:实验符号对应附录符号管脚K1K1PIN_74K2K2PIN_73K3K3PIN_38K4K4PIN_39K5K5PIN_44K6K6PIN_45K7K7PIN_46AA62BB61CC60DD59EE58FF57GG56m_ResultD1_1PIN_2154七个人开始投票表决统计同意的人数j判断j是否大于3D1_1点亮并且大板的数码管显示PYND1_1熄灭并且大板的数码管显示E小板显示统计结果中同意的人数四、使用说明本设计就是利用EDA/SOPC-II+实验箱中的拨挡开关模块和LED模块来实现一个简单的七人表决器的功能。拨挡开关模块中的K1~K7表示七个人,当拨挡开关输入为‘1’时,表示对应的人投同意票,否则当拨挡开关输入为‘0’时,表示对应的人投反对票;LED模块中D1_1表示七人表决的结果,当D1_1点亮时,表示一致同意,否则当D1_1熄灭时,表示一致反对。五、流程图设计六、程序设计如下:libraryieee;useieee.std_logic_1164.all;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entitybiaoisport(reset:instd_logic;xin:instd_logic_vector(6downto0);sel:outstd_logic;xout:outstd_logic_vector(6downto0);xout1:outstd_logic_vector(6downto0));endentity;architecturebevofbiaoisbegin5process(xin)variablej:integer:=0;beginj:=0;foriin0to6loopifxin(i)='1'thenj:=j+1;endif;endloop;casejiswhen0=xout1=1000000;when1=xout1=1111001;when2=xout1=0100100;when3=xout1=0110000;when4=xout1=0011001;when5=xout1=0010010;when6=xout1=0000010;when7=xout1=1111000;whenothers=null;endcase;ifj3thenxout=1110011;sel='1';elsexout=1111001;sel='0';endif;endprocess;endarchitecturebev;七、设计总结:通过这段时间的EDA课程设计,我更加熟练的掌握了EDA开发的基本流程,熟练的使用QuartusII软件进行编程,在大家的努力之下,我们完成了七人表决器的相关设计,在此我要感谢我的组员和在EDA设计中给于我们很多帮助的老师们。同时,我发现了自己的编程思路还不是很清晰,需要在以后的学习中加强锻炼。八、参考文献:[1]延明,张亦化.数字电路EDA技术入门.北京:邮电大学出版社,2006[2]徐惠民,安德宁.数字逻辑设计与VHDL描述.北京:机械工程出版社,2002[3]潘松,王国栋.VHDL实用教程.成都:电子科技大学出版社,2001