SOPCEDA综合课程设计报告 智力抢答器_第1页
SOPCEDA综合课程设计报告 智力抢答器_第2页
SOPCEDA综合课程设计报告 智力抢答器_第3页
SOPCEDA综合课程设计报告 智力抢答器_第4页
SOPCEDA综合课程设计报告 智力抢答器_第5页
已阅读5页,还剩15页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江西理工大学应用科学学院EDA课程设计PAGEPAGE1江西理工大学应用科学学院SOPC/EDA综合课程设计报告设计题目:智力抢答器设计者:学号:班级:指导老师:完成时间:设计报告综合测试总评格式(10)内容(40)图表(10)答辩(20)平时(20)目录HYPERLINK\s"1,1185,1198,1,,第一章

智能抢答器的设计

"第一章智力抢答器的设计方案分析…3HYPERLINK\s"1,1260,1277,0,,第一节、基于VHDL的智能抢答器

"第一节基于VHDL的智能抢答器………………3HYPERLINK\s"1,1349,1362,0,,1.1.1设计目的及要求

"1.1.1设计目的及要求……………3HYPERLINK\s"1,2369,2383,0,,1.1.2设计分析与设计思路"1.1.2设计分析与设计思路……………….4HYPERLINK\s"1,2743,2760,2,,第二章

抢答器各模块的原理及介绍

"第二章抢答器各模块的原理及介绍………5HYPERLINK\s"1,2830,2843,0,,第一节、系统的框图及介绍

"第一节系统的框图及介绍……………………..5HYPERLINK\s"1,2914,2929,0,,2.1.1结构框图及系统框图

"2.1.1结构框图及系统框图……………5HYPERLINK\s"1,3098,3108,94,,第二节、模块的介绍

"第二节模块的介绍………………5HYPERLINK\s"1,3171,3187,0,,2.2.1抢答鉴别模块QDJB

"2.2.1抢答鉴别模块QDJB……………5HYPERLINK\s"1,3369,3382,94,,2.2.2计时模块JSQ

"2.2.2计时模块JSQ……………………6HYPERLINK\s"1,3628,3641,0,,2.2.3记分模块JFQ

"2.2.3记分模块JFQ……………………62.2.4译码器显示模块YMQ…………..7HYPERLINK\s"1,4129,4140,0,,第三节、系统的源程序

"第三节抢答器的VHDL源程序…………..…..8HYPERLINK\s"1,4205,4218,0,,2.3.1VHDL源程序

"2.3.1各模块的VHDL源程序…..…...…………………8一、抢答鉴别模块QDJB的VHDL源程序……8二、计时模块JSQ的VHDL源程序………………….9三、记分模块JFQ的VHDL源程序………………...10四、译码显示模块YMQ的VHDL源程序…………12五、顶层原理图文件………………….14HYPERLINK\s"1,9739,9748,3,,第三章、仿真波形

"第三章仿真波形…………..…15HYPERLINK\s"1,9808,9817,0,,第一节仿真波形

"第一节仿真波形…………………15HYPERLINK\s"1,9882,9898,0,,3.1.1抢答鉴别模块QDJB

"3.1.1抢答鉴别模块QDJB………….15HYPERLINK\s"1,10051,10064,0,,3.1.2计时模块JSQ

"3.1.2计时模块JSQ…………………15HYPERLINK\s"1,10226,10239,0,,3.1.3记分模块JFQ

"3.1.3记分模块JFQ…………………16HYPERLINK\s"1,10302,10318,0,,3.1.4译码显示模块YMQ

"3.1.4译码显示模块YMQ…….16HYPERLINK\s"1,10694,10703,0,,第四章、实习总结

"第四章附录……..………………..…18HYPERLINK\s"1,10770,10778,0,,4.1实习总结

"4.1结束语….…………18HYPERLINK\s"1,11293,11301,94,,4.2参考文献

"4.2参考文献………….194.3共阴极七段数码管……………….20第一章智力抢答器的设计方案分析第一节、基于VHDL的智能抢答器1.1.1设计目的及要求EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA设计可分为系统级、电路级和物理实现级。对于迅猛发展的EDA技术的综合应用,从EDA技术的综合应用系统的深度来分,可分为3个层次:①功能电路模块的设计;②算法实现电路模块的设计;③片上系统/嵌入式系统/现代DSP系统的设计。

从EDA技术的综合应用系统的最终主要硬件构成来分,已出现6种形式:

①CPLD/FPGA系统;②"CPLD/FPGA+MCU"系统;③"CPLD/FPGA+专用DSP处理器"系统;④基于FPGA实现的现代DSP系统;⑤基于FPGA实现的SOC片上系统;⑥基于FPGA实现的嵌入式系统。

从EDA技术的综合应用系统的完善层次来分,可分为3个层次:①"EDA综合系统"主体电路的设计、仿真及硬件验证;②"EDA综合系统"主体电路的设计、仿真、硬件验证+系统外围电路PCB的设计与制作;③"EDA综合系统"主体电路的设计、仿真、硬件验证+系统整体电路PCB的设计与制作及系统的组装、调试。在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。同时,还可以设置计分、犯规及奖惩计录等多种功能。本设计的具体要求是:(1)设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。(2)电路具有第一抢答信号的鉴别和锁存功能。(3)设置计分电路。(4)设置犯规电路。1.1.2设计分析与设计思路:根据系统设计要求可知,系统的输入信号有:各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口LEDA、LESB、LEDC、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。本系统应具有的功能有:第一抢答信号的鉴别和锁存功能;抢答计时功能;各组得分的累加和动态显示功能;抢答犯规记录功能。第二章抢答器各模块的原理及介绍第一节、系统的框图及介绍2.1.1结构框图及系统框图图2.1抢答器系统及结构框图原理分析:将电路分为三个主要模块:抢答鉴别模块QDJB;计时模块JSQ;记分模块JFQ。可用静态显示,使用4个数码管,两个显示计时,一个显示组别,一个显示分数。第二节、模块的介绍2.2.1抢答鉴别模块QDJB图2.2QDJB在抢答鉴别电路设计中,A、B、C、D四组抢答,理论上应该有16种可能情况,但实际上由于芯片反应速度快到一定程度时,两组以上同时抢答成功的可能性非常小,因此我们可设计成只有四种情况,这大大简化了电路的设计复杂性。2.2.2计时模块JSQ图2.3JSQ本系统中的计时器电路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。其中初始值的预置功能是将时间的两位数(单位为秒)分解成两个数分别进行预置,默认时间为60秒倒计时。TA、TB端分别预置两位数值,再经过LDN端确认所置时间,EN端为高电平后开始计时。每个数的预置则采用高电平计数的方式进行,CLK接时钟信号,操作简洁。2.2.3记分模块JFQ图2.4JFQ在计分器电路的设计中,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显示分变得越来越麻烦。因此为了减少译码显示的麻烦,一般是将一个大的进制数分解成数个十进制以内的时制数,计数器串级连接。但随着位数的增加,电路的接口增加因此本设计采用IF语句从低往高判断是否有进位,以采取相应的操作,而且由于设计要求加减分均为10的倍数故而可以将个位一直设为0,这样既减少了接口,又大大地简化了设计。2.2.4译码器显示模块YMQ图2.5YMQ本译码器用于将抢答鉴别模块抢答成功的组别和计时器的时间进行显示,AIN4[3..0]端输入需显示的二进制数组,DOUT7[6..0]端输出显示在数码管,显示显示范围为0~9。第三节、抢答器的VHDL源程序2.3.1各模块的VHDL源程序一、抢答鉴别模块QDJB的VHDL源程序LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYQDJBIS

PORT(CLR:

INSTD_LOGIC;

A,B,C,D:

INSTD_LOGIC;

--4个组

A1,B1,C1,D1:

OUTSTD_LOGIC;

STATES:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDENTITYQDJB;

ARCHITECTUREARTOFQDJBIS

signala_1,b_1,c_1,d_1:STD_LOGIC;

BEGIN

PROCESS(CLR,A,B,C,D)IS

BEGIN

IFCLR='1'THENSTATES<="0000";a_1<='0';b_1<='0';c_1<='0';d_1<='0';--清零

ELSIFa_1='1'orb_1='1'orc_1='1'ord_1='1'thennull;--锁存,当有一组选中时其他组再抢答没作用ELSIFa='1'thena_1<='1';STATES<="0001";

ELSIFb='1'thenb_1<='1';STATES<="0010";

ELSIFc='1'thenc_1<='1';STATES<="0011";

ELSIFd='1'thend_1<='1';STATES<="0100";

ENDIF;

a1<=a_1;b1<=b_1;c1<=c_1;d1<=d_1;

ENDPROCESS;

ENDARCHITECTUREART;二、计时模块JSQ的VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYJSQISPORT(CLR,LDN,EN,CLK:INSTD_LOGIC;TA,TB:INSTD_LOGIC;QA:OUTSTD_LOGIC_VECTOR(3DOWNTO0);QB:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYJSQ;ARCHITECTUREARTOFJSQISSIGNALDA:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALDB:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(TA,TB,CLR)ISBEGINIFCLR='1'THENDA<="0000";DB<="0000";ELSEIFTA='1'THENDA<=DA+'1';ENDIF;IFTB='1'THENDB<=DB+'1';ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK)VARIABLETMPA:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLETMPB:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFCLR='1'THENTMPA:="0000";TMPB:="0110";ELSIFCLK'EVENTANDCLK='1'THENIFLDN='1'THENTMPA:=DA;TMPB:=DB;ELSIFEN='1'THENIFTMPA="0000"THENTMPA:="1001";IFTMPB="0000"THENTMPB:="0110";ELSETMPB:=TMPB-1;ENDIF;ELSETMPA:=TMPA-1;ENDIF;ENDIF;ENDIF;QA<=TMPA;QB<=TMPB;ENDPROCESS;ENDART;三、记分模块JFQ的VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYJFQISPORT(RST:INSTD_LOGIC;ADD:INSTD_LOGIC;CHOS:INSTD_LOGIC_VECTOR(3DOWNTO0);AA2,AA1,AA0,BB2,BB1,BB0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CC2,CC1,CC0,DD2,DD1,DD0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYJFQ;ARCHITECTUREARTOFJFQISBEGINPROCESS(RST,ADD,CHOS)VARIABLEPOINTS_A2,POINTS_A1:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLEPOINTS_B2,POINTS_B1:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLEPOINTS_C2,POINTS_C1:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLEPOINTS_D2,POINTS_D1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIF(ADD'EVENTANDADD='1')THENIFRST='1'THENPOINTS_A2:="0001";POINTS_A1:="0000";POINTS_B2:="0001";POINTS_B1:="0000";POINTS_C2:="0001";POINTS_C1:="0000";POINTS_D2:="0001";POINTS_D1:="0000";ELSIFCHOS="0001"THENIFPOINTS_A1="1001"THENPOINTS_A1:="0000";IFPOINTS_A2="1001"THENPOINTS_A2:="0000";ELSEPOINTS_A2:=POINTS_A2+'1';ENDIF;ELSEPOINTS_A1:=POINTS_A1+'1';ENDIF;ELSIFCHOS="0010"THENIFPOINTS_B1="1001"THENPOINTS_B1:="0000";IFPOINTS_B2="1001"THENPOINTS_B2:="0000";ELSEPOINTS_B2:=POINTS_B2+'1';ENDIF;ELSEPOINTS_B1:=POINTS_B1+'1';ENDIF;ELSIFCHOS="0100"THENIFPOINTS_C1="1001"THENPOINTS_C1:="0000";IFPOINTS_C2="1001"THENPOINTS_C2:="0000";ELSEPOINTS_C2:=POINTS_C2+'1';ENDIF;ELSEPOINTS_C1:=POINTS_C1+'1';ENDIF;ELSIFCHOS="1000"THENIFPOINTS_D1="1001"THENPOINTS_D1:="0000";IFPOINTS_D2="1001"THENPOINTS_D2:="0000";ELSEPOINTS_D2:=POINTS_D2+'1';ENDIF;ELSEPOINTS_D1:=POINTS_D1+'1';ENDIF;ENDIF;ENDIF;AA2<=POINTS_A2;AA1<=POINTS_A1;AA0<="0000";BB2<=POINTS_B2;BB1<=POINTS_B1;BB0<="0000";CC2<=POINTS_C2;CC1<=POINTS_C1;CC0<="0000";DD2<=POINTS_D2;DD1<=POINTS_D1;DD0<="0000";ENDPROCESS;ENDART;四、译码器显示模块YMQ的VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYYMQISPORT(AIN4:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT7:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDYMQ;ARCHITECTUREARTOFYMQISBEGINPROCESS(AIN4)BEGINCASEAIN4ISWHEN"0000"=>DOUT7<="0111111"; --0WHEN"0001"=>DOUT7<="0000110"; --1WHEN"0010"=>DOUT7<="1011011"; --2WHEN"0011"=>DOUT7<="1001111"; --3WHEN"0100"=>DOUT7<="1100110"; --4WHEN"0101"=>DOUT7<="1101101"; --5WHEN"0110"=>DOUT7<="1111101"; --6WHEN"0111"=>DOUT7<="0000111"; --7WHEN"1000"=>DOUT7<="1111111"; --8WHEN"1001"=>DOUT7<="1101111"; --9WHENOTHERS=>DOUT7<="0000000";ENDCASE;ENDPROCESS;ENDART;五、顶层原理图文件图2.6顶层原理图第三章、仿真波形第一节仿真波形3.1.1抢答鉴别模块QDJB图3.1抢答鉴别模块QDJBCLR低电平有效,当其为高电平时,输出无效。当其为低电平时,A,B,C,D哪一个为高电平则输出哪个,对应的LED灯亮。3.1.2计时模块JSQ图3.2计时模块JSQCLR低电平有效,当CLR为高电平时,电路不工作。当CLR为低电平时开始计时。如没人抢答,时间到后发出提示音。如有人抢答,答题时间到后,发出提示音。输入:QA个位,QB十位,输出:TA个位,TB十位。3.1.3记分模块JFQ图3.3记分模块JFQ初始分数为100分,当ADD经过第一个上升沿时,CHOS【3】输出高电平,则对应的给D加上10分。3.1.4译码显示模块YMQ图3.4译码显示模块YMQ显示电路由LED共阴极译码器构成。其十进制数0~9对应的二进制表示和LED共阴极译码器输出如表3-1所示。表3-1十进制数字对应的LED译码器表示十进制二进制LED共阴极译码器输出000000111111100010000110200101011011300111001111401001100110501011101101601101111101701110000111810001111111910011101111第四章、附录4.1结束语这次的EDA课程设计,熟练地掌握了EDA设计软件的操作,之前学会了基本的课程设计以及编译仿真的操作,这次的智能抢答器又让我学到很多,但是其中也遇到了很多困难。这次实验不仅仅是验证性的,还要由自己来分析,思考,设计,测试和验证以及改正,所以这个期间我个人觉得还是有困难的。还好的是老师在课程设计之前给我们大家讲了一下抢答器的基本原理和功能,在理解了它的三个模块锁存器,编译器和译码器各自的功能和应用之后我们设计起来就事半功倍了,我们小组三个人,由我们共同来完成这个设计实验。实验过程中,我们遇到的最大的问题就是在设计用VHDL语言编程的时候,总是不能完成硬件模块的连接,编译时总是有错误,最后在老师的指导,将程序全部重新封装,以及重新连接,最后通过了编译。我们小组在实验室进行实物操作时也没有想象中的那么顺利,我们重复操作了很多次,我们遇到以下问题:开始下载完成后,在抢答时,7段译码管显示的数字是左右倒立的,对引脚进行检查也无错误,连接也无错误。通过分析,认为是7段数码管输入A——G的接口与EPF10K10LC84-4芯片输出端连接全部是反得才可能造成这样的结果,可是检查后依旧没有错误连接的问题。最后决定重新下载程序,看是否是下载的程序下载因为干扰造成了错误,最后,实验结果证明这个问题,确实是下载的程序有问题。从而完成了硬件的调试。当老师检查时,对我们的仿真波形做出了纠错,也就是在波形仿真时要注意时间的间隔问题,不能在主持人按下复位的同时进行抢答,要注意仿真的实际性研究。在这个试验过程中,我体会到耐心很重要。团队合作给我的启示太大了,只有我们队友之间团结一致,不断地发现问题,探索问题,才能解决问题。思维的碰撞才能得出结果。最后,这次设计让我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,实践

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论