VHDL语言设计竞赛抢答器设计方案_第1页
VHDL语言设计竞赛抢答器设计方案_第2页
VHDL语言设计竞赛抢答器设计方案_第3页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、VHD语言设计竞赛抢答器毕业论文随着电子技术的发展, 现在的抢答器功能越来越强, 可靠性和准确性也越来越高。 以前的抢答器大部分都是基于传统数字电路组成的。制作过程复杂,而且准确性与可 靠性不高,成品面积大,安装、维护困难。由于近年来电子技术发展迅速,逐渐出现 用现场可编程门阵列(简称FPGA制作抢答器,使得电子系统的设计者利用EDA电子设 计自动化)软件,就可以独立设计自己的专用集成电路(ASIC)器件。制作过程简单, 而且安装、维护简单。1.1 选题的现实意义 抢答器控制系统是学校、政府机关、金融单位、广播电视系统或党委、工会、团 委、企事业单位等部门举办竞赛问答、各种知识测试、娱乐活动中

2、经常使用的重要基 础设备之一,它是一个能准确、公正、直观地判断出抢答者的机器 1 。通过一些方式 如数码管显示抢答成功者的信息,或者通过声音来判别成功抢答的选手。随着现代科 学技术的迅猛发展和经济全球化的加强,电子抢答器成为了不可逆转的发展趋势。因 此,研究智能电子抢答器及扩大其应用,有着非常现实的意义。2语言、软件介绍2.1 FPGA2.1.1 FPGA 简介FPGA( Field Programmable Gate Array ),即现场可编程门阵列,它是在 PALGAL CPL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定

3、制电路的不足,又克服了原有可编程 器件门电路数有限的缺点2。目前以硬件描述语言(Verilog或VHDL所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑 门电路(比如AND OR XOR NOT或者更复杂一些的组合功能比如解码器或数 学方程式。在大多数的FPGAI面,这些可编辑的元件里也包含记忆元件例如触发 器(Flip flop )或者其他更加完整的记忆块。50 MHz有源晶振图1 FPGA部结构框图输出脉冲定迟间设延时输出脉冲现场可编程门阵列FPG作为集成度和复杂程度最高的可编程 ASIC

4、,主要由与阵 列、或阵列、输入缓冲电路、输出宏单元等组成,是 ASIC的一种新型门类,它建立在 创新的发明构思和先进的EDAJ术之上。运算器、乘法器、数字滤波器、二维卷积器 等具有复杂算法的逻辑单元和信号处理单元的逻辑设计都可选用FPG实现。它采用SRA开关元件的FPG是易失性的,每次重新加电,FPG;都要重新装入配置数据。突出 优点是可反复编程,系统上电时,给FPGA卩载不同的配置数据,即可令其完成不同的 硬件功能。这种配置的改变甚至可以在系统的运行中进行,实现系统功能的动态重构。 传统的数字逻辑设计使用TTL电平和小规模的数字集成电路来完成逻辑电路图。使用 这些标准的逻辑器件已经被证实是最

5、便宜的手段,但是要求做一些布线和复杂的电路 集成板(焊接调试 )等工作,如果出现错误,改动起来特别麻烦。因此,采用传统电子 设计方案人员的很大一部分工作主要集中在设备器件之间物理连接、 调试以及故障解 决方面。正是因为FPG的EDA技术使用了更高级的计算机语言,电路的生成基本上是 由计算机来完成,将使用户能较快地完成更复杂的数字电路设计, 由于没有器件之 间的物理连接,因此调试及故障排除更迅速、有效 3 。2.1.2 传统FPG的不足与改进在现今的数字系统设计中,以“嵌入式微控制器 +FPGA为核心的体系结构因其 强大的处理能力和灵活的工作方式而被广泛采用。 嵌入式微控制器的优势在于将微处 理

6、器核与丰富多样的外围接口设备紧密结合,在提供强大的运算、控制功能的同时, 降低了系统成本和功耗,因而适合作为数字系统的控制核心;FPG的优势在于超高速、 丰富的逻辑资源以及用户可灵活配置的逻辑功能,适用于逻辑接口功能多种多样、灵 活可变的场合。将二者结合形成优势互补,如有需要,再配以适当的专用芯片(例如 音视频编解码器、数字调制解调器等) 。这种体系结构适用于大多数复杂数字系统的 设计。如系统中包含可编程器件,就必须考虑其功能配置的问题。然而,传统的 FPGA 配置方案(例如调试阶段的专用下载电费方式、 成品阶段的专用存储器方式) 在成本、 效率、灵活性等方面都存在着明显的不足。针对这样的实际

7、问题,基于嵌入式微控制 器与FPG广泛共存于复杂数字系统的背景, 考虑到大量数字系统要求接入In ternet的 现状,借鉴软件无线电“一机多能”的思想,提出了一种基于嵌入式系统和 Internet 的FPG动态配置方案。该方案的提出,旨在基于系统现有的、通用的软硬件资源,尽 可能地提高FPG配置的效率和灵活性。实践证明,该方案可行、实用,达到了设计目 的。2.1.3 FPGA 工作原理FPGA采用了逻辑单元阵列 LCA( Logic Cell Array )这样一个概念,部包括 可配置逻辑模块 CLB( Configurable Logic Block )、输出输入模块 IOB( Input

8、 Output Block )和部连线(Interconnect )三个部分。FPGA的基本特点主要有:1) 采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。2) FPGA可做其它全定制或半定制 ASIC电路的中试样片。3) FPGA部有丰富的触发器和 I /O引脚。4) FPGA是 ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5) FPGA采用高速 CHM0工艺,功耗低,可以与 CMOS TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片 RAM中的程序来设置其工作状态的,因此,工作时需要 对片的

9、RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片编程 RAM中,配置完成后,FPGA 进入工作状态。掉电后, FPGA恢复成白片,部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的 FPGA编程器,只须用通用的 EPROM PROMS 程器即可。当需要修改FPGA功能时,只需换一片EPROM卩可。这样,同一片FPGA 不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。2.1.4 FPGA 配置模式FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM勺方式;主从模式可以支持一片 prom

10、s程多片FPGA串行模式可以采用串行proms程FPGA外设模式可以将 FPGA乍为微处理器的外设,由微处理器对其编程。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于 FPGA前所未有的性能和能力水平而带来的新的设计挑战。2.1.5 FPGA 系统设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大 的模块,定义好各功能模块之间的接口,

11、 然后各个模块再细分去具体实现, 这就是 TOP DOWN自顶向下)的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设 计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持 下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化 变得轻而易举。CPLD/FPG系统设计的工作流程如图2-2所示。流程说明:1) . 工程师按照“自顶向下”的设计方法进行系统划分。2) .输入VHD代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输 入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。3) .将以上的设计输入编译成标准的VHD文件。

12、4).进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用 于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计 重复的次数和时间。一般情况下,这一仿真步骤可略去。5).利用综合器对VHD源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。6).利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的 硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。图2 CPLD/FPG/系统设计流程7).利用适配

13、器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操 作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。8).在适配完成后,产生多项设计结果:(a)适配报告,包括芯片部资源利用情 况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。根 据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。如果仿真结 果达不到设计要求,就修改VHD源代码或选择不同速度和品质的器件,直至满足设计 要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPG中。2.2 VHDL

14、 语言2.2.1 VHDL 语言简介VHDL勺英文全名是 Very-High-Speed Integrated Circuit Hardware DescriptionLanguage,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描 述语言。自IEEE公布了 VHDL的标准版本,IEEE-1076 (简称87版)之后,各EDA公 司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和 VHDLS 口。此后 VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语 言。1993年, IEEE对VHDLt行了修订,从更高的抽象层次和系统描

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

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

17、或称不可视部分), 既涉及实体的部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成外部分的 概念是VHDL系统设计的基本点。2.2.2 VHDL 系统设计的特点与其他硬件描述语言相比,VHDL具有以下特点:功能强大、设计灵活。VHDL具有功能强大的语言结构,可以用简洁明确的源代码 来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成 电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语 言虽不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向 下的

18、设计;既支持模块化设计,又支持层次化设计。支持广泛、易于修改。由于 VHD已经成为IEEE标准所规的硬件描述语言,目前 大多数EDA工具几乎都支持VHDL这为VHDL勺进一步推广和广泛应用奠定了基础。 在硬件电路设计过程中,主要的设计文件是用 VHDL编写的源代码,因为VHDL易读和 结构化,所以易于修改设计。强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描述系统级 电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描 述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数

19、据类型, 给硬件描述带 来较大的自由度,使设计人员能够方便地创建高层次的系统模型。独立于器件的设计、与工艺无关。设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以 用多种不同的器件结构来实现其功能。很强的移植能力。VHDL是种标准化的硬件描述语言,同一个设计描述可以被不 同的工具所支持,使得设计描述的移植成为可能。易于共享和复用。VHDL采用基于库(Library )的设计方法,可以建立各种可再 次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存 放到库中,就可以在以后的设计中进行复用,可以使设计成果在设

20、计人员之间进行交 流和共享,减少硬件电路设计。2.2.3 VHDL 系统优势(1 )与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他 成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2 ) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计 系统的功能可行性,随时可对设计进行仿真模拟。(3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解 和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人 甚至多个代发组共同并行工作才能实现。(4

21、) 对于用VHDL完成的一个确定的设计,可以利用 EDA工具进行逻辑综合和优 化,并自动的把VHDL苗述设计转变成门级网表。(5) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必 管理最终设计实现的目标器件是什么,而进行独立的设计 8 。2.3 EDAEDA( Electronic Design Automation ,电子设计自动化 )是 90年代发展起来的 从事电子线路设计与分析的一门技术。EDA技术主要以计算机为工具9。设计者在EDA 平台上,用相关软件完成设计工作,然后由计算机自动完成逻辑编译、化简、优化、 布局、布线和仿真,直到对目标芯片的适配编译、逻辑映射以及

22、编程下载等工作。传统设计方法的缺点是:1) 复杂电路的设计、调试十分困难。2) 如果某一过程存在错误,查找和修改十分不便。3) 设计过程中产生大量文档,不易管理。4) 对于集成电路设计而言, 设计实现过程与具体生产工艺直接相关, 因此可移植性 差。5) 只有在设计出样机或生产出芯片后才能进行实测。EDA技术有很大不同:1) 采用硬件描述语言作为设计输入。2) 库(Library) 的引入。3) 设计文档的管理。4) 强大的系统建模、电路仿真功能。5) 适用于高效率大规模系统设计的自顶向下设计方案。6) 全方位地利用计算机自动设计、仿真和测试技术。7) 对设计者的硬件知识和硬件经验要求低。8)

23、高速性能好。9) 纯硬件系统的高可靠性。EDA设计流程图3.EDA设计流程2.4 Quartus II2.4.1 Quartus II 简介Quartus II 是Altera 公司的综合性 PLD开发软件,支持原理图、VHDLVerilogHDL 以及 AHDL( Altera Hardware Description Language)等多种设计输入形式,嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统 一,

24、功能集中,易学易用等特点 10 0Quartus II支持 Altera 的IP核,包含了 LPM/MegaFunction宏功能模块库, 使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第 三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三 方EDA工具。此外, Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合, 可以方便地实现各种DSP应用系统;支持 Altera的片上可编程系统(SOPC开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的 开发平台。Maxplus II作为Al

25、tera的上一代PLD设计软件,由于其出色的易用性而得 到了广泛的应用。目前 Altera 已经停止了对 Maxplus II 的更新支持, Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera 在Quartus II 中包含了许多诸如 SignalTap II 、 Chip Editor 和 RTL Viewer 的设 计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II友好的图形界面及简便的使用方法 11 。Altera Quartus II 作为一种可编程逻辑的设计环境 , 由于其强大的设计 能力和直观易用的接口,越来越受

26、到数字系统设计者的欢迎。Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet 的协作设计。Quartus 平台与 Cadence、ExemplarLogic 、 MentorGraphics 、Synopsys 和 Synplicity 等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了 FastFit 编译选项,推进了网络编辑性能,而且提升了调试能 力。支持 MAX7000/MAX3000等乘积项器件。2.4.2 Quartus II 主要特点1) .Quartus

27、II支持其他公司所提供的EDA工具接口。2) . 提供了与结构无关的可编程逻辑设计环境。3) . 提供丰富的库单元供设计者调用, 其中包括 74 系列的全部器件和多种特 殊的逻辑功能器件。4) .软件支持硬件描述语言设计输入选项,包括VHDL Verilog HDL和 Altera自己的硬件描述语言AHDL。3设计思路与系统结构作为现代集成电路设计的重点与热点,FPG设计一般采用自顶向下、由粗到细、 逐步求精的方法。设计最顶层是指系统的整体要求,最下层是指具体的逻辑电路实现 12。自顶向下是将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大 则进一步分解为更小的子系统和模块,层层分解

28、,直至整个系统中各子模块关系合理、 便于设计实现为止。本文运用EDA中的Ouartus II作为软件开发平台,设计了一款基 于FPG的智力竞赛抢答器。3.1课题研究的容1)、设计一个可容纳4组参赛的数字式抢答器,每组设一个按钮,供抢答使用。2)、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。3)、设置一个主持人“复位”按钮。4)、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显 示抢答组别,扬声器发出2-3秒的音响。5)、设置一个计分电路,每组开始预置100分,由主持人记分,答对一次加10分, 答错一次减10分。3.2设计思路本系统设计一个智力竞赛抢答器要

29、求具有四路抢答输入,能够识别最先抢答的信号,显示该台号;对回答问题所用的时间进行计时、显示、超时报警同时具有复位功 能和倒计时启动功能。在设计过程中先将系统模块化,然后逐步实现,系统设计原理图4抢答器系统原理图3.3 电子抢答器的设计功能模块划分根据对抢答器的功能要求 ,把要设计的系统划分为六个功能模块:抢答信号判 别模块,锁存模块,转换模块,扫描模块,定时与报警模块,译码与显示模块。3.3.2 功能分析 判断模块:该模块用以判断各选手抢答的先后,记录最先抢答的选手并不再接受 其它输入信号。锁存模块:该模块用以锁存最先抢答的选手,以便输出显示。 转换模块:该模块用来将抢答选手的信息转换为二进制

30、数,以便译码显示。 扫描模块:该模块主要用来扫描显示数据,扫描频率可以调整,便于动态显示。该模块主要完成两个任务:扫描信号的建立和数码管的选择13 。定时与报警模块: 该模块用来对选手进行答题限时, 答题时间到后输出报警信号。 译码与显示模块:对数据进行译码送出数码管显示。该模块主要任务是完成二进 制数到段码的转换。二进制数主要记录最先抢答的选手和时间信号,显示结果由3个数码管经过扫描信号依次点亮 14,15 。3.3.3 模块的设计根据上述分析设计了各功能模块问的结构关系,如图5。各个模块存MAX+PLUS环境下用VHD语言来实现,顶层文件采用原理图输入。FEN模块是抢答判断模块,在各个选手

31、1, 2, 3, 4抢答操作后,将四路信号相与, 并送出高电平 Q 给锁存器,锁存当时的按键状态,由于抢答信号是低电平有效,故相 与后的结果可以识别最先抢答选手,由于没有时钟同步,所以锁存的延时时间只是硬 件延时时间,从而实现锁存错误的概率接近零。LOCK模块是锁存器模块,在任一选手按下按键后锁存,锁存的同时送出AIM信号。clr信号为0时,d1,d2, d3, d4的输出都为0;当c1r信号为1时,将dl赋给q1, d2赋 给q2, d3赋给q3, d4赋给q4,同时将alm输出为高电平。COUN模块是定时模块,实现答题倒计时,在计满 100S后送出报警提示。设计中100S时间用00到99表

32、示,显示分为高位h,底位l,另外还有限时报警sou nd。设计时 先将低位从9开始逐一自减,当到0时高位自减1,也就是低位每减少1O,高位就减少1 当高位从9减少到0时,报警就输出高电平。CH31模块为扫描模块,轮流送出需要显示的数据。当sel为000时,将d1赋值给ql,同时将01111111赋值给W选通数码管;当sei为001时,将d2赋值给q2,同时将10111111赋值给W选通数码管;当sei为011时,将d3赋值给q3,同时将11011111赋Pi評SEL2.O D1J 0| D2JS 0 3(3.00(3 0Q6,.DJirstZi图5抢答器的顶层原理图CH41模块是抢答结果转换模

33、块,将抢答结果转换为二进制数。抢答结果低电平有效,当抢答结果did2d3d4为Olli时,输出q为0001;当抢答结果did2d3d4为1011时, 输出q为0010;当抢答结果did2d3d4为1i0i时,输出q为0011;当抢答结果did2d3d4为 111O寸,输出q为0100。SEL莫块为片选模块。产生片选信号。此模块相当一个计数器,在时钟下自加。DISP莫块为译码模块,用于将数据转换成段码,以便数码管能正确显示。5电子抢答器的仿真采用EDA开发T具MAX+PLUS对各个模块的VHDLS程序及顶层电路进行编译、 逻辑综合,并对各个模块以及顶层电路都进行了波形仿真。南于文章篇幅原因,本文

34、 给出顶层电路的仿真波形。图3是顶层电路模块整体的仿真波形,CK1为系统时钟, CI K2为动态扫描时钟,h为主持人控制开始键,高电平有效;1、2、3、4表示抢答 选手号,低电平有效;sou nd为100S超时报警;qh 3.0、q13.0为100 S计时显示,qh3.0为十位,ql3.0为个位;q7.O抢答选手的段码。首先由主持人 将开始按钮h按下之后,选手1,2, 3, 4开始抢答,网中是1号选手最先按下,q7.O 显示段码结果为06(台号显示为1),此时定时器开始T作做减计数,qh3.0和ql 3.O依次减小(为截取整仿真图。ql3.0个位看不清楚),当qh3.O和ql3.O 减到0时说

35、明100S的时间已到,sou nd信号变成高电平.报警器报警,选手停止答题。 结束后主持人可以复位后将开始按钮 h按下重新进行下一轮的抢答。仿真结束后,进 行管脚锁定,在pin location /chip中添加输人输m端可用的引脚编号,并编译通 过,最后通过Byteblaster编程电缆下载文件,将所设计的容下载到FI EX10K系歹EPF10K10LC84器件进行测试。经实际电路测试验证,达到了设计的要求。仿真图及其功能说明:Ch31a模块:"re- :l aDto ng或 9 Iff30 Q u和27t.Q7i.lp D5-BOi Q ix39D q djLO) 0Q5CIG

36、p &5J14 T15 t&E'mOE-1ID30iUJLlJc1JLLjuL 厂XUJ'J?X1JLL*2I 0BI DidX DllX 山XJCaw X &图6 Ch31a模块仿真波形JL4 TL 二f 14713能 isIejwT.-356 nt合 W: |End.此模块为扫描模块,此时sel相当于一个计数器,当sei为000时,输出di, sei为001时,输出d2, sel为010到110时,输出1111,sel为111时,输出d3。Ch41a模块:图7 h41a模块仿真波形此模块用二进制显示抢答的结果, 抢答结果是低电平有效。由仿真图可见,当

37、di 抢答成功时,显示 0001,d2抢答成功时,显示 0010, d3抢答成功时显示0011,d4 抢答成功时显示0100.,无人抢答时显示1111。Sei模块:图8 Sei模块仿真波形此模块相当于一个计数器,在每个时钟上升沿到来时,输出就自加1Count模块:图9 Count模块仿真波形此模块实现倒计时功能,初始时为 0000,当上升沿到来时低位从1001开始自减1,减到0000时高位开始从1001自减1,知道最后低位、高位都为0。Lockb模块:图10 Lockb模块仿真波形此为锁存模块,主持人按下复位键时,清零。当elk上升沿到来时,将di赋值给q1, d2赋值给q2, d3赋值给q3

38、, d4赋值给q4。Feng模块:M目丁训mF B可护 Mn?JjPiin-er |r制囘泊止)DC. 0 jls LSD.0 ju 24C. 0 沁 3S0.01 口勺 4£O J 皿 电BD 0 ju、5G0.C as- C4'l 0 jg 720. 0 吕 300.0 tii 0(W.liIiiiiiiiilii340 0 祗J图11 Feng模块仿真波形主持人按下复位键,清零,当有人抢答,即ep为下降沿时,输出高电平Disp模块:图12 Disp模块仿真波形此为译码模块,将二进制转化成代码段,d为0000时,输出0111111; d为0001 时,输出 0000110

39、; d 为 0010 时,输出 1011011; d 为 0011 时,输出 1001111; d 为 0100 时,输出 1100110; d 为 0101 时,输出 1101101; d 为 0110 时,输出 1111101; d 为 0111 时,输出 0100111; d 为 1000 时,输出 1111111; d 为 1001 时,输出 1101111; 其他时候为0000000。整个电路的仿真图:Mastei TirreBr:555l2 ns* * -jirter:Intervet-555.2StarhZsJ-ie555- 2 ns1B OOODCO-Ckl3 1&3

40、1dl3 i绘3 1d33 1帆3 1tE LOOL1l<»e-Li 11i IDOLqB 1111so3 0aJ ps 31. J nsu tsbu. J ns». ns luu.u rti 1120.0 TlS. 24U.O ns1iaa.o tls11OU.0 ns 3J0 01 1(oiIlin ' ITobooooa"KiioiiiL X-DOOOOOO*低山K55r_rLTL"L_TL_r_a_nLaar r a nnIiijOQj«LT uLrit:Hui Vnao Kiini图13顶层电路仿真波形主持人按下复位键,

41、当有人抢答时,锁存其组号,并开始倒计时。扫描模块将这 些信息转换成段码段后扫描输出。结论本文介绍了基于FPGA的智能电子抢答器的设计,本设计使用VHDL语言,对智能抢答器的每一个模块进行分析,设计,编译,并在 quartersII 软件的支持下,对 其进行仿真。通过反复的编译、仿真、检查、修改,证明本次设计的抢答器各项功能 复合预定标准。但其中仍存在一些不足之处,请多见谅!本设计是在指导老师周广丽老师的精心指导下完成的。周老师有着深厚的理论 水平,严谨的治学态度,最可贵的是她会不厌其烦的为我们解决她力所能及的问题。 就比如我的一个 quartersII 的软件她就帮我装了差不多有五遍,可从来都

42、没有一丝 的不耐烦。在此我首先向周广利老师致以深深的敬意和由衷的感!在整个设计过程中,我身边的同学,特别是同组的同学们也给予了我很大的帮 助,他们帮我解决了很多细节上的问题,使我能够更好更顺利的完成我的毕业设计, 你们!通过做这次的毕业设计,我学到了很多,无论是理论知识的巩固和进步还是实 际操作的掌握,都让我受益匪浅。 这些很大程度都得益于曾经帮助过我的老师和同学, 请允许我在此向他们表示诚挚的感。最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各 位老师表示感,!参考文献1 江国强.EDA技术与应用M . 2006,电子工业.2 开绪可编程逻辑器件在抢答器电路设计中的应用

43、J 工业大学学 报,2007, 29(1):lO3 1O6.3 胡丹.基于VHDI的智力竞赛抢答器的设计与实现J.现代机械,2007,(3):54 55.4 章忠全电子技术基础实验与课程设计 M 中国电力 ,19995 高曙光可编程逻辑器件原理、开发与应用 M :电子科技大学出 版社,20026 开绪数字式抢答器的设计与实现 J1 电子工程师 2005.9:69717 阎石数字电子技术基础 M :高等教育 ,19998 祥可编程逻辑器件在数字系统中的应用 J 国外电子元器件 ,2001(5):58 599 延文,唐庆玉,段玉生.EDA技术是实现电工学研究型教学的良好手段J.实 验技术与管理 ,

44、2006(8) :65-6810 芝侠一款工作可靠的智力竞赛抢答器电路的设计与分析 J. 现代电子技 术,2005,28(20) :293111 侯伯亨,顾新.VHD硬件描述语言与数字逻辑电路设计.:电子科 技大学 ,1997.12 常青, 辉煌可变成专用集成电路及其应用与设计实践经验 : 国防工 业,1998.13 郭勇.EDA技术基础(第2版)M.机械工业,2005 . 314 320.14 Enoch O Hwang . Digital Longic and Microprocessor Design with VHDLM. Thomson-Engineering,2005.15 Sud

45、hakar Yalamanchili.Introductory VHDL:from simulation to synthesisM.Prentice Hall,2001.4 电子抢答器源程序各模块VHD源代码1) 、抢答鉴别模块FEN的VHD源程序-feng.vhdLIBRARY IEEE;ENTITY FENG ISPORT(CP,CLR:IN STD_LOGIC;Q :OUT STD_LOGIC);END FENG;ARCHITECTURE FENG_ARC OF FENG ISBEGINPROCESS(CP,CLR)BEGINIF CLR='0'THENQ<=&#

46、39;0'ELSIF CP'EVENT AND CP='0'THENQ<='1'END IF;END PROCESS;END FENG_ARC;2) 、片选信号产生模块SEL的VHDLS程序-sel.vhdLIBRARY IEEE;USEENTITY SEL IS PORT(CLK:IN STD_LOGIC;a:OUT INTEGER RANGE 0 TO 7);END SEL;ARCHITECTURE SEL_ARC OF SEL IS - 片选信号产生模块 SELBEGIN.专业.专注 .PROCESS(CLK)VARIABLE AA:

47、INTEGER RANGE 0 TO 7;BEGINIF CLK'EVENT AND CLK='1'THENAA:=AA+1;END IF;A<=AA;END PROCESS;END SEL_ARC;3) 、锁存器模块 LOCK的VHDL源程序-lockb.vhdLIBRARY IEEE;ENTITY LOCKB ISPORT(D1,D2,D3,D4:IN STD_LOGIC; CLK,CLR:IN STD_LOGIC;Q1,Q2,Q3,Q4,ALM:OUT STD_LOGIC);END LOCKB;ARCHITECTURE LOCK_ARC OF LOCKB I

48、SBEGINPROCESS(CLK)BEGINIF CLR='0'THENQ1<='0'Q2<='0'Q3<='0'Q4<='0'ALM<='0'- 模 块LOCKBELSIF CLK'EVENT AND CLK='1'THENQ1<=D1;Q2<=D2;Q3<=D3;Q4<=D4;ALM<='1'END IF;END PROCESS;END LOCK_ARC;4) 、转换模块 CH41A的 VHDL

49、源程序-ch41a.vhdLIBRARY IEEE;ENTITY CH41A IS PORT(D1,D2,D3,D4:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END CH41A;ARCHITECTURE CH41_ARC OF CH41A IS -转换模块 CH41A BEGINPROCESS(D1,D2,D3,D4)VARIABLE TMP:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINTMP:=D1&D2&D3&D4;CASE TMP ISWHEN "0111"=>

50、;Q<="0001"WHEN "1011"=>Q<="0010"WHEN "1101"=>Q<="0011"WHEN "1110"=>Q<="0100"WHEN OTHERS=>Q<="1111"END CASE;END PROCESS;END CH41_ARC;5) 、3 选 1 模块 CH31A勺 VHDL源程序-ch31a.vhdLIBRARY IEEE;ENTITY CH31A IS PORT(SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0);D1,D2,D3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q : OUT STD_LO

温馨提示

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

评论

0/150

提交评论