抢答器设计题目:智能电子抢答器专业:电子信息工程2011年1月7日2摘要抢答器是在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答者的机器。电子抢答器的中心构造一般都是由抢答器由单片机以及外围电路组成。本设计是以四路抢答为基本概念。从实际应用出发,利用电子设计自动化(EDA)技术,用可编程逻辑器件设计具有扩充功能的抢答器。它以VerilogHDL硬件描述语言作为平台,结合动手实验而完成的。它的特点是电路简单、制作方便、操作简单、方便、性能可靠,实用于多种智力竞赛活动。本抢答器的电路主要有四部分组成:鉴别锁存电路、FPGA主芯片EP1C3T144C8电路、计分电路以及扫描显示模块的电路,并利用QuartusII工具软件完成了VerilogHDL源程序编写和硬件下载。这个抢答器设计基本上满足了实际比赛应用中的各种需要。在实际中有很大的用途。关键词:抢答器QuartusIIVerilogHDLEP1C3T144C831引言硬件描述语言HardwareDescriptionLanguage是硬件设计人员和电子设计自动化EDA工具之间的界面。其主要目的是用来编写设计文件,建立电子系统行为级的仿真模型。即利用计算机的巨大能力对用VerilogHDL或VHDL建模的复杂数字逻辑进行仿真,然后再自动综合以生成符合要求且在电路结构上可以实现的数字逻辑网表Netlist,根据型仿真验证无误后用于制造ASIC芯片或写入EPLD和FPGA器件中。VerilogHDL是一种硬件描述语言(HDL:HardwareDiscriptionLanguage),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。VerilogHDL就是在用途最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得VerilogHDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年CADENCE公司公开发表了VerilogHDL,并成立LVI组织以促进VerilogHDL成为IEEE标准,即IEEEStandard1364-1995.VerilogHDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把VerilogHDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。2关于课程设计2.1课程设计目的理论联系实际,巩固和运用所学课程,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个智力抢答器的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机组成原理与系统结构,深入学习EDA技术,用VerilogHDL语言去控制将会使我们对本专业知识可以更好地掌握。2.2课程设计的内容1用EDA实训仪的I/O设备和PLD芯片实现智能电子抢答器的设计2智能电子抢答器可容纳4组参赛者抢答,每组设一个抢答器43电路具有第一抢答信号的鉴别和锁存功能。在主持人将复位按钮按下后开始抢答,并用EDA实训仪上面的八段数码管显示抢答者的序号,同时扬声器发出“嘟嘟”的响声,并维持3秒钟,此时电路自锁,不再接受其他选手的抢答信号4设置计分电路,每组开始时设置为6分,抢答后由主持人计分,答对一次加1分,错一次减1分。3开发工具简介3.1EDA技术EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。3.2硬件描述语言—VerilogHDLVerilogHDL是硬件描述语言的一种,用于数字电子系统设计。该语言是1983年由GDA(GateWayDesignAutomation)公司的PhilMoorby首创的。PhilMoorby后来成为Verilog-XL的主要设计者和Cadence公司(CadenceDesignSystem)的第一个合伙人。在1984-1985年间,PhilMoorby设计出第一个名为Verilog-XL的仿真器;1986年,他对VerilogHDL的发展又一次作出了巨大贡献——提出了用于快速门级仿真的XL算法。随着Verilog-XL算法的成功,VerilogHD语言得到迅速发展。1989年,Cadence公司收购GDA公司,VerilogHDL语言成为了Cadence公司的私有财产。1990年,Cadence公司决定公开VerilogHDL语言,并成立了OVI(OpenVerilogInternational)组织,并负责促进VerilogHDL语言的发展。基于VerilogHDL的优越性,IEEE于1995年制定了VerilogHDL的5IEEE标准,即VerilogHDL1364-1995;2001年发布了VerilogHDL1364-2001标准。3.3VerilogHDL的设计流程一般是:1.文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VerilogHDL文件保存为.v文件。2.功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只有在布线完成之后,才进行时序仿真)。3.逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf(EDIF)的EDA工业标准文件。(最好不用MAX+PLUSII进行综合,因为只支持VHDL/VerilogHDL的子集)4.布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到CPLD/FPGA内。5.时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序(也叫后仿真)。3.4FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。--2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和I/O引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。6目前FPGA的品种很多,有XILINX公司的Virtex系列、TI公司的TPC系列、ALTERA公司的Stratix系列等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。4设计过程4.1系统设计要求本设计的具体要求是:(1)设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮。(2)电路具有第一抢答信号的鉴别和锁存功能。在主持人按下复位按钮后,若参加者按抢答开关,则该组指示灯亮。此时,电路应具备自锁功能,使别组的抢答开关不起作用。(3)自锁后,用八段数码管显示抢答者的序号,同时扬声器发出“嘟嘟”并且持续3秒。(4)设置计分电路。每组在开始时预置成6,抢答后由主持人计分,答对一次加1,否则减1分。4.2系统设计方案根据系统设计要求可知,系统的输入信号有:各组的抢答按钮1、2、3、4,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口LEDA、LEDB、LEDC、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。本系统应具有的功能有:第一抢答信号的鉴别和锁存功能;数码管显示;计分控制。根据以上的分析,我们可将整个系统分为四个主要模块:抢答鉴别模7块;抢答计分模块;显示译码模块;EP1C3T144C8接口模块。抢答原理图显示蜂鸣原理图8计分显示模块(由于板大小限制,只显示两组)pcbEP1C3T144C8接口原理图系统的工作原理如下:当主持人按下使能端EN时,抢答器开始工作,1、2、3、4四位抢答者谁最先抢答成功则此选手的台号灯(LED1~LED4)将点亮,并且主持人前的组别显示数码管讲显示出抢答成功者的台号;接下来主持人提问,若回答正确,主持人按加分按钮,抢答积分模块将给对应的组加分,并将组的总分显示在对应的选手计分数码管上。在此过程中。完成第一轮抢答后,主持人清零,接着重新开始,步骤如上。4.3主要VHDL源程序moduleYangLu(clk,inputEn,inputL1,inputL2,inputL3,inputL4,Sig1,Sig2,Sig3,Sig4,Led,Buzzer);//一开始时声明有哪些端口//输入口9inputclk,inputEn,inputL1,inputL2,inputL3,inputL4;//输出口outputSig1,Sig2,Sig3,Sig4;output[0:7]Led;outputBuzzer;//在输出口配置个寄存器,以便运算regSig1=1'b1,Sig2=1'b1,Sig3=1'b1,Sig4=1'b1;reg[0:7]Led;regBuzzer;//配置寄存器,EnFl