EDA课程设计分析方案书抢答器Word下载.docx
《EDA课程设计分析方案书抢答器Word下载.docx》由会员分享,可在线阅读,更多相关《EDA课程设计分析方案书抢答器Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
![EDA课程设计分析方案书抢答器Word下载.docx](https://file1.bdocx.com/fileroot1/2023-2/1/aadd24d8-c94c-4dbb-9194-05d9656a5973/aadd24d8-c94c-4dbb-9194-05d9656a59731.gif)
经过人工设计、制作实验板、调试再修改的多次循环才定型的传统产品设计方法必然被计算机辅助设计所取代,因为这种费时费力又费资源的设计调试方法既增加了产品开发的成本,又受到实验工作场地及仪器设备的限制。
为了克服上述困难,加拿大InteractiveImageTechnologies公司推出的基于Windows95/98/NT操作系统的EDA软件(ElectronicsWorkbench“电子工作台”,EWB)。
他可以将不同类型的电路组合成混合电路进行仿真。
EWB是用在计算机上作为电子线路设计模拟和仿真的新的软件包,是一个具有很高实用价值的计算机辅助设计工具。
目前已在电子工程设计等领域得到了广泛地应用。
与目前流行的电路仿真软件相比较,EWB具有界面直观、操作方便等优点。
他改变了有些电路仿真软件输入电路采用文本方式的不便之处,该软件在创建电路、选用元器件的测试仪器等均可以直接从屏幕图形中选取,而且测试仪器的图形与实物外形基本相似,从而大大提高了电子设计工作的效率。
此外,从另一角度来看,随着计算机技术和集成电路技术的发展,现代电子与电工设计,已经步入了电子设计自动化(EDA)的时代,采用虚拟仿真的手段对电子产品进行前期工作的调试,已成为一种发展的必然趋势。
通过对实际电子线路的仿真分析,从而提高对电路的分析、设计和创新能力。
第二章抢答器的设计要求
在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。
同时,还可以设置计分、犯规及奖惩计录等多种功能。
本设计的具体要求是:
(1)设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。
(2)电路具有第一抢答信号的鉴别和锁存功能。
(3)系统具有计分电路。
(4)系统具有犯规电路。
系统设计方案:
系统的输入信号有:
各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮可以用如TA、TB表示;
系统的输出信号有:
四个组抢答成功与否的指示灯控制信号输出口可用如LEDA、LEDB、LEDC、LEDD表示,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
整个系统至少有三个主要模块:
抢答鉴别模块;
抢答计时模块;
抢答计分模块,其他功能模块(犯规警告模块,输出显示模块)。
第三章抢答器的设计分析
按照要求,我们可以将整个系统分为四个主要模块:
抢答计分模块;
译码显示模块。
对于需显示的信息,需要增加或外接译码器,进行显示译码。
考虑到实验开发平台提供的输出显示资源的限制,我们将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。
整个系统的大致组成框图如图2.1所示。
图2.1
第四章抢答器的抢答鉴别模块
4.1抢答鉴别模块的功能
抢答队伍共分为四组A,B,C,D。
当主持人按下START键后,四组队伍才可以按抢答键抢答。
抢答成功后表示该组的指示灯见亮起,但在主持人未按下START键之前,所有的抢答键按下均是无效的。
当任意一个组抢答成功后,其余的组按抢答键无效。
抢答键为A,B,C,D四个键。
4.2抢答鉴别模块的源程序
libraryieee。
useieee.std_logic_1164.all。
entityjbis
port(sta:
instd_logic。
rst:
a,b,c,d:
a1,b1,c1,d1:
outstd_logic。
states:
outstd_logic_vector(3downto0)。
start:
outstd_logic)。
endentityjb。
architectureartofjbis
constantw1:
std_logic_vector:
="
0001"
。
constantw2:
0010"
constantw3:
0100"
constantw4:
1000"
signalsinor:
std_logic。
signalnsinor:
signals_start:
begin
sinor<
=aorborcord。
nsinor<
=not(aorborcord)。
start<
=s_start。
process(sta,nsinor)is
begin
if(sta='
1'
)then
s_start<
='
elsif(nsinor'
eventandnsinor='
)then
0'
endif。
endprocess。
process(rst,sta,sinor,nsinor)is
if(rst='
orsta='
ornsinor='
a1<
b1<
c1<
d1<
elsif(sinor'
eventandsinor='
if(s_start='
if(a='
elsif(b='
elsif(c='
elsif(d='
process(sinor)is
states<
0000"
=w1。
=w2。
=w3。
=w4。
endarchitectureart。
4.3抢答鉴别模块的时序仿真图
图4.1
抢答开始后,A组按下抢答键,抢答成功
第五章抢答器的抢答计时模块
5.1抢答计时模块的功能
主持人宣布抢答成功后,按下EN键,选手开始回答,系统开始计时。
TA和TB键选择计时的时间(TA:
9秒,TB:
7秒)
5.2抢答计时模块的源程序
useieee.std_logic_unsigned.all。
entityjsis
port(clr,ldn,en,clk:
ta,tb:
instd_logic。
qa:
qb:
outstd_logic_vector(3downto0))。
endentityjs。
architectureartofjsis
signalda:
std_logic_vector(3downto0)。
signaldb:
begin
process(ta,clr)is
if(clr='
da<
1001"
elsif(ta'
eventandta='
if(ldn='
if(da="
else
=da-1。
process(tb,clr)is
db<
0101"
elsif(tb'
eventandtb='
ifdb="
then
=db-1。
process(clk)is
variabletmpa:
variabletmpb:
tmpa:
tmpb:
elsifclk'
eventandclk='
then
ifen='
=da。
=db。
elsiftmpa="
iftmpb="
=tmpb-1。
=tmpa-1。
qa<
=tmpa。
qb<
=tmpb。
5.3抢答计时模块的时序仿真图
图5.1
按下EN开始答题,回答问题时,选择TA模式计时
第六章抢答器的计分模块
6.1抢答计分模块的功能
主持人确认选手回答正确后,按下ADD键为选手加分。
6.2抢答计分模块的源程序
entityjfis
port(rst:
add:
chose:
instd_logic_vector(3downto0)。
aa2,aa1,aa0,bb2,bb1,bb0:
cc2,cc1,cc0,dd2,dd1,dd0:
endentityjf。
architectureartofjfis
process(rst,add,chose)is
variablea2,a1:
std_logic_vector(3downto0)。
variableb2,b1:
variablec2,c1:
variabled2,d1:
a2:
a1:
b2:
b1:
c2:
c1:
d2:
d1:
elsif(add'
eventandadd='
ifchose="
ifa1="
a1:
ifa2="
=a2+'
=a1+'
elsifchose="
ifb1="
b1:
ifb2="
=b2+'
=b1+'
ifc1="
c1:
ifc2="
=c2+'
=c1+'
ifd1="
d1:
ifd2="
=d2+'
=d1+'
aa2<
=a2。
aa1<
=a1。
aa0<
bb2<
=b2。
bb1<
=b1。
bb0<
cc2<
=c2。
cc1<
=c1。
cc0<
dd2<
=d2。
dd1<
=d1。
dd0<
6.3抢答计分模块的时序仿真图
图6.1
A组回答正确,加分
第七章抢答器的译码显示模块
7.1译码显示模块的功能
译码显示模块用于显示每组选手的分数,计时的的时间等信息。
7.2译码显示模块的源程序
entityymis
port(in4:
out7:
outstd_logic_vector(6downto0))。
endym。
architectureartofymis
process(in4)
casein4is
when"
=>
out7<
0111111"
0000110"
1011011"
0011"
1001111"
1100110"
1101101"
0110"
1111101"
0111"
0000111"
1111111"
1101111"
whenothers=>
0000000"
endcase。
endarchitecture。
7.3译码显示模块的时序仿真图
图7.1
输入0001,输出0000110,在共阴极数码管上显示1
第八章抢答器的其他功能模块
其他功能模块的具体信息
犯规功能模块:
但主持人未按下START键时,若有选手按抢答键,系统报警。
犯规功能模块的源程序:
entityfgis
port(a,b,c,d,start:
y:
outstd_logic)。
endfg。
architecturebhvoffgis
process(a,b,c,d,start)
ifstart='
then
if(aorborcord)='
y<
犯规功能模块的时序仿真图:
图8.1
B组提前抢答,报警铃鸣叫示意
第九章抢答器的顶层原理图设计
9.1顶层原理图的源文件
图9.1
9.2顶层原理图的时序仿真图
图9.2
A组抢答成功,问题回答正确,加分
第十章抢答器的硬件测试
10.1抢答器的引脚绑定
由于硬件条件的限制,只测试抢答鉴别功能的检测。
实验用的芯片为GWAC3EP1C3TC144采用实验电路模式6检测,引脚绑定如下图:
图10.1
ZB接共阴极数码管,A,B,C,D接按键5,6,7,8。
10.2抢答器的测试结果
按下5键,数码管显示1,即A组抢答成功。
第十一章课程设计的总结
本次的EDA课程设计历时三个星期,时间虽短,但通过三个星期的实践,使我对EDA技术有了更进一步的了解。
同时,大致懂得了一个课题制作的具体流程和实施方法。
另外,课程设计对QuartusⅡ软件的使用要求较高,从而使我能较为熟练的运用此软件。
在设计时,采用模块化的设计思路使得问题变的简单明了,大大缩短了时间,降低了发生错误的机侓,也便于修改和更新。
课程设计中,需要找很多资料,在当今的信息化环境中,虽然资料很多,但需要仔细斟酌才能找到所要的。
这次的课程设计很好的锻炼了这种能力。
此外,与同学和老师的交流必不可少,我从中也学到了不少东西。
课程设计是一次很好的锻炼机会,我从中学的很多知识对将来的学习和工作都有很大的帮助,十分感谢学校能提供这样一个机会。
【1】EDA技术与VHDL(第2版)潘松黄继业编著清华大学出版社.2007
【2】EDA技术实验与课程设计曹昕燕周凤臣聂春燕编著清华大学出版社.2006
【3】杭州康芯电子有限公司GW48-PK3实验系统说明书.杭州康芯电子有限公司.2006
版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理。
版权为潘宏亮个人所有
Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'
spersonalownership.
用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。
Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commer