七人表决器课程设计报告综述.docx

上传人:b****3 文档编号:4465590 上传时间:2022-12-01 格式:DOCX 页数:10 大小:240.86KB
下载 相关 举报
七人表决器课程设计报告综述.docx_第1页
第1页 / 共10页
七人表决器课程设计报告综述.docx_第2页
第2页 / 共10页
七人表决器课程设计报告综述.docx_第3页
第3页 / 共10页
七人表决器课程设计报告综述.docx_第4页
第4页 / 共10页
七人表决器课程设计报告综述.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

七人表决器课程设计报告综述.docx

《七人表决器课程设计报告综述.docx》由会员分享,可在线阅读,更多相关《七人表决器课程设计报告综述.docx(10页珍藏版)》请在冰豆网上搜索。

七人表决器课程设计报告综述.docx

七人表决器课程设计报告综述

课程设计

课程名称硬件描述语言与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月

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1