七人表决器课程设计报告综述.docx
《七人表决器课程设计报告综述.docx》由会员分享,可在线阅读,更多相关《七人表决器课程设计报告综述.docx(10页珍藏版)》请在冰豆网上搜索。
![七人表决器课程设计报告综述.docx](https://file1.bdocx.com/fileroot1/2022-12/1/4acabe7e-c604-4c78-98ba-58ec9dff9510/4acabe7e-c604-4c78-98ba-58ec9dff95101.gif)
七人表决器课程设计报告综述
课程设计
课程名称硬件描述语言与EDA技术
题目名称硬件描述语言与EDA技术实践
学生学院材料与能源
专业班级11微电子学
(1)班
学号
学生姓名
指导教师
2014年6月27日
广东工业大学课程设计任务书
题目名称
硬件描述语言与EDA技术实践
学生学院
材料与能源学院
专业班级
11微电子学
(1)班
姓名
学号
一、课程设计的内容与要求
1.系统功能分析,分模块层次化设计;
2.实现系统功能的方案设计;
3.编写各功能模块VHDL语言程序;
4.对各功能模块进行编译、综合、仿真和验证;
5.顶层文件设计,可用VHDL语言设计,也可以用原理图设计;
6.整个系统进行编译、综合、仿真和验证;
7.在CPLD/FPGA实验开发系统试验箱上进行硬件验证;
8.按所布置的题目要求,每一位学生独立完成全过程。
二、课程设计应完成的工作
1.所要求设计内容的全部工作;
2.按设计指导书要求提交一份报告书;
3.提交电子版的设计全部内容:
工程目录文件夹中的全部内容,报告书
三、课程设计进程安排
序号
设计各阶段内容
地点
起止日期
1
布置设计题目和要求;收集相关资料。
工3-317或宿舍
6.23
2
方案分析与确定;编写VHDL源程序。
工3-317或宿舍
6.24
3
编写VHDL源程序;编译、综合、仿真、定时分析、适配。
工3-317或宿舍
6.25
4
下载和硬件验证;验收。
工3-317
6.26
5
下载和硬件验证;验收;撰写报告
工3-317
6.27
6
7
8
四、应收集的资料及主要参考文献
1.陈先朝,硬件描述语言与EDA技术实践指导书,2014年3月
2.曹昕燕等编著,EDA技术实验与课程设计,清华大学出版社,2006年5月
3.刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社,2009年4月
4.刘昌华等编著,数字逻辑EDA设计与实践:
MAX+plusⅡ与QuartusⅡ双剑合璧,国防工业出版社,2009年
5.刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月
发出任务书日期:
2014年6月23日指导教师签名:
计划完成日期:
2014年6月27日基层教学单位责任人签章:
主管院长签章:
七人表决器
1.设计目的
(1)学习和掌握QuartusII软件的基本操作;
(2)通过设计七人表决器,掌握基于可编程器件的VHDL硬件描述语言的设计方法;
(3)学习用CPLD/FPGA实践系统硬件验证电路设计的正确性
2.设计题目及要求
(1)题目:
表决器
(2)要求:
设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成的人数和反对的人数在数码管上显示出来。
3.设计方案:
表决器的功能是将所投票者的结果综合起来,超过半数赞成则表示结果通过,反之则不通过。
而七人表决器由七个人来投票,当赞成的票数大于或者等于4人,则认为通过;当反对的票数大于或者等于4人时,则认为不通过。
所以这次设计中我将用7个数据开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮,;否则,如果表决的结果为反对,则LED不会被点亮。
同时用七段显示数码管来显示赞成的人数和反对的人数。
4.实验箱使用说明
本次使用的实验箱为KHF-3型CPLD/FPGA实践开发系统
所用芯片:
ACEX1K系列的EP1K30QC208-3,引脚为208个,5980逻辑单元。
数据开关SW1至SW7分别代表7人。
当数据开关按下时输出为高电平‘1’,代表该投票者赞成,反之输出为低电平‘0’,代表该投票者反对。
数码管SEG1为赞成者人数,数码管SEG4为反对者人数
LED灯SEG5对应的P190为结果通过指示灯,当灯点亮,则代表投票结果为通过,反之熄灭时代表投票结果不通过。
5.设计流程图
是
6.VHDL程序设计
LIBRARYIEEE;--库的说明
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYbjqIS--定义实体bjq
PORT--端口说明
(clk:
INSTD_LOGIC;--时钟输入端口
vote:
INSTD_LOGIC_VECTOR(6DOWNTO0);--七人投票端
LED_pass:
OUTSTD_LOGIC;--结果LED灯
LED_approve,LED_object:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));--赞成人数及反对人数显示数码管
ENDENTITYbjq;
ARCHITECTUREbhvOFbjqIS--结构体说明
SIGNALq:
STD_LOGIC;--内部信号说明
SIGNALq1,q2:
STD_LOGIC_VECTOR(6DOWNTO0);
BEGIN
PROCESS(vote)
VARIABLEA:
INTEGER;--定义变量A用于统计赞成人数
BEGIN
A:
=0;
IFclk'EVENTANDclk='1'THEN
IFvote(0)='1'THENA:
=A+1;ENDIF;
IFvote
(1)='1'THENA:
=A+1;ENDIF;
IFvote
(2)='1'THENA:
=A+1;ENDIF;
IFvote(3)='1'THENA:
=A+1;ENDIF;
IFvote(4)='1'THENA:
=A+1;ENDIF;
IFvote(5)='1'THENA:
=A+1;ENDIF;
IFvote(6)='1'THENA:
=A+1;ENDIF;
CASEAIS--通过CASE语句选择不同赞成人数下LED数码管的显示内容
WHEN0=>q<='0';q1<="1111110";q2<="1110000";
WHEN1=>q<='0';q1<="0110000";q2<="1011111";
WHEN2=>q<='0';q1<="1101101";q2<="1011011";
WHEN3=>q<='0';q1<="1111001";q2<="0110011";
WHEN4=>q<='1';q1<="0110011";q2<="1111001";
WHEN5=>q<='1';q1<="1011011";q2<="1101101";
WHEN6=>q<='1';q1<="1011111";q2<="0110000";
WHEN7=>q<='1';q1<="1110000";q2<="1111110";
WHENOTHERS=>q<='Z';q1<="ZZZZZZZ";q2<="ZZZZZZZ";
ENDCASE;
LED_pass<=q;--将结果送到LED灯及数码管
LED_approve<=q1;
LED_object<=q2;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREbhv;
7.仿真
端口设置完毕后如下图所示:
仿真的最终结果:
8.仿真波形分析
(1)当输入vote为1100101时,表示有4人投于赞成票,LED_approve显示为0110011,即数码管显示为‘4’,LED_object显示为1111001,即数码管显示为‘3’,LED_pass为高电平即点亮;
(2)当输入vote为1100000时,表示有2人投于赞成票,LED_approve显示为1101101,即数码管显示为‘2’,LED_object显示为1011011,即数码管显示为‘5’,LED_pass为低电平即熄灭;
(3)当输入vote为1100001时,表示有3人投于赞成票,LED_approve显示为1111001,即数码管显示为‘3’,LED_object显示为0110011,即数码管显示为‘4’,LED_pass为低电平即熄灭;
(4)当输入vote为1100010时,表示有3人投于赞成票,LED_approve显示为1111001,即数码管显示为‘3’,LED_object显示为0110011,即数码管显示为‘4’,LED_pass为低电平即熄灭;
如此说明,仿真结果符合实际要求需要。
9.管脚分配
10.设计所遇到的问题
这次设计中所遇到的最大困难在于仿真。
由于对仿真的功能不够熟悉,一开始对于输入波形的设置就乱了阵脚。
最初时钟信号的输入设置并没有很大问题,但是我并没有考虑到仿真时的endtime。
由于endtime设置比较小,使得仿真结果并不完善。
后来请教了同学后才发现了这问题。
由于输入为多通道输入,每一个vote信号我都使用了一个random波形,使得输入十分的紊乱,输出结果更是一塌糊涂。
后来将vote变成二进制类型输入,并且随机设置了初始值,解决了这个问题。
11.设计的收获和体会
通过这次EDA的课程设计使我对于QuartusII的了解更加深入。
不仅学到了如何通过VHDL硬件描述语音来实现可编程器件的运用,还学到了如何利用QuartusII的强大的仿真功能验证器件功能的正确性。
但更多的是能够自己动手,这样的实践会比光看书更为有用。
在实践中我们可以发现一般书上可能不会出现的问题,这样问题出现了我们便可以通过自己发掘的途径解决问题,加深我们对这问题的认识,所谓实践出真知。
12.参考文献
(1)陈先朝,硬件描述语言与EDA技术实践指导书,2014年3月
(2)曹昕燕等编著,EDA技术实验与课程设计,清华大学出版社,2006年5月
(3)刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社,2009年4月
(4)刘昌华等编著,数字逻辑EDA设计与实践:
MAX+plusⅡ与QuartusⅡ双剑合璧,国防工业出版社,2009年
(5)刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月