VHDL语言设计四人抢答器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VHDL语言设计四人抢答器

学院:机械电子信息工程学院

班级:电子信息工程专业12级

姓名:周建澜

学号:201210350119

指导老师:付莉老师

一.VHDL语言介绍以及EDA应用

VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,诞生于 1982 年。1987 年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。

VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL 语言主要具有以下优点:

(1) VHDL 语言功能强大,设计方式多样VHDL 语言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法; 既支持模块化设计方法,也支持层次化设计方法。

(2) VHDL 语言具有强大的硬件描述能力

VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。

(3) VHDL 语言具有很强的移植能力

VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。(4) VHDL 语言的设计描述与器件无关采用 VHDL 语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL 语言允许采用多种不同的器件结构来实现。(5) VHDL 语言程序易于共享和复用VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。

这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期。

二.设计要求

l、设计用于竞赛的四人抢答器,功能如下:

(1) 有多路抢答器,台数为四,能显示抢答台号;

(2) 具有抢答开始后20秒倒计时,20秒倒计时后无人抢答显示超时,

并报警;

(3) 能显示超前抢答台号并显示犯规警报;

2、系统复位后进入抢答状态,当有一路抢答键按下时,该路抢答信号将其余

各路抢答封锁,同时铃声响,直至该路按键松开,显示牌显示该路抢答台号。

3、用VHDL语言设计符合上述功能要求的四人抢答器,并用层次设计方法设计该电路。

三.电路工作原理

简易逻辑数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。

电路主要由脉冲产生电路、锁存电路、编码及译码显示电路、倒计时电路和音响产生电路组成。当有选手抢答时,首先锁存,阻止其他选手抢答,然后编码,再经译码器将数字显示在显示器上同时产生音响。主持人宣布开始抢答时,倒计时电路启动由20计到0,如有选手抢答,倒计时停止,如20秒后无人抢答,则会显示报警。

四.设计思路

使用VHDL语言编写的四人抢答器设计,根据现有知识及翻阅资料,经过反复推敲,基本设计思路可分为以下两点:

(一)抢答鉴别锁存及显示模块

根据设计要求,首先要有清零开关clr,主持人开关en,四人抢答按钮a、b、c、d,并由一个LED数码显示管显示选手组别,为了实现当有选手抢答

后锁存电路使其他选手无法抢答的功能,设置两个锁存信号tmp1、tmp2。

按下清零开关(clr=1),tmp1、tmp2=0,若主持人开关未开启(en=0),此时有人抢答,则tmp2=1,关闭抢答电路,并由数码显示管输出抢答组别,同时speaker报警;若主持人按下开关后(en=1),此时有人抢答,则tmp1=1,关闭抢答电路,并由数码显示管输出抢答组别。

(二)数码管倒计时,暂停及报警模块

设计由两个数码管显示20秒抢答倒计时,在程序中,由8位二进制矢量数count控制,高四位表示十位,低四位表示个位,由给定的时钟信号clk 高电平触发。按下清零开关(clr=1),数码管显示20(count=“00100000”),主持人按下开关后(en=1),开始20秒倒计时,当低四位为“0000”时,则赋值为9(“1001”),同时高四位表示的十位数自减1,当低四位不为0时则自减1,由此实现了20秒倒计时。

为实现有人抢答则暂停计时以及20秒时间到停止计时并报警的功能,设置暂停锁存信号tmp3,按下清零开关(clr=1),tmp3=0,主持人按下开关后(en=1),开始20秒倒计时,当有人抢答,则tmp3=1,暂停倒计时,若一直无人抢答,当20秒倒计时结束(count=“00000000”)时,则tmp3=1,停止倒计时并由speaker报警。

speaker报警可由脉冲信号clk0与(tmp3 or a or b or c or d)信号相与输出,从而实现选择性输出报警信号。

相关文档
最新文档