5人表决器实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计
课程设计名称: EDA课程设计
专业班级:电子信息科学与技术
学生姓名: *
学号: *
指导教师: *
课程设计时间:2013-2-25~2013-3-8
电子信息科学与技术专业课程设计任务书
1 设计任务及要求
(1)按所布置的题目要求,独立完成全过程;
(2)分模块层次化设计;
(3)功能模块的底层文件必须用VHDL语言设计,顶层文件可用VHDL语言设计,也可以用原理图设计;
(4)对整个系统进行编译、综合、仿真和验证;
(5)在CPLD/FPGA实验开发系统试验箱上进行硬件验证。

2设计原理及总体框图
表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

本设计就是利用芯片ACEX1K系列的EP1K30TC144-3,拨挡开关模块和LED 模块来实现一个简单的五人表决器的功能。

拨挡开关模块中的键4~键8表示五个人,由5个人来投票,当同意的票数大于或者等于3人时,则认为同意;反之,当否决的票数大于或者等于3人时,则认为不同意。

实验中用5个拨挡开关来表示五个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED(D8)表示,若表决的结果为同意,则D8被点亮,;否则,如果表决的结果为反对,则D8不会被点亮。

同时用七段显示数码管来显示赞成的人数和反对的人数。

程序流程图
3 程序设计
VHDL程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY bjq IS
PORT(input:IN STD_LOGIC_VECTOR(4 DOWNTO 0);
y:OUT STD_LOGIC;
y1,y2:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END;
ARCHITECTURE one OF bjq IS
SIGNAL q:STD_LOGIC;
SIGNAL q1,q2:STD_LOGIC_VECTOR(6 DOWNTO 0);
BEGIN
PROCESS(input)
VARIABLE cnt:INTEGER RANGE 0 TO 5;
BEGIN
cnt:=0;
FOR i IN 4 DOWNTO 0 LOOP
IF input(i)='1' THEN
cnt:=cnt+1;
END IF;
END LOOP;
CASE cnt IS
WHEN 0 => q<='0';q1<="0111111";q2<="1101101";
WHEN 1 => q<='0';q1<="0000110";q2<="1100110";
WHEN 2 => q<='0';q1<="1011011";q2<="1001111";
WHEN 3 => q<='1';q1<="1001111";q2<="1011011";
WHEN 4 => q<='1';q1<="1100110";q2<="0000110";
WHEN 5 => q<='1';q1<="1101101";q2<="0111111";
WHEN OTHERS => q<='Z';q1<="ZZZZZZZ";q2<="ZZZZZZZ";
END CASE;
y<=q;
y1<=q1;
y2<=q2;
END PROCESS;
END;
4 编译及仿真
程序的编译及仿真
5 硬件调试与结果分析
本设计就是利用芯片ACEX1K系列的EP1K30TC144-3,管脚分配如下:
实验符号对应附录符号引脚号
Input0PIO1327
Input1PIO1226
Input2PIO1123
Input3PIO1022
Input4PIO921
y10PIO4087
y11PIO4188
y12PIO4289
y13PIO4390
y14PIO4491
y15PIO4592
y16PIO4695
y PIO2339
y20PIO3273
y21PIO3378
y22PIO3479
y23PIO3580
y24PIO3681
y25PIO3782
y26PIO3883
底层文件的编译及仿真没有遇到错误,倒是顶层文件的设计,编译,方正遇到了一些错误,不过经过我的细心查找都得到了圆满的解答,最值得引起的注意就是引脚的锁定,要注意锁定引脚的顺序,输入的引脚锁定比较随意,数码管的引脚锁定容不得丁点儿错误,第一次我就误将引脚的顺序逆序锁定了,这样在硬件调试的时候数码管显示的数字就和输入不一样。

当五个人input0、input1、input2、input3、input4投票结果为“11011”,则数码管8的输入是“1100110”显示数字“4”,数码管7的输入是“0000110”显示数字“1”,此时LED灯亮,表示投票通过;当五个人投票结果是“01001”,则数码管8的输入是“1011011”显示数字“2”,数码管7的输入是“1001111”显示数字“3”,此时LED灯不亮,表示投票不通过。

以此类推,由仿真图可以看出。

心得体会
此次实验是个人单独设计制作,比较难,但是课下可以和同学讨论,经过一星期的紧张工作,最后完成了我的设计任务——五人表决器的设计。

通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性。

本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。

它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。

希望学校以后多安排一些类似的实践环节,让同学们学以致用。

在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。

在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。

用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。

参考文献
[1] 焦素敏.EDA课程设计指导书.郑州:河南工业大学,2008
[2] 潘松,黄继业.EDA技术实用教程.北京:科学出版社,2002
[3] 王国栋,潘松等.VHDL实用教程.成都:电子科技大学出版社,2000
[4] 张亦华,延明.数字电路EDA入门.北京:电子工业出版社,2003
[5] / 中国电子制作网网站
(注:可编辑下载,若有不当之处,请指正,谢谢!)。

相关文档
最新文档