FPGA智力抢答器设计Word文档格式.docx
- 文档编号:1556315
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:14
- 大小:614.67KB
FPGA智力抢答器设计Word文档格式.docx
《FPGA智力抢答器设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《FPGA智力抢答器设计Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。
如果再次抢答必须由主持人再次操作“清除”和“开始”状态开关。
三、主要VHDL源程序与系统模块
1.抢答鉴别电路QDJB的VHDL源程序和模块
--QDJB.VHDL
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYQDJBIS
PORT(CLR:
INSTD_LOGIC;
A,B,C,D:
A1,B1,C1,D1:
OUTSTD_LOGIC;
STATES:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDENTITYQDJB;
ARCHITECTUREARTOFQDJBIS
CONSTANTW1:
STD_LOGIC_VECTOR:
="
0001"
;
CONSTANTW2:
0010"
CONSTANTW3:
0100"
CONSTANTW4:
1000"
BEGIN
PROCESS(CLR,A,B,C,D)IS
IFCLR='
1'
THENSTATES<
="
0000"
ELSIF(A='
ANDB='
0'
ANDC='
ANDD='
)THEN
A1<
='
B1<
C1<
D1<
STATES<
=W1;
=W2;
=W3;
=W4;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREART;
图2抢答鉴别电路的模块
2.计分器电路JFQ的VHDL源程序
--JFQ.VHD
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYJFQIS
PORT(RST:
ADD:
CHOS:
INSTD_LOGIC_VECTOR(3DOWNTO0);
AA2,AA1,AA0,BB2,BB1,BB0:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
CC2,CC1,CC0,DD2,DD1,DD0:
ENDENTITYJFQ;
ARCHITECTUREARTOFJFQIS
PROCESS(RST,ADD,CHOS)IS
VARIABLEPOINTS_A2,POINTS_A1:
STD_LOGIC_VECTOR(3DOWNTO0);
VARIABLEPOINTS_B2,POINTS_B1:
VARIABLEPOINTS_C2,POINTS_C1:
VARIABLEPOINTS_D2,POINTS_D1:
BEGIN
IF(ADD'
EVENTANDADD='
IFRST='
THEN
POINTS_A2:
POINTS_A1:
POINTS_B2:
POINTS_B1:
POINTS_C2:
POINTS_C1:
POINTS_D2:
POINTS_D1:
ELSIFCHOS="
IFPOINTS_A1="
1001"
IFPOINTS_A2="
ELSE
=POINTS_A2+'
ELSE
=POINTS_A1+'
IFPOINTS_B1="
IFPOINTS_B2="
=POINTS_B2+'
=POINTS_B1+'
ELSIFCHOS="
IFPOINTS_C1="
IFPOINTS_C2="
=POINTS_C2+'
=POINTS_C1+'
IFPOINTS_D1="
IFPOINTS_D2="
=POINTS_D2+'
=POINTS_D1+'
ENDIF;
AA2<
=POINTS_A2;
AA1<
=POINTS_A1;
AA0<
BB2<
=POINTS_B2;
BB1<
=POINTS_B1;
BB0<
CC2<
=POINTS_C2;
CC1<
=POINTS_C1;
CC0<
DD2<
=POINTS_D2;
DD1<
=POINTS_D1;
DD0<
图3计分器电路JFQ的模块
3.计时器电路JSQ的VHDL源程序
--JSQ.VHD
ENTITYJSQIS
PORT(CLR,LDN,EN,CLK:
TA,TB:
QA:
QB:
ENDENTITYJSQ;
ARCHITECTUREARTOFJSQIS
SIGNALDA:
SIGNALDB:
PROCESS(TA,TB,CLR)IS
IFCLR='
DA<
DB<
IFTA='
=DA+'
;
IFTB='
=DB+'
PROCESS(CLK)IS
VARIABLETMPA:
VARIABLETMPB:
THENTMPA:
TMPB:
0110"
ELSIFCLK'
EVENTANDCLK='
IFLDN='
=DA;
=DB;
ELSIFEN='
IFTMPA="
TMPA:
IFTMPB="
THENTMPB:
ELSETMPB:
=TMPB-1;
ELSETMPA:
=TMPA-1;
QA<
=TMPA;
QB<
=TMPB;
图4计时器电路JSQ的模块
4.译码器电路YMQ的VHDL源程序
--YMQ.VHD
ENTITYYMQIS
PORT(AIN4:
DOUT7:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDYMQ;
ARCHITECTUREARTOFYMQIS
PROCESS(AIN4)
CASEAIN4IS
WHEN"
=>
DOUT7<
0111111"
--0
0000110"
--1
1011011"
--2
0011"
1001111"
--3
1100110"
--4
0101"
1101101"
--5
1111101"
--6
WHEN"
0111"
0000111"
--7
1111111"
--8
1101111"
--9
WHENOTHERS=>
0000000"
ENDCASE;
图5译码器电路YMQ的模块
5.智力抢答器在CYCLONE中所用的框图
图6智力抢答器在设计中所用的框图
注:
图中的引脚号是本次在CYCLONE的EP1C12Q240C8中所用的引脚接口
四、4路抢答器总电路图及系统仿真
1总电路图
(2)系统仿真
抢答鉴别电路仿真图
计分器电路仿真图
计时器电路仿真图
译码器电路仿真图
五、设计技巧分析
1.在抢答鉴别电路设计中,A、B、C、D四组抢答,理论上应该有16种可能情况,但实际上由于芯片反应速度快到一定程度时,两组以上同时抢答成功的可能性非常不,因此我们可设计成只有四种情况,这大大简化了电路的设计复杂性。
2.在计分器电路的设计中,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显示分变得越来越麻烦。
因此为了减少译码显示的麻烦,一般是将一个大的进制数分解成数个十进制以内的时制数,计数器串级连接。
但随着位数的增加,电路的接口增加因此本设计采用IF语句从低往高判断是否有进位,以采取相应的操作,既减少了接口,又大大地简化了设计。
3.本系统中的计时器电路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。
其中初始值的预置功能是将两位数分解成两个数分别进行预置,每个数的预置则采用高电平计数的方式进行。
减计数的功能与上述的加法计数类似,非常简洁。
六、参考文献
[1]赵淑范王宪伟,电子技术实验与课程设计
[2]高吉祥,电子技术基础实验与课程设计.电子工业出版社
[3]吕思忠,数子电路实验与课程设计.哈尔滨工业大学出版社
[4]郑家龙,《集成电子技术基础教程》北京:
高等教育出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 智力 抢答 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)