数字式竞赛抢答器设计文档格式.docx
- 文档编号:19015481
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:13
- 大小:346.85KB
数字式竞赛抢答器设计文档格式.docx
《数字式竞赛抢答器设计文档格式.docx》由会员分享,可在线阅读,更多相关《数字式竞赛抢答器设计文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
选题二数字式竞赛抢答器设计
1.可容纳四组参赛者进行抢答,每组设置一个抢答按钮供抢答者使用。
2.电路具有第一抢答信号的鉴别和锁存功能。
在主持人交系统复位并发出抢答指令后,若有一组先按下抢答开关,可判断第一抢答者并报警指示抢答成功,其他组抢答均无效。
3.具有计分功能,抢答后由主持人计分,答对一次加1分,答错不加分。
二、设计方案的论证。
我们可将整个系统分为三个主要模块:
抢鉴别模块;
抢答计分模块;
译码器.对于需显示的信息,需增加或外接译码器,进行显示译码。
考虑到FPGA、CPLD的可用接口及一般EDA实验开发系统的输出显示资源的限制,这里我们将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。
三、设计仿真及结果分析
方案一五人多数表决器:
仿真波形
复位时的模拟结果
规定时间外的结果
表决通过的波形
1.抢答鉴别
2.计分器
3.译码器
4.总体实现
.系统的输入信号有:
各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;
.系统的输出信号有:
四个组抢答成功与否的指示灯控制信号输出口LED_A、LES_B、LED_C、LED_D,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
.本系统应具有的功能有:
第一抢答信号的鉴别和锁存功能;
抢答计时功能;
各组得分的累加和动态显示功能。
四、在设计及仿真中的体会
我选择的课题为数字式四路竞赛抢答器,根据电路的特点,采用层次化结构化设计,将此项设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,然后再将各模块合起来调试。
在设计的过程中,遇到问题我们先独立思考,查找资料。
到自己不能解决的时候就和其他同学研究讨论,向指导老师请教。
这样既提高了独立发现问题、分析问题、解决问题的能力,又很好地培养了交流合作的精神。
虽然在程序的编写方面还不是很完善,我们还是设计出了我们需要的模块。
此次实习前我们对于数字电子技术这门课程的学习仅是纸上谈兵,在头脑中抽象地记忆理解那些课本上的理论知识,有些理论知识晦涩难懂,甚至要靠自己死记硬背。
而这次的实习就提供机会让我们在实践中灵活运用知识。
在设计过程中,由于对于VHDL语言的了解不多,在变量的定义,以及过程(process)的定义与应用等方面遇到了很大的阻力,也让我吃了不少的苦头,但是在大家齐心协力,以及在老师的耐心指导下,最终还是克服了重重难关。
虽然在程序的编写方面还不是很完善,还是设计出了需要的模块。
在这次设计中,应该说从功能的实现到流程图的绘制,从程序的编写到程序的检查,从程序的调试到实验报告的写作,其间每一个过程都凝聚着辛苦和汗水。
五、对本次课程设计的体会和建议
编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。
所以认真仔细就是非常重要的了。
开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。
经过两星期的EDA实习,成功地设计出了数字式四路竞赛抢答器。
回首这两周,虽然因为初次涉及EDA技术及MAX_PLUSⅡ软件,对相关知识知之甚少,也遇到了很多困难,但是在这次实习的过程中都受益匪浅。
在这次课程设计的前期,先系统地学习了EDA工程概论,VHDL描述语言和设计应用方面的基础知识,使得后期能够较熟练地使用MAX_PLUSⅡ软件进行设计开发,用原理图输入及VHDL语言等设计输入并编译仿真,同时对以往学过的理论知识有了更加透彻的理解。
六、参考文献
[1]候伯亨,刘凯,VHDL硬件描述语言与数字逻辑电路设计;
西安:
电子科技大学出版社
[2]曾繁泰,陈美金, VHDL程序设计, 北京:
清华大学出版社
[3]谭会生,张昌凡, EDA技术及应用,西安:
西安电子科技大学出版社
[4]李国丽,朱维勇. EDA与数字系统设计, 北京:
机械工业出版社
附录一:
选题一五人多数表决器
LIBRARYIEEE;
useieee.std_logic_1164.all;
useieee.std_logic_ARITH.all;
useieee.std_logic_UNSIGNED.all;
ENTITYBIAOJUEis
PORT(FF:
INSTD_LOGIC_VECTOR(1TO5);
QQ:
OUTBIT;
QALL:
OUTSTD_LOGIC_VECTOR(3DOWNTO1);
SHIJIAN:
BUFFERSTD_LOGIC_VECTOR(3DOWNTO0);
FUWEI,KAISHI,CLK:
INSTD_LOGIC);
ENDBIAOJUE;
ARCHITECTUREFUNGofBIAOJUEis
BEGIN
PROCESS(FF,CLK,KAISHI,FUWEI)
VARIABLESUO:
BOOLEAN;
VARIABLESUM:
STD_LOGIC_VECTOR(1TO3);
BEGIN
IF(FUWEI='
0'
)THEN
QQ<
='
;
SUM:
="
000"
QALL<
ELSIF(CLK'
EVENTANDCLK='
1'
)THEN
IF(KAISHI='
SUO:
=FALSE;
IF(NOTSUO)THEN
SHIJIAN<
1010"
IFSHIJIAN<
0000"
THEN
=TRUE;
FORNIN1TO5LOOP
=FF(N)+SUM;
ENDLOOP;
ELSE
=SHIJIAN-1;
ENDIF;
QALL<
=SUM;
IF(SUM>
=3)THEN
QQ<
ELSEQQ<
ENDPROCESS;
ENDFUNG;
附录二
libraryieee;
useieee.std_logic_unsigned.all;
entityfouris
port(CLK1,EN1,KAISHI:
instd_logic;
A,B,C,D:
---------QDJB
A1,B1,C1,D1,RING:
outstd_logic;
STATES:
outstd_logic_vector(3DOWNTO0);
RST1:
INSTD_LOGIC;
ADD:
CHOS:
INSTD_LOGIC_VECTOR(3DOWNTO0);
------JFQ
AA2,AA1,AA0,BB2,BB1,BB0:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
CC2,CC1,CC0,DD2,DD1,DD0:
AIN4:
DOUT7:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
--------YMQ
endentityfour;
architectureoneoffouris
signalsinor,ringf,tmp,two:
std_logic;
---------QDJB.VHD
signalcnt:
std_logic_vector(5DOWNTO0);
-----------------------------------------------
begin
sinor<
=(AXORB)XOR(CXORD);
--------QDJB.VHD
two<
=AandB;
p1:
process(A,B,C,D,KAISHI,tmp)
ifKAISHI='
then
tmp<
STATES<
elsiftmp='
then
if(A='
ANDB='
ANDC='
ANDD='
)then
A1<
B1<
C1<
D1<
STATES<
0001"
ELSIF(A='
0010"
tmp<
0011"
ELSIF(A='
A1<
0100"
elsetmp<
endif;
endif;
endprocessp1;
p2:
process(CLK1,EN1,KAISHI,cnt)
begin
cnt<
000000"
ringf<
elsifCLK1'
eventandCLK1='
ifEN1='
andsinor='
iftwo='
ifcnt<
111111"
=notringf;
cnt<
=cnt+1;
elseringf<
endprocessp2;
RING<
=ringf;
-------------------------------------------------------------------
PROCESS(RST1,ADD,CHOS)IS--------JFQ
VARIABLEPOINTS_A2,POINTS_A1,POINTS_A0:
STD_LOGIC_VECTOR(3DOWNTO0);
VARIABLEPOINTS_B2,POINTS_B1,POINTS_B0:
VARIABLEPOINTS_C2,POINTS_C1,POINTS_C0:
VARIABLEPOINTS_D2,POINTS_D1,POINTS_D0:
IF(ADD'
EVENTANDADD='
IFRST1='
POINTS_A2:
POINTS_A1:
POINTS_A0:
POINTS_B2:
POINTS_B1:
POINTS_B0:
POINTS_C2:
POINTS_C1:
POINTS_C0:
POINTS_D2:
POINTS_D1:
POINTS_D0:
ELSIFCHOS="
IFPOINTS_A0="
1001"
IFPOINTS_A1="
IFPOINTS_A2="
=POINTS_A2+'
ENDIF;
ELSE
=POINTS_A1+'
=POINTS_A0+'
IFPOINTS_B0="
IFPOINTS_B1="
IFPOINTS_B2="
=POINTS_B2+'
=POINTS_B1+'
=POINTS_B0+'
IFPOINTS_C0="
IFPOINTS_C1="
IFPOINTS_C2="
=POINTS_C2+'
=POINTS_C1+'
=POINTS_C0+'
IFPOINTS_D0="
IFPOINTS_D1="
POINTS_D1:
IFPOINTS_D2="
ELSE
POINTS_D2:
=POINTS_D2+'
=POINTS_D1+'
POINTS_D0:
=POINTS_D0+'
AA2<
=POINTS_A2;
AA1<
=POINTS_A1;
AA0<
=POINTS_A0;
BB2<
=POINTS_B2;
BB1<
=POINTS_B1;
BB0<
=POINTS_B0;
CC2<
=POINTS_C2;
CC1<
=POINTS_C1;
CC0<
=POINTS_C0;
DD2<
=POINTS_D2;
DD1<
=POINTS_D1;
DD0<
=POINTS_D0;
ENDPROCESS;
---------------------------------------------------------------------
PROCESS(AIN4)
BEGIN--------YMQ
CASEAIN4IS
WHEN"
=>
DOUT7<
0111111"
--0
0000110"
--1
1011011"
--2
1001111"
--3
1100110"
--4
0101"
1101101"
--5
0110"
1111101"
--6
0111"
0000111"
--7
1000"
1111111"
--8
1101111"
--9
WHENOTHERS=>
0000000"
ENDCASE;
endone;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字式 竞赛 抢答 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)