基于FPGA的抢答器毕业设计.docx

上传人:b****5 文档编号:28867136 上传时间:2023-07-20 格式:DOCX 页数:57 大小:337.34KB
下载 相关 举报
基于FPGA的抢答器毕业设计.docx_第1页
第1页 / 共57页
基于FPGA的抢答器毕业设计.docx_第2页
第2页 / 共57页
基于FPGA的抢答器毕业设计.docx_第3页
第3页 / 共57页
基于FPGA的抢答器毕业设计.docx_第4页
第4页 / 共57页
基于FPGA的抢答器毕业设计.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

基于FPGA的抢答器毕业设计.docx

《基于FPGA的抢答器毕业设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的抢答器毕业设计.docx(57页珍藏版)》请在冰豆网上搜索。

基于FPGA的抢答器毕业设计.docx

基于FPGA的抢答器毕业设计

摘要

本文介绍了一种采用EDA技术,在QuartusII工具软件环境下用VHDL语言编写的数码显示8路抢答器的电路组成、设计思路及功能。

抢答器同时供8名选手或8个代表队比赛,分别用8个按钮[1]~[8]表示。

设置一个系统清除和抢答控制开关,该开关由主持人控制。

抢答器具有锁存与显示功能,即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。

选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。

系统主芯片采用EP2C35F484C8,由基本时钟发生电路模块,复位电路模块,键盘防抖动模块,键盘扫描模块,数码管驱动模块,报警频率选择模块组成。

经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,从而完成抢答器功能。

关键词:

抢答器;硬件描述语言;可编程逻辑门阵列;

Abstract

ThisarticleintroducesanEDAtechnologytoolsinQuartusIIenvironmentusingVHDLlanguagedigitaldisplay8answeringdevicecircuitdesignideasandfeatures.

Respondersametimeforeightplayersoreightteamcompetition,witheightbuttons,respectively[1]~[8]said.Settingclearandanswerinasystemcontrolswitch,theswitchcontrolbythemoderator.Responderhasalatchanddisplay,theplayerpressthebutton,latchthecorrespondingnumber,speakeraudibleprompts,andseven-segmentdigitaltubedisplayinplayernumbers.Playersanswerintheimplementationoftheprioritylatch,firstanswerinplayernumbershasbeenmaintainedtohostthesystemcleared.

SystemmainchipEP2C35F484C8,fromthebasicclockcircuitmodule,resetthecircuitmodule,keyboardjuddermodule,thekeyboardscanmodule,adigitalcontroldrivemodule,alarmfrequencyselectionmodule.Thecompilationandsimulationprocessisdesigned,intheprogrammablelogicdevicetodownloadverification,thuscompletingtheResponderfeature.

Keywords:

Responder;VeryHardwareDescriptionLanguage;FPGA;

 

1绪论

1.1选题背景

现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。

支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。

前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronicdesignautomatic,EDA)技术。

本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力强,因此在实际应用中越来越广泛。

ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器。

而FPGA是特殊的ASIC芯片,与其他的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。

在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所设置的功能。

因此,键信息输入是与软件结构密切相关的过程。

根据键盘的结构不同,采用不同的编码方法。

但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。

1.1.1EDA技术的发展

EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

  20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。

在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。

这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

  EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

  利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

现在对EDA的概念或范畴用得很宽。

包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。

目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。

例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。

1.1.2课题研究的必要性

在科技爆炸式发展的今天,高新技术层出不穷。

数字抢答器作为日常工作学习娱乐当中都能用到的设备,其反映速度尤为重要。

FPGA作为新技术具有如下优点:

1,FPGA运行速度快。

 

2,FPGA管脚多,容易实现大规模系统。

 

3,FPGA内部程序并行运行,有处理更复杂功能的能力。

4,FPGA有大量软核,可以方便进行二次开发。

在进行智力竞赛时,每个参赛队员考虑后都希望抢答成功,如果没有合适的设备,主持人就会很难分辨出哪组队员抢答成功,为了使比赛顺利进行,设计了一款基于FPGA的抢答器。

所以学习FPGA利用FPGA进行高精度数字抢答器的设计十分必要。

1.2课题研究的内容

本课题研究的抢答器要求同时供8名选手或8个代表队比赛,选手按动按钮,,扬声器发出声响提示,并在七段数码管上显示选手号码。

选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。

当主持人未按下开关开始抢答前,参赛选手按下开关无效。

本设计第一章内容为绪论,简单介绍论文背景以及设计的意义。

第二章为方案介绍,介绍了本设计实现的主要技术以及方案的确定。

第三章为硬件部分介绍,主要实现各个功能模块的分析以及工作流程分析。

第四章为软件部分设计,介绍VHDL语言编程的相关模块实体,并通过流程图的形式,给出工作过程。

2系统方案设计

2.1FPGA简介

FPGA是现场可编程门阵列(FieldProgrammableGateArray)的简称,与之相应的CPLD是复杂可编程逻辑器件(ComplexProgrammableLogicDevice)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。

CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。

它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。

通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。

使用CPLA/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。

这些优点使得CPLA/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。

目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。

这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。

在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

  系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。

一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

  FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。

但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。

厂商也可能会提供便宜的但是编辑能力差的FPGA。

因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。

另外一种方法是用CPLD(复杂可编程逻辑器件备)。

  早在1980年代中期,FPGA已经在PLD设备中扎根。

CPLD和FPGA包括了一些相对大数量的可以编辑逻辑单元。

CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。

  CPLD和FPGA的主要区别是他们的系统结构。

CPLD是一个有点限制性的结构。

这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。

这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。

而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。

CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。

一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。

允许他们的设计随着系统升级或者动态重新配置而改变。

一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。

2.1.1FPGA基本结构

FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。

FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。

这3种可编程电路是:

可编程逻辑模块(CLB--ConfigurableLogicBlock)、输入/输出模块(IOB--I/OBlock)和互连资源(IR—InterconnectResource)。

可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。

1.CLB是FPGA的主要组成部分。

图2-1是CLB基本结构框图,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。

CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G’、F’和H’。

G有4个输入变量G1、G2、G3和G4;F也有4个输入变量F1、F2、F3和F4。

这两个函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数。

逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出G’和F’,而另一个输入信号是来自信号变换电路的输出H1。

这个函数发生器能实现3输入变量的各种组合函数。

这3个函数发生器结合起来,可实现多达9变量的逻辑函数。

CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB内部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。

这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。

CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。

F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到相应的组合逻辑函数输出。

另一方面,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用,它由信号变换电路控制。

2.输入/输出模块IOB。

IOB提供了器件引脚和内部逻辑阵列之间的连接。

它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。

每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。

当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。

缓冲器的输出分成两路:

一路可以直接送到MUX,另一路经延时几纳秒(或者不延时)

图2-1CLB基本结构

送到输入通路D触发器,再送到数据选择器。

通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。

当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径:

一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器。

IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻接通Vcc、地线或者不接通,用以改善输出波形和负载能力。

3.可编程互连资源IR。

可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。

IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。

2.1.2FPGA系统设计流程

一般说来,一个比较大的完整的项目应该采用层次化的描述方法:

分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是TOPDOWN(自顶向下)的设计方法。

目前这种高层次的设计方法已被广泛采用。

高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。

CPLD/FPGA系统设计的工作流程如图2-2所示。

图2-2FPGA设计流程

流程说明:

1.工程师按照“自顶向下”的设计方法进行系统划分。

2.输入VHDL代码,这是设计中最为普遍的输入方式。

此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。

3.将以上的设计输入编译成标准的VHDL文件。

4.进行代码级的功能仿真,主要是检验系统功能设计的正确性。

这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。

一般情况下,这一仿真步骤可略去。

5.利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。

综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。

6.利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。

一般的设计,也可略去这一步骤。

7.利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。

8.在适配完成后,产生多项设计结果:

(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。

根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。

如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。

最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。

2.1.3FPGA开发编程原理

硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实现方案,画出系统框图,选择芯片,设计PCB并最终形成样机。

CPLD/FPGA软件设计可分为两大块:

编程语言和编程工具。

编程语言主要有VHDL和Verilog两种硬件描述语言;编程工具主要是两大厂家Altera和Xilinx的集成综合EDA软件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGAExpress、Modelsim、SynposysSVS等)。

具体的设计输入方式有以下几种:

1.HDL语言方式。

HDL既可以描述底层设计,也可以描述顶层的设计,但它不容易做到较高的工作速度和芯片利用率。

用这种方式描述的项目最后所能达到的性能与设计人员的水平、经验以及综合软件有很大的关系。

2.图形方式。

可以分为电路原理图描述,状态机描述和波形描述3种形式。

有的软件3种输入方法都支持,如Active-HDL。

MAX+plusII图形输入方式只支持电路原理图描述和波形描述两种。

电路原理图方式描述比较直观和高效,对综合软件的要求不高。

一般大都使用成熟的IP核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑器件的内部去,所以硬件工作速度和芯片利用率很高,但是但项目很大的时候,该方法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路。

在图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件以及相应的输入输出,最后生成HDL语言描述,送去综合软件综合到可编程逻辑器件的内部。

由于状态机到HDL语言有一种标准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利用率主要取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接描述输入与输出的波形关系。

这种输入方式最后所能达到的工作速度和芯片利用率也是主要取决于综合软件。

2.1.4FPGA配置模式

  FPGA有多种配置模式:

并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

  如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。

如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。

  例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采用65nm工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。

超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。

此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。

  幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nmFPGA独特的设计挑战。

不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度帮助地系统设计工程师以更快、更高效的方式应用65nmFPGA器件。

设计软件供应商Magma推出的综合工具BlastFPGA能帮助建立优化的布局,加快时序的收敛。

最近FPGA的配置方式已经多元化!

2.2FPGA的应用

  FPGA的应用可分为三个层面:

电路设计,产品设计,系统设计

2.2.1电路设计中FPGA的应用

   连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石.事实上在电路设计中应用FPGA的难度还是比较大的这要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)这方面的人才总是紧缺的,往往都从事新技术,新产品的开发成功的产品将变成市场主流基础产品供产品设计者应用在不远的将来,通用和专用IP的设计将成为一个热门行业!

搞电路设计的前提是必须要具备一定的硬件知识.在这个层面,干重于学,当然,快速入门是很重要的,越好的位子越不等人电路开发是黄金饭碗.

2.2.2产品设计

  把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足行业需要并能被行业客户接受的产品这方面主要是FPGA技术和专业技术的结合问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及民用产品,前者重点在性能,后者对价格敏感产品设计以实现产品功能为主要目的,FPGA技术是一个实现手段在这个领域,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计将是FPGA技术应用最广大的市场,具有极大的爆发性的需求空间产品设计对技术人员的要求比较高,路途也比较漫长不过现在整个行业正处在组建"首发团队"的状态,只要加入,前途光明产品设计是一种职业发展方向定位,不是简单的爱好就能做到的!

产品设计领域会造就大量的企业和企业家,是一个近期的发展热点和机遇

2.2.3系统及应用

系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统如用Xilinx V-4,V-5系列的FPGA,实现内嵌POWER PC CPU,然后再配合各种外围功能,实现一个基本环境,在这个平台上跑LINIX等系统这个系统也就支持各种标准外设和功能接口(如图象接口)了这对于快速构成FPGA大型系统来讲是很有帮助的。

2.3抢答器总体设计方案

2.3.1抢答器的定义

什么是智能抢答器?

抢答器由单片机以及外围电路组成,由于采用电子技术,使得外围电路非常简单,但是功能并不比一般的抢答器少。

智能抢答器具备抢答、答题、必答、共答风险题、倒计时、电子记分等功能。

一键式快速简易的操作方式,声音、声音加全语音、音乐的四种声音自由选择的内存声音,竞赛中机器自动发音裁决某支代表队抢答成功或多支代表队犯规。

全自动、任意、半自动、可连续计时抢答的四套抢答模式,覆盖了中央电视台幸运52、SK状元榜、三星智力快车等节目,以及全国各省市电视台采用的竞赛抢答模式。

电脑型智能按钮会自动发出抢答指令亮(白光),抢答成功亮(绿灯),抢答犯规亮(红灯)属国内独创(专利产品)已于今年全新上市。

目前该套机型在业内最先进、最具稳定性、功能强大,安装简易(线一连即可)操作简单(一键式)。

模型如图2-3和图2-4。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1