EDA课程设计竞赛抢答器的设计安农经.docx
《EDA课程设计竞赛抢答器的设计安农经.docx》由会员分享,可在线阅读,更多相关《EDA课程设计竞赛抢答器的设计安农经.docx(12页珍藏版)》请在冰豆网上搜索。
EDA课程设计竞赛抢答器的设计安农经
EDA课程设计报告
课程名称:
EDA技术与VHDL课程设计
题目:
智力抢答器的设计
学生姓名:
学号:
专业年纪:
12级电气工程
指导老师:
龙凤兰
目录
第1章抢答器····································
1.1抢答器的简单介绍·····························
1.2抢答器设计目的·······························
第2章总体设计及思路·····························
2.1抢答器的设计要求·····························
2.2抢答器的设计方案······························
第3章电路设计模块·······························
3.1三个模块·····································
3.2抢答鉴别模块的设计与实现·····················
3.3抢答计分模块的设计与实现·····················
3.4抢答计时模块的设计与实现·····················
3.5智力抢答器的顶层文件·························
第4章系统源程序·································
4.1QDJB源程序··································
4.2JFQ源程序····································
4.3JSQ源程序····································
第5章顶层原理设计图······························
5.1系统原理图··································
5.2实验步骤······································
第6章课程总结···································
第1章抢答器
1.1抢答器的简单介绍
竞赛、文体娱乐活动中,能准确、公正、直观的判断出抢答者的机器。
通过抢答者的指示灯显示、数码显示和警示显示等手段指示出第一抢答者。
同时,还可以设置计分、犯规及奖惩记录等多种功能。
1.2抢答器设计目的
培养利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,积累实际的EDA编程。
通过本课程设计的学习,复习所学的专业知识,使课堂上学习的理论知识应用于实践。
培养综合运用已学知识解决实际工程技术问题的能力,查阅图书资料和各种工具书的能力、工程绘图能力、撰写技术报告和编制技术资料的能力,接受一次电子设计自动化方面的基本训练。
第2章总体设计及思路
2.1抢答器的设计要求
(1)设计制作一个课可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。
(2)电路具有第一抢答信号的鉴别和锁存功能。
在主持人将系统复位并发出抢答指令后,若参加者按抢答开关,则该组指示灯亮并用组别显示电路显示抢答者的组别。
此时,电路具备自锁功能,使别组的抢答开关不起作用。
(3)设置计分电路。
每组用一个数码管显示,开始时预置为0分,答对一次加1分。
(4)具有答题倒计时功能。
复位后预置60秒,抢答者开始回答问题时开始倒计时,用两个数码管显示。
2.2抢答器的设计方案
根据系统设计要求可知,系统的输入信号由:
各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮ADD,计时预置控制端LDN,计时使能端EN。
系统的输出信号有:
四个抢答成功与否的指示灯控制信号输出口LEDA、LEDB、LEDC、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
第3章电路设计模块
3.1三个模块
根据以上分析,我们可以将整个系统分为三个主要模块:
抢答鉴别模块QDJB、抢答计时模块JSQ及抢答计分模块JFQ。
对于需显示的信息,要增加或外接译码器进行显示译码。
考虑到FPGA/CPLD的可用接口及一般EDA实验开发系统的输出显示资源的限制,这里将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。
3.2抢答鉴别模块的设计与实现
各组的抢答输入信号A、B、C、D的排列组合在理论上应该有16中可能情况,但实际上由于芯片的反应速度快到一定程度时,两组以上同时抢答成功的可能性很小,所以设计时只考虑A、B、C、D分别抢答成功的四种案例。
3.3抢答计分模块的设计与实现
抢答计分电路的设计一般按一定数制进行加减即可,但随着计数数目的增加,要将计数数目分解成十进制并进行译码显示会变得较为复杂。
为了避免该种情况,通常是将一个大的进制数分解为数个十进制以内的进制数,并将计数器级连。
但随着数位的增加,电路的接口也会相应的增加。
因此,本设计采用IF语句从低往高判断是否有进位,以采取相应的操作,既减少了接口,又简化了设计。
3.4抢答计时模块的设计与实现
本系统的计时器电路既有计时初始值的预置功能,又有减计数功能。
其中,初始值的预置功能是将两位数分解成两个数分别进行预置。
3.5智力抢答器的顶层文件
智力抢答器系统的工作原理如下:
当主持人按下使能端EN时,抢答器开始工作,A、B、C、D四位抢答者谁最先抢答成功则此选手的台号灯(LEDA、LEDB、LEDC、LEDD)将被点亮,并且主持人前的组别显示数码管将显示出抢答成功者的台号;接下来主持人提问,若回答正确,主持人按加分按钮ADD,抢答计分模块将给对应组别加分,并将该组别的总分显示在对应的选手计分数码管JF2_A~JF0_A、JF2_B~JF0_B、JF2_C~JF0_C、JF2_D~JF0_D上。
在此过程中,主持人可以采用计时手段,打开计时器使计时预置控制端LDN有效,输入限制时间,使计时使能端EN有效,开始计时。
完成一轮后,主持人清零,重新开始抢答。
第4章系统的源程序
VHDL源程序
4.1抢答鉴别模块QDJB
:
对应元件;
4.2抢答计分模块JFQ
对应元件:
4.3抢答计时模块JSQ
对应元件:
第5章顶层设计原理图
5.1系统原理图
工作原理:
当主持人按下使能端EN时,抢答器开始工作,A、B、C、D四位抢答者谁先抢成功此人的台号灯(LEDA~LEDD)将被点亮,接下来主持人开始提问,回答正确,主持人按下ADD按钮,抢答计分模块给相应的组别计分,完成一轮抢答后主持人清零,重新开始抢答。
5.2实验步骤
一、打开quartusⅡ软件,新建VHDLFILE,将QDJB、JFQ、JSQ程序分别输入,保存至相应的文件夹中,进行启动编译:
菜单Processing→StartCompilation,保证没有错误出现,将程序编译成符号;
二、新建一个Blockdiagram/SchematicFile,将程序编译的符号按照实验参考书上连接起来,连接完成以后进行保存和编译;
三、引脚锁定:
打开编辑器(菜单Assignments→AssignmentEditor),根据电路的逻辑功能选择实验模式电路图五:
根据实验模式电路图和芯片引脚(附录一)对照表设置各引脚,保存后进行编译。
4、下载文件:
连接实验箱并口下载线,打开实验箱电源,实验箱设置:
打开下载控制开关;跳线JP5选择Others;并口线连接ByteBlasterMV接口和JTAG编程口。
打开编程器(菜单Tools→Programmer)设置编程器(按钮HardwareSetup→选择ByteBlaster)下载.sof文件(按钮Start)
5、硬件测试
CLK选择1Hz引脚
第6章课程总结
6.1心得体会
经过两周时间的EDA课程设计,我收获很多。
它不仅增进了我对EDA课程设计的了解,更让我熟悉了从开始的论证分析到软件程序的调试、仿真,再到下载程序、调试硬件、实现产品功能这一设计流程。
抢答器的设计中包含了三个模块,当每个子模块经过不断的编写、调试成功时,心里都特别的高兴。
存盘检查通过只说明不存在语法错误,还要仿真验证其逻辑功能。
尤其是在写抢答鉴别模块的程序时,抢答者的编号不能被锁存,更改了很多次才实现它的锁存功能。
程序仿真通过并不代表它被下载到芯片中以后,在硬件电路中就一定会理所当然的实现功能。
它需要你真正的动手去连接硬件电路,调试硬件电路。
只有自己实际动手操作才会理解的更深刻,操作的过程中可能会遇到你不曾想到的问题,自己动手检查解决问题后,你收获的是不同于通过理论解决问题的另一种理解。
所以说实践不仅仅是运用理论,更是巩固和升华理论的一种途径。
总的来说,这次课程设计还是比较成功的,在设计中遇到的困难在老师和全组同学的努力下也都迎刃而解。
觉得平时所学的知识有了实际价值,达到了理论与实践结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使我对以后的道路有了更清晰的认识,对未来也有了更多的信心。
6.2参考文献及附录:
【1】潘松,黄继业,潘明,EDA技术实用教程,第4版,北京:
科学出版社,2010
【2】詹仙宁,田耘。
VHDL开放精解与实例剖析。
北京:
电子工业出版社,2009
【3】潘松,王国栋。
VHDL实用教程(修订版)。
成都:
成都电子科技大学出版社,2001
附录一GW48EDA系统实验电路结构图信号名与芯片引脚对照表
结构图上的信号名
EP1K100QC208
EP20K200/300EQC240
EP1K30/20/50TQC144
EP1C3T144
引脚号
引脚名称
引脚号
引脚名称
引脚号
引脚名称
引脚号
引脚名称
PIO0
7
I/O
224
I/O0
8
I/O0
1
I/O0
PIO1
8
I/O
225
I/O1
9
I/O1
2
I/O1
PIO2
9
I/O
226
I/O2
10
I/O2
3
I/O2
PIO3
11
I/O
231
I/O3
12
I/O3
4
I/O3
PIO4
12
I/O
230
I/O4
13
I/O4
5
I/O4
PIO5
13
I/O
232
I/O5
17
I/O5
6
I/O5
PIO6
14
I/O
233
I/O6
18
I/O6
7
I/O6
PIO7
15
I/O
234
I/O7
19
I/O7
10
I/O7
PIO8
17
I/O
235
I/O8
20
I/O8
11
DPCLK1
PIO9
18
I/O
236
I/O9
21
I/O9
32
VREF2B1
PIO10
24
I/O
237
I/O10
22
I/O10
33
I/O10
PIO11
25
I/O
238
I/O11
23
I/O11
34
I/O11
PIO12
26
I/O
239
I/O12
26
I/O12
35
I/O12
PIO13
27
I/O
2
I/O13
27
I/O13
36
I/O13
PIO14
28
I/O
3
I/O14
28
I/O14
37
I/O14
PIO15
29
I/O
4
I/O15
29
I/O15
38
I/O15
PIO16
30
I/O
7
I/O16
30
I/O16
39
I/O16
PIO17
31
I/O
8
I/O17
31
I/O17
40
I/O17
PIO18
36
I/O
9
I/O18
32
I/O18
41
I/O18
PIO19
37
I/O
10
I/O19
33
I/O19
42
I/O19
PIO20
38
I/O
11
I/O20
36
I/O20
47
I/O20
PIO21
39
I/O
13
I/O21
37
I/O21
48
I/O21
PIO22
40
I/O
16
I/O22
38
I/O22
49
I/O22
PIO23
41
I/O
17
I/O23
39
I/O23
50
I/O23
PIO24
44
I/O
18
I/O24
41
I/O24
51
I/O24
PIO25
45
I/O
20
I/O25
42
I/O25
52
I/O25
PIO26
113
I/O
131
I/O26
65
I/O26
67
I/O26
PIO27
114
I/O
133
I/O27
67
I/O27
68
I/O27
PIO28
115
I/O
134
I/O28
68
I/O28
69
I/O28
PIO29
116
I/O
135
I/O29
69
I/O29
70
I/O29
PIO30
119
I/O
136
I/O30
70
I/O30
71
I/O30
PIO31
120
I/O
138
I/O31
72
I/O31
72
I/O31
PIO32
121
I/O
143
I/O32
73
I/O32
73
I/O32
PIO33
122
I/O
156
I/O33
78
I/O33
74
I/O33
PIO34
125
I/O
157
I/O34
79
I/O34
75
I/O34
PIO35
126
I/O
160
I/O35
80
I/O35
76
I/O35
PIO36
127
I/O
161
I/O36
81
I/O36
77
I/O36
PIO37
128
I/O
163
I/O37
82
I/O37
78
I/O37
PIO38
131
I/O
164
I/O38
83
I/O38
83
I/O38
PIO39
132
I/O
166
I/O39
86
I/O39
84
I/O39
PIO40
133
I/O
169
I/O40
87
I/O40
85
I/O40
PIO41
134
I/O
170
I/O41
88
I/O41
96
I/O41
PIO42
135
I/O
171
I/O42
89
I/O42
97
I/O42
PIO43
136
I/O
172
I/O43
90
I/O43
98
I/O43
PIO44
139
I/O
173
I/O44
91
I/O44
99
I/O44
PIO45
140
I/O
174
I/O45
92
I/O45
103
I/O45
PIO46
141
I/O
178
I/O46
95
I/O46
105
I/O46
PIO47
142
I/O
180
I/O47
96
I/O47
106
I/O47
PIO48
143
I/O
182
I/O48
97
I/O48
107
I/O48
PIO49
144
I/O
183
I/O49
98
I/O49
108
I/O49
PIO60
202
I/O
223
I/O60
137
I/O60
131
I/O60
PIO61
203
I/O
222
I/O61
138
I/O61
132
I/O61
PIO62
204
I/O
221
I/O62
140
I/O62
133
I/O62
PIO63
205
I/O
220
I/O63
141
I/O63
134
I/O63
PIO64
206
I/O
219
I/O64
142
I/O64
139
I/O64
PIO65
207
I/O
217
I/O65
143
I/O65
140
I/O65
PIO66
208
I/O
216
I/O66
144
I/O66
141
I/O66
PIO67
10
I/O
215
I/O67
7
I/O67
142
I/O67
PIO68
99
I/O
197
I/O68
119
I/O68
122
I/O68
PIO69
100
I/O
198
I/O69
118
I/O69
121
I/O69
PIO70
101
I/O
200
I/O70
117
I/O70
120
I/O70
PIO71
102
I/O
201
I/O71
116
I/O71
119
I/O71
PIO72
103
I/O
202
I/O72
114
I/O72
114
I/O72
PIO73
104
I/O
203
I/O73
113
I/O73
113
I/O73
PIO74
111
I/O
204
I/O74
112
I/O74
112
I/O74
PIO75
112
I/O
205
I/O75
111
I/O75
111
I/O75
PIO76
16
I/O
212
I/O76
11
I/O76
143
I/O76
PIO77
19
I/O
209
I/O77
14
I/O77
144
I/O77
PIO78
147
I/O
206
I/O78
110
I/O78
110
I/O78
PIO79
149
I/O
207
I/O79
109
I/O79
109
I/O79
SPKER
148
I/O
184
I/O
99
I/O50
129
I/O
CLK0
182
I/O
185
I/O
126
INPUT1
93
I/O
CLK2
184
I/O
181
I/O
54
INPUT3
17
I/O
CLK5
78
I/O
151
CLKIN
56
I/O53
16
I/O
CLK9
80
I/O
154
CLKIN
124
GCLOK2
92
I/O