1、EDA技术实验报告七人表决器完美版广东工业大学课程设计任务书题目名称硬件描述语言与EDA技术实践学生学院专业班级姓 名学 号一、课程设计的内容1. 系统功能分析;2. 实现系统功能的方案设计;3. 编写各功能模块VHDL语言程序;4. 对各功能模块进行编译、综合、仿真和验证;5. 顶层文件设计;6. 整个系统进行编译、综合、仿真和验证;二、课程设计的要求与数据1. 按所布置的题目要求,每一位学生独立完成全过程;2. 分模块层次化设计;3. 各功能模块的底层文件必须用VHDL语言设计,顶层文件可用VHDL语言设计,也可以用原理图设计。三、课程设计应完成的工作1. 所要求设计内容的全部工作;2.
2、按设计指导书要求提交一份报告书;3. 提交电子版的设计全部内容:工程目录文件夹中的全部内容,报告书四、课程设计进程安排序号设计各阶段内容地点起止日期1布置设计题目和要求;收集相关资料。工3317或宿舍12.52方案分析与确定;编写VHDL源程序。工3317或宿舍12.63编写VHDL源程序;编译、综合、仿真、定时分析、适配。工3317或宿舍12.74下载和硬件验证;验收。工331712.85下载和硬件验证;验收;撰写报告工331712.9678五、应收集的资料及主要参考文献1. 陈先朝,硬件描述语言与EDA技术实践指导书,2011年11月2. 曹昕燕等编著,EDA技术实验与课程设计,清华大学出
3、版社,2006年5月3. 刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社,2009年4月4. 刘昌华等编著,数字逻辑EDA设计与实践:MAX+plus与Quartus双剑合璧,国防工业出版社,2009年5. 刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月发出任务书日期: 2011年12月 5日 指导教师签名:计划完成日期: 2011年12月 9日 基层教学单位责任人签章:主管院长签章:七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。2.熟悉七人表决器的工作原理3.熟悉EDA开发的基本流程。二、设计要求表决器就是对于一个行为,由多个人投票
4、,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为1时,表示此人同意;否则若拨挡开关输入为0时,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮,;否则,如果表决的结果为反对,则LED不会被点亮。同时用七段显示数码管来显示赞成的人数和反对的人数。三、电路及连线设计管脚分配:实验符号对应附录符号管脚K1K1PIN_28K2K2PIN_29K3K3PIN_30K
5、4K4PIN_31K5K5PIN_38K6K6PIN_39K7K7PIN_40AAPIN_141BBPIN_142CCPIN_143DDPIN_144EEPIN_147FFPIN_148GGPIN_149m_ResultSEG5PIN_190AAPIN_157BBPIN_158CCPIN_159DDPIN_160EEPIN_170FFPIN_172GGPIN_173四、使用说明本设计就是利用芯片ACEX1K系列的EP1K30QC208-3,拨挡开关模块和LED模块来实现一个简单的七人表决器的功能。拨挡开关模块中的sw1sw7表示七个人,当拨挡开关输入为1时,表示对应的人投同意票,否则当拨挡开关
6、输入为0时,表示对应的人投反对票;LED模块中SEG5表示七人表决的结果,当SEG5点亮时,表示一致同意,否则当SEG5熄灭时,表示一致反对。然后数码管SEG1和SEG2分别显示赞成,反对的人数。五、流程图设计六、程序设计如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY UG ISPORT(clk:IN STD_LOGIC;am:IN STD_LOGIC_VECTOR(6 DOWNTO 0);y:OUT STD_LOGIC;y1,y2:OUT STD_LOGIC_VECTOR(6
7、 DOWNTO 0);END ENTITY UG;ARCHITECTURE one OF UG ISSIGNAL q:STD_LOGIC;SIGNAL q1,q2:STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINPROCESS(am) VARIABLE shu:INTEGER;BEGINshu:=0;IF clkEVENT AND clk=1 THENIF am(0)=1 THEN shu:=shu+1;END IF;IF am(1)=1 THEN shu:=shu+1;END IF;IF am(2)=1 THEN shu:=shu+1;END IF;IF am(3)=1
8、THEN shu:=shu+1;END IF;IF am(4)=1 THEN shu:=shu+1;END IF;IF am(5)=1 THEN shu:=shu+1;END IF;IF am(6)=1 THEN shu:=shu+1;END IF;CASE shu ISWHEN 0 = q=0;q1=1111110;q2 q=0;q1=0110000;q2 q=0;q1=1101101;q2 q=0;q1=1111001;q2 q=1;q1=0110011;q2 q=1;q1=1011011;q2 q=1;q1=1011111;q2 q=1;q1=1110000;q2 q=Z;q1=ZZZZ
9、ZZZ;q2=ZZZZZZZ;END CASE;y=q;y1=q1;y2=q2;END IF;END PROCESS;END ARCHITECTURE one;七、波形时序仿真八、波形分析当七个人am(6)、am(5)、am(4)、am(3)、am(2)、am(1)、am(0)投票结果为“1101111“,则数码管SEG1的结果是“1011111”即显示数字“6”,数码管SEG2结果是“0110000”,显示数字“1”, 此时LED灯亮,投票通过;当七个人投票结果是“0111000”,SEG1显示“3”,SEG2显示“4”,LED灯不亮,投票不通过。以此类推。九、管脚分配十、设计问题与解决方法
10、在本程序中因为是多路输出,输出存在时序差,产生竞争冒险现象,导致在时序仿真的时候输出波形中产生“毛刺”,为了去除这些“毛刺”,加入一个时钟信号CLK,其周期设置为20ns.十一、设计总结:通过这段时间的EDA课程设计,我更加熟练的掌握了EDA开发的基本流程,熟练的使用Quartus II软件进行编程,在大家的努力之下,我们完成了七人表决器的相关设计,在此我要感谢我的组员和在EDA设计中给于我们很多帮助的老师们。同时,我发现了自己的编程思路还不是很清晰,需要在以后的学习中加强锻炼。十二、参考文献:1 延明,张亦化.数字电路EDA技术入门.北京:邮电大学出版社,20062 徐惠民,安德宁.数字逻辑设计与VHDL描述.北京:机械工程出版社,20023潘松 ,王国栋.VHDL实用教程.成都:电子科技大学出版社,2001
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1