EDA智能四路抢答器设计(框图+vhdl源程序+仿真图)-课程设计_第1页
EDA智能四路抢答器设计(框图+vhdl源程序+仿真图)-课程设计_第2页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、EDA智能四路抢答器设计(框图+vhdl源程序+仿真图)-课程EDA智能四路抢答器设计(框图+vhdl源程序+仿真图) 设计目的 1. 进一步了解VHDL语言功能;2. 了解EDA在高频工作下的优势;3. 学习资料的收集与整理,学会撰写课程设计报告。 实验环境 1 微型电子计算机(PC);2. 安装Windows 2000以上操作系统,Maxplus软件等开发工具。 3. EDA综合实验仪,连线若干。任务要求 1. 按照课题设计任务和要求,对设计系统进行验证调试或仿真;观察程序运行和仿真结果,判断其正确性。2. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收

2、集与整理;3. 在第15周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;4. 结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确。工作进度计划序号 起止日期 工 作 内 容1 2009.12.142009.12.14 在预设计的基础上,进一步查阅资料,完善设计方2 2009.12.152009.12.16 设计总体方案,编写代码,上机调试,实验仿真验案.证。3 2009.12.172009.12.17 测试程序,完善功能,撰写设计报告。 42009.12.18 参加答辩,根据教师反馈意见,修改、完善设计报告。 摘 要抢答器作为一种工具,已经广泛应用于

3、各种智力和知识竞赛场合。但是抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低,减少兴致。作为一个单位若专购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使抢答器损坏,再购置一台新的就会影响活动的开展,因此设计了本抢答器。 本设计是以四路抢答为基本概念。从实际应用出发,利用电子设计自动化( EDA)技术,用可编程逻辑器件设计具有扩充功能的抢答器。它以VHDL硬件描述语言作为平台,结合动手实验而完成的。它的特点是电路简单、制作方便、操作简单、方便、性能可靠,实用于多种智力竞赛活动。本抢答器的电路主要有四部分组成:鉴别锁存电路、答题计时电路、计分电路以及扫描显示模块的电路

4、,并利用Quartus II工具软件完成了编译仿真验证。这个抢答器设计基本上满足了实际比赛应用中的各种需要。在实际中有很大的用途。关键词: 电子设计自动化 抢答器 Quartus II 仿真 VHDL 目 录1 引言 52 关于课程设计 621 课程设计目的 622 课程设计的内容 63 开发工具简介 731 EDA技术 732 硬件描述语言VHDL 733 VHDL的设计流程 84 设计过程 941 系统设计要求 942 系统设计方案 943 主要VHDL源程序 114.3.1 抢答鉴别电路QDJB的VHDL源程序 11 4.3.2 计分器电路JFQ的VHDL源程序 12 4.3.3 计时器

5、电路JSQ的VHDL源程序 15 4.3.4 译码器电路YMQ的VHDL源程序 17 4.3.5 连线电路ANSWER的VHDL源程序 18 5 系统仿真 196 设计技巧分析 22总 结 24致 谢 25参 考 文 献 261 引言数字电路主要是基于两个信号(我们可以简单的说是有电压和无电压),用数字信号完成对数字量进行算术运算和逻辑运算的电路我们称之为数字电路,它具有逻辑运算和逻辑处理等功能,数字电路可分为组合逻辑电路和时序逻辑电路。EDA技术又称电子设计自动化,它是为解决自动控制系统设计而提出的,从70年代经历了计算机辅助设计(CAD),计算机辅助工程(CAE),电子系统设计自子数的动化

6、(ESDA)3个阶段。前两个阶段的EDA产品都只是个别或部分的解决了电产品设计中的工程问题;第三代EDA工具根据工程设计中的瓶颈和矛盾对设计据库实现了统一管理,并提出了并行设计环境概念,提供了独立于工艺和厂家系统级的设计工具。VHDL(VERY HIGH SPEED INTEGRATED CIRCUIT HARDWARE DESCRIPTIONLANGUAGE)语言最早是有美国国防部提出的,它支持行为领域和结构领域的硬件描述,并且可以从最抽象的系统级一直到最精确的逻辑级,在描述数字系统时,可以使用前后一致的语义和语法跨越多个层次,并且使用跨越多个级别的混合描述模拟该系统。因此,它可以由高层次行

7、为描述子系统及低层次详细实现子系统所组成的系统模拟。它有两个版本IEEEStd1076-1987LRM87和IEEEStd1076-1993LRM93,他们并不完全兼容,但做一些修改就可以兼容了。许多公司都为VHDL开发出了编译和仿真软件,其中Max+plusII(或写成Maxplus2,或MP2) 是Altera公司推出的的第三代PLD开发系统(Altera第四代PLD 开发系统被称为:QuartusII,主要用于设计新器件和大规模 CPLD/FPGA).使用MAX+PLUSII 的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,MAX

8、+PLUSII 把这些设计转自动换成最终所需的格式。其设计速度非常快。对于一般几千门的电路设计,使用 MAX+PLUSII,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟内内完成。特别是在原理图输入等方面。1276EDA 智能四路抢答器设计(框图+vhdl 源程序+仿真图)关于课程设计21 课程设计目的理论联系实际,巩固和运用所学课程,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个智力抢答器的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,

9、提高分析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机组成原理与系统结构,深入学习EDA 技术,用 VHDL 语言去控制将会使我们对本专业知识可以更好地掌握。22 课程设计的内容(1)设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。(2)电路具有第一抢答信号的鉴别和锁存功能。 (3)设置计分电路。(4)设置计时犯规电路。(5)设置译码电路。3 开发工具简介31 EDA技术EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(

10、CAT)和计算机辅助工程(CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL

11、完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻下了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广

12、泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。 32 硬件描述语言VHDLVHDL的英文全名是Very-High-Speed Integrated CircuitHardwareDescriptionLanguage,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1

13、993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。VHDL的英文全写是:VHSIC(

14、Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或

15、称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点33 VHDL的设计流程(1) 设计输入根据电路设计所提出的要求,将程序输入到VHDL编辑器中去编辑。(2) 功能级模拟用VHDL,模拟器对编辑后的程序进行模拟,如果达不到设计要求,则可以重新修改程序,直到通过功能模拟。(3) 逻辑综合与优化 将通过功能模拟的程序放到VHDL编译器中,进行逻辑综合与优化。(4) 门级模拟对电路用VHDL。仿真器仿真。可对门级电路的延时

16、、定时状态、驱动能力等进行仿真。如不符合要求,可重复步骤(3),再门级模拟,直到符合要求止。(5) 版图生成 用相应的软件处理后,就可以拿去制版。EDA智能四路抢答器设计(框图+vhdl源程序+仿真图) 4 设计过程41 系统设计要求在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台设抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。同时,还可以置计分、犯规及奖惩计录等多种功能。本设计的具体要求是: (1) 设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。(2) 电路具有第一抢答信号的鉴别和锁存功能。在主持人将系统恢复复位并发出抢答指令

17、后,若参加者按抢答开关,则该组指示灯亮并用组别显示电路显示抢答者的组别,同时扬声器发出“嘀嘟”的双音音响,且持续 23 秒。此时,电路应具备自锁功能,使别组的抢答开关不起作用。(3) 设置计分电路。 每组在开始时预置成 100 分,抢答后由主持人计分,答对一次加 10 分,否则减 10 分。(4) 设置犯规电路。对提前抢答和超时抢答的组别鸣喇叭示警,并由组别显示电路显示出犯规组别。42 系统设计方案根据系统设计要求可知,系统的输入信号有:各组的抢答按钮 A、B、C、D,系统清零信号 CLR,系统时钟信号 CLK,计分复位端 RST,加分按钮端 ADD,计时预置控制端 LDN,计时使能端 EN,

18、计时预置数据调整按钮 TA、TB;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口 LEDA、LEDB、LEDC、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。本系统应具有的功能有:第一抢答信号的鉴别和锁存功能;抢答计时功能;各组得分的累加和动态显示功能;抢答犯规功能。根据以上的分析,我们可将整个系统分为三个主要模块:抢答鉴别模块 QDJB;抢答计时模块 JSQ;抢答计分模块 JFQ。对于需显示的信息,需增加或外接译码器,进行显示译码。考虑到 FPGA/CPLD 的可用接口及一般 EDA 实验开发系统提供的输出显示资

19、源的限制,这里我们将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。整个系统的组成框图如图 3.1 所示。 图 3.1 智力抢答器的组成框图系统的工作原理如下:当主持人按下使能端EN时,抢答器开始工作,A、B、C、D四位抢答者谁最先抢答成功则此选手的台号灯(LEDALEDD)将点亮,并且主持人前的组别显示数码管讲显示出抢答成功者的台号;接下来主持人提问,若回答正确,主持人按加分按钮ADD,抢答积分模块JFQ将给对应的组加分,并将组的总分显示在对应的选手计分数码管JF2_A JF0_A、 JF2_B JF0_B、JF2_C JF0_C、 JF2_D JF0_D上。在此过程中,主持

20、人可以采用计时手段(JSQ),打开计时器使计时预置控制端LDN有效,输入限时的时间,使计时使能端EN有效,开始计时。完成第一轮抢答后,主持人清零,接着重新开始,步骤如上。 43 主要VHDL源程序4.3.1 抢答鉴别电路QDJB的VHDL源程序-QDJB.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY QDJB ISPORT(CLR: IN STD_LOGIC;A, B, C, D: IN STD_LOGIC;A1,B1,C1,D1: OUT STD_LOGIC;STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0

21、);ISCONSTANT W1: STD_LOGIC_VECTOR: =0001;CONSTANT W2: STD_LOGIC_VECTOR: =0010;CONSTANT W3: STD_LOGIC_VECTOR: =0100;CONSTANT W4: STD_LOGIC_VECTOR: =1000;BEGINPROCESS(CLR,A,B,C,D) ISBEGINIF CLR=1 THEN STATES=0000; -清零ELSIF (A=1AND B=0AND C=0AND D=0) THEN-A抢答成功A1=1; B1=0; C1=0; D1=0; STATES=W1;ELSIF (A

22、=0AND B=1AND C=0AND D=0) THEN-B抢答成功A1=0; B1=1; C1=0; D1=0; STATES=W2;ELSIF (A=0AND B=0AND C=1AND D=0) THEN-C抢答成功A1=1; B1=0; C1=1; D1=0; STATES=W3;ELSIF (A=0AND B=0AND C=0AND D=1) THEND抢答成功A1=0; B1=0; C1=0; D1=1; STATES=W4;END IF;END PROCESS;END ARCHITECTURE ART;4.3.2 计分器电路JFQ的VHDL源程序-JFQ.VHDEDA智能四路抢

23、答器设计(框图+vhdl源程序+仿真图)ENTITY JFQ ISPORT(RST: IN STD_LOGIC;ADD: IN STD_LOGIC;CHOS: IN STD_LOGIC_VECTOR(3 DOWNTO 0);AA2,AA1,AA0,BB2,BB1,BB0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CC2,CC1,CC0,DD2,DD1,DD0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); ENDENTITY JFQ ;ARCHITECTURE ART OF JFQ ISBEGINPROCESS(RST,ADD,CHOS) ISV

24、ARIABLE POINTS_A2,POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE POINTS_B2,POINTS_B1: STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE POINTS_C2,POINTS_C1: STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE POINTS_D2,POINTS_D1: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF (ADDEVENT AND ADD=1) THENIF RST=1 THEN-复位POINTS_A2: =000

25、1; POINTS_A1: =0000;POINTS_B2: =0001; POINTS_B1: =0000;POINTS_C2: =0001; POINTS_C1: =0000;POINTS_D2: =0001; POINTS_D1: =0000;ELSIF CHOS=0001 THEN-A回答正确,加10分IF POINTS_A1=1001 THENPOINTS_A1: =0000;IF POINTS_A2=1001 THENPOINTS_A2: =0000;ELSEPOINTS_A2: =POINTS_A2+1;END IF;ELSEPOINTS_A1: =POINTS_A1+1;END

26、 IF;ELSIF CHOS=0010 THEN-B回答正确,加10分IF POINTS_B1=1001 THENPOINTS_B1: =0000;IF POINTS_B2=1001 THENPOINTS_B2: =0000;ELSEPOINTS_B2: =POINTS_B2+1;END IF;ELSEPOINTS_B1: =POINTS_B1+1;END IF;ELSIF CHOS=0100 THEN-C回答正确,加10分IF POINTS_C1=1001 THENPOINTS_C1: =0000;IF POINTS_C2=1001 THENPOINTS_C2: =0000;ELSEPOIN

27、TS_C2: =POINTS_C2+1;END IF;ELSEPOINTS_C1: =POINTS_C1+1;END IF;ELSIF CHOS=1000 THEN-D回答正确,加10分IF POINTS_D1=1001 THENPOINTS_D1: =0000;IF POINTS_D2=1001 THENPOINTS_D2: =0000;ELSEPOINTS_D2: =POINTS_D2+1;END IF;ELSEPOINTS_D1: =POINTS_D1+1;END IF;END IF;END IF;AA2=POINTS_A2; AA1=POINTS_A1; AA0=0000;BB2=PO

28、INTS_B2; BB1=POINTS_B1; BB0=0000;CC2=POINTS_C2; CC1=POINTS_C1; CC0=0000;DD2=POINTS_D2; DD1=POINTS_D1; DD0=0000;END PROCESS;END ARCHITECTURE ART;4.3.3 计时器电路JSQ的VHDL源程序 -JSQ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JSQ ISPORT(CLR,LDN,EN,CLK: IN STD_LOGIC;OF JS

29、Q ISSIGNAL DA: STD_LOGIC_VECTOR(3 DOWNTO 0); -信号DA,调整时间的个位数SIGNAL DB: STD_LOGIC_VECTOR(3 DOWNTO 0); -信号DB,调整时间的十位数BEGINPROCESS(TA,TB,CLR) ISBEGINIF CLR=1 THEN-清零DA=0000;DB=0000;ELSEIF TA=1 THEN-调整时间的个位数EDA智能四路抢答器设计(框图+vhdl源程序+仿真图)END COMPONENT YMQ;SIGNAL S0: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL X1,X2

30、: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINU1: QDJB PORT MAP(CLR,A,B,C,D, LEDA,LEDB,LEDC,LEDD,S0);-位置关联U2: JSQ PORT MAP(CLR,LDN,EN,CLK,TA,TB,X1,X2);U3: YMQ PORT MAP(S0,ZBXS);U4: JFQ PORT MAP(RST,ADD,S0,JF2_A,JF1_A,JF0_A,JF2_B,JF1_B,JF0_B,JF2_C,JF1_C,JF0_C,JF2_D, JF1_D, JF0_D);U5: YMQ PORT MAP(X1,JSXS1);U6:

31、 YMQ PORT MAP(X2,JSXS2);END ARCHITECTURE ART;5 系统仿真系统仿真后的结果分别如图4.1、图4.2、图4.3、图4.4、图4.5.1、图4.5.2、图4.5.3所示。图4.1 抢答鉴别电路QDJB仿真图 图4.2 计分器电路JFQ仿真图 图4.3 计时器电路JSQ仿真图 图4.4 译码器电路YMQ仿真图 图4.5.1 连线电路ANSWER仿真图1图4.5.2 连线电路ANSWER仿真图2 图4.5.3 连线电路ANSWER仿真图3 6 设计技巧分析(1) 在抢答鉴别电路的设计中,A、B、C、D四组抢答,理论上应该有16种可能情况,但实际上由于芯片的反

32、应速度快到一定程度时,两组以上同时抢答成功的可能性非常小,因此我们可设计成只有四种情况,这大大简化了电路的设计复杂性。(2) 在计分器电路的设计中,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显示会变得越来越麻烦。因为为了减少译码器显示的麻烦,一般是将一个大的进制数分解为数个十进制以内的进制数,计数器川级连接,但随着位数的增加,电路的接口增加,因此本设计采用 IF 语句从低往高判断是否有进位,以采取相应的操作,既减少了接口,又大大地简化了设计。(3) 本系统中的计时器电路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。其中初始值的预置功能是将两位数分解成两位数分别进行预置,每个数的预置则采用高电平计数的方式进行。减计数的功能与上述的加法技术类似,非常简洁。总结这次 EDA 课程设计历时一个星期,在整整一个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对 EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定

温馨提示

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

评论

0/150

提交评论