8路抢答器基于fpga解析
fpga抢答器

基于FPGA的抢答器设计摘要:抢答器使用八个拨码开关,供选手抢答使用。
选择共阳数码管显示倒计时和抢答选手号。
在每个拨码开关的上方都有LED灯。
用一个独立按键独立按键实现复位和抢答开始功能。
开始,先十秒倒计时,到零后开始抢答,成功后,显示选手号和对应LED亮。
按复主持人通过复位按键清除抢答信息,并重新开始。
直接在开发板板上使用。
关键词:抢答器;数码管;FPGA1、引言硬件描述语言(Hardware Description Language )是硬件设计人员和电子设计自动化EDA工具之间的界面。
其主要目的是用来编写设计文件,建立电子系统行为级的仿真模型。
即利用计算机的巨大能力对用Verilog HDL或VHDL建模的复杂数字逻辑进行仿真,然后再自动综合以生成符合要求且在电路结构上可以实现的数字逻辑Netlist,根据型仿真验证无误后用于制造ASI C 芯片或写入 EPLD和 FPGA 器件中。
Verilog HDL是一种硬件描述语言( HD L:Hardware DiscriptionLanguage),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
Verilog HDL就是在用途最广泛的C 语言的基础上发展起来的一种件描述语言,它是由 GDA(Gateway Design Automation)公司的 PhilMoorby在 1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。
Verilog HDL的最大特点就是易学易用,如果有C 语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把Verilog HDL内容安排在与 ASIC 设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。
2.1系统总体框图和原理图2.1 系统总体框图抢答器整体电路设计有以下几个目标:( 1)实现八人抢答器,有人抢答成功后,其他人再抢答无效;( 2)通过倒计时来提示抢答开始,并在数码管上显示抢答者的序号以及显示相应LED灯·;( 3)主持人通过复位按键清除抢答信息,并开始 9秒的答题倒计时,当倒计时结束时,此时可以开始抢答我们设计的总体方案是将整个任务分成4个部分即分频(延时)部分、抢答模块、倒计时显示模块并LED显示模块。
八路智能抢答器剖析

单片机课程设计报告——八路智能抢答器系别:计算机与信息工程系专业:计算机应用技术专业班级:学号:姓名:辅导教师:摘要电子技术和微型计算机的迅速发展,促进微型计算机测量和控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。
单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。
因此一块芯片就构成了一台计算机。
它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。
在当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。
而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。
鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。
本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。
我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。
而且在显示时抢答器会发出叮咚声使效果更为生动。
工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。
关键词:单片机矩阵式键盘显示抢答器目录摘要 (2)第一章概述 (4)1.1八路智能抢答器的概述 (4)1.2 本设计的任务及要求 (4)基本功能 (4)1.3 系统主要功能 (4)第二章系统硬件设置 (5)2.1 芯片的选择 (5)2.2 工作原理 (5)2.3 系统的硬件构成及功能 (6)2.3.1 抢答器的电路 (6)2.3.2 单元电路设计 (7)2.3.2 定时电路的设计 (8)2.3.4 报警电路设计 (9)第三章系统软件设置 (9)3.1 系统主程序设计 (9)3.2 抢答器的源程序 (10)第四章技术指标及使用说明 (17)4.1 主要技术参数 (17)4.2 抢答器使用说明 (17)第五章设计心得 (19)参考文献 (20)第一章概述1.1八路智能抢答器的概述本设计是利用单片机实现的一个八路抢答器,其具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好, 具有较高的推广价值的无线遥控抢答器,它由8个发射器和1个接收器组成,可用于8组或8组以下的智力竞赛中。
8路抢答器电路制作原理分析

由CD4511构成的8路抢答器的工作原理
开关及二极管构 成的编码器
显示译码 器CD4511
七段数码显示器
主持人控 制的复位 开关
LOGO
8路抢答器的制作原理分析
采用CD4511数字集成电路制作的数字显示8路抢答器
设计要求: 1)设计一个可供8名选手参加比赛的8路数字显示抢答器,它们的编号分别为1 、2、3、4、5、6、7、8,各用一个抢答按钮,编号与参赛者的号码对应。 2)抢答器具有数据锁存功能,并将锁存的资料用LED数码管显示出抢答成功者 的号码。
1N4148
U1
2.5 V 7
1 2 6
DA DB DC DD
OA OB OC OD OE OF OG
13 12 11 10 9 15 14
4511BD_5V
2)显示译码器CD4511
LT:3脚是测试输入端,当BI=1,LT=0 时, 译码输出全为1,不管输入 DCBA 状态如何,七 段均发亮,显示“8”。它主要用来检测数码管 是否损坏。 1 2 BCD码输入端 BCD码输入端 9 10 显示输出端 显示输出端
1N4148 D14 1N4148
X3 R5 100kΩ
2.5 V
2N2222A
RPACK 7
1)抢答器开关及编码电路如图
VCC 5V SB1 D1 Key = 1 SB2 D2 Key = 2 SB3 1N4148 D3 1N4148 Key = 3 SB4 D4 1N4148 D5 Key = 4 SB5 1N4148 D6 1N4148 D7 Key = 5 SB6 1N4148 D8 1N4148 D9 Key = 6 SB7 1N4148 D10 1N4148 D11 Key = 7 SB8 Key = 8 1N4148 D12 1N4148 R1 R2 R3 R4 10kΩ 10kΩ 10kΩ 10kΩ X3 X4 2.5 V
基于FPGA的抢答器毕业设计

摘要本文介绍了一种采用EDA技术,在QuartusII工具软件环境下用VHDL语言编写的数码显示8路抢答器的电路组成、设计思路及功能。
抢答器同时供8名选手或8个代表队比赛,分别用8个按钮[1]~[8]表示。
设置一个系统清除和抢答控制开关,该开关由主持人控制。
抢答器具有锁存与显示功能,即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
系统主芯片采用EP2C35F484C8,由基本时钟发生电路模块,复位电路模块,键盘防抖动模块,键盘扫描模块,数码管驱动模块,报警频率选择模块组成。
经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,从而完成抢答器功能。
关键词:抢答器;硬件描述语言;可编程逻辑门阵列;AbstractThis article introduces an EDA technology tools in QuartusII environment using VHDL language digital display 8 answering device circuit design ideas and features.Responder same time for eight players or eight team competition, with eight buttons, respectively [1] ~ [8] said. Setting clear and answer in a system control switch, the switch control by the moderator. Responder has a latch and display, the player press the button, latch the corresponding number, speaker audible prompts, and seven-segment digital tube display in player numbers. Players answer in the implementation of the priority latch, first answer in player numbers has been maintained to host the system cleared.System main chip EP2C35F484C8, from the basic clock circuit module, reset the circuit module, keyboard judder module, the keyboard scan module, a digital control drive module, alarm frequency selection module. The compilation and simulation process is designed, in the programmable logic device to download verification, thus completing the Responder feature.Key words:Responder;Very Hardware Description Language; FPGA;目录摘要 (I)Abstract (II)1 绪论 (1)1.1 选题背景 (1)1.1.1 EDA技术的发展 (1)1.1.2课题研究的必要性 (2)1.2课题研究的内容 (2)2 系统方案设计 (3)2.1 FPGA简介 (3)2.1.1 FPGA基本结构 (4)2.1.2 FPGA系统设计流程 (5)2.1.3 FPGA开发编程原理 (7)2.1.4 FPGA配置模式 (7)2.2 FPGA的应用 (8)2.2.1 电路设计中FPGA的应用 (8)2.2.2 产品设计 (8)2.2.3 系统及应用 (9)2.3抢答器总体设计方案 (9)2.3.1抢答器的定义 (9)2.3.2 本文设计的抢答器的构成 (10)2.3.3 抢答器的工作原理 (10)3 系统硬件设计与实现 (12)3.1基本时钟发生模块 (12)3.2键盘防抖动模块 (13)3.2.1键盘的作用 (13)3.2.2键盘系统设计 (13)3.2.3键盘防抖动模块工作方式 (14)3.4键盘扫描模块 (15)3.5数码管驱动模块 (16)3.6报警频率选择模块 (17)4 抢答器的程序设计与实现 (18)4.1 基本时钟发生程序设计 (18)4.2 键盘防抖动程序设计 (18)4.3 键盘扫描程序设计 (19)4.4 数码管驱动程序设计 (19)4.5 报警频率选择程序设计 (20)结论 (22)致谢 (23)参考文献 (24)附录一 (25)附录二 (34)附录三 (45)1 绪论1.1 选题背景现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。
八位竞赛抢答器

摘要抢答器的设计是基于VHDL语言,可以支持八个选手抢答,抢答器不仅具有倒计时功能,具有计数功能,还准备了重置的功能。
抢答器主要包含第一判断电路模块、倒计时电路模块、计分电路模块、显示电路模块以及位选择电路模块。
参赛选手如果成功抢答,则开始倒计时,答对者可以得到相应的分数,答错不扣分。
通过利用QUARTUS 软件完成相应的底层代码编写,用这些底层的模块来构建顶层模块,以及对顶层模块仿真、编译,以实现我们所需要的功能。
关键字:抢答器;EDA;VHDL;FPGADesign of 8 bit contest Responder based on FPGAAbstractResponder this design is based on VHDL language, supporting eight players responder.Responder has not only the function of the countdown has counting comprises a first judgment circuit module,coutdown circuit module, scoringmodule, display circuit module and a selection circuit module. If the contestants are successful to require the answer firstly, then the responder will start the countdown, you can get the corresponding scores, wrong answers are not penalized. By using the QUARTUS software to complete the underlying code written by the corresponding, the underlying model to construct the top module, as well as the top module, compiled simulation, in order to realize the functions we need.Keywords:Responder; EDA; VHDL; FPGA目录摘要 (I)Abstract (II)第一章绪论 (3)1.1 引言 (3)1.2 电子抢答器研究的背景与意义 (3)1.3 系统设计要求 (4)第二章电子抢答器总体设计方案 (5)2.1 系统总体方案设计 (5)2.2 主控芯片简介 (5)2.2.1 FPGA和CPLD器件 (5)2.2.2 可编程逻辑器件分类 (6)2.2.3 FPGA的基本结构 (6)2.3 EDA技术 (7)2.4 VHDL (8)2.4.1 关于VHDL (8)2.4.2 VHDL语言程序结构 (8)2.4.3 VHDL语言描述方式 (8)第三章电子抢答器的具体设计方案 (9)3.1 系统具体方案设计 (10)3.2 主要模块设计 (11)3.2.1 第一判断电路 (11)3.2.2 计分电路 (12)3.2.3 倒计时电路 (13)3.2.4 显示电路 (13)3.2.5 位选选择电路 (14)第四章电子抢答器系统仿真与分析 (15)4.1 系统总原理图分析与仿真 (15)4.2 倒计时模块分析与仿真 (17)4.3 判断电路模块分析与仿真 (17)4.4计分模块分析与仿真 (18)结束语 (18)致谢............................................... 错误!未定义书签。
基于FPGA的八位数字抢答器

一、课程设计的内容通过学习掌握使用可编程逻辑器件和QuartusII 软件的基本使用,利用QuartusII 软件各种器件进行多路智力竞赛抢答器设计;利用DE2板对所设计的电路进行验证;总结电路设计结果。
通过设计掌握基本工程设计方法,提高动手能力。
二、课程设计的要求与数据八位数字抢答器设计要求:1). 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0 ~ S7表示。
2). 设置一个系统清除和抢答控制开关S,该开关由主持人控制。
3). 抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。
4). 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如,30秒)。
当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。
5). 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
6). 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
三、课程设计应完成的工作利用QuartusII 软件各种器件画出八位数字抢答器的原理图。
对原理图进行编译修改错误;设计引脚,再重新编译;进行仿真,根据仿真结果观察设计是否符合设计要求。
然后加载到DE2板上,验证电路是否正确。
对设计进行优化、完善。
附加要求:写出设计的VHDL源程序,利用QuartusII 软件生成原理图。
进行编译修改错误;设计引脚,再重新编译;进行仿真,根据仿真结果观察设计是否符合设计要求。
然后加载到DE2板上,验证电路是否正确。
四、课程设计进程安排序号设计各阶段内容地点起止日期1熟悉QuartusII 软件,掌握QuartusII 软件的基本使用实验2号楼2142007-11-26上午2 根据设计要求进行方案设计,利用基本器件用笔画出基本原理图,给老师检修实验2号楼2142007-11-26下午至273 利用QuartusII 软件进行设计,画出原理图。
太原理工大学EDAFPGA八路抢答器应用设计课程设计讲述

一、设计目的1、加深对VHDL语言设计的理解;2、通过对抢答器的设计加深对CPLD/FPG课程理解3、通过对抢答器的设计了解简易集成电路的设计思路。
二、设计要求1.设计具有一个可容纳8组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。
2.主持人按键清零,数码管显示0,进入抢答状态;3.主持人发出开始命令,8人开始抢答,若有人先按下抢答按钮,数码管显示该组号码,其他人再按抢答按钮,系统不再响应;4.设置记分电路,可显示每组选手的分数;5.设置计时显示。
三、设计方案根据系统设计要求可知,系统的输入信号有:各组的抢答按钮A、B、C、D、E、F、G、H,系统清零信号CLR,系统时钟信号CLK,计分复位信号RET,加分按钮信号ADD,计时预置控制信号LDN,计时使能信号EN,计时预置调整信号按钮AN、BN,系统的输出信号有:4个组抢答成功与否的指示灯控制信号输出口LEDA、LEDB、LEDC、LEDD、LEDE、LEDF、LEDG、LEDH,4个组抢答时的计时数码管显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
本次课程设计的主要目的旨在通过独立完成一个“抢答器”的设计,达到对EDA技术的熟练掌握,提升对《CPLD/FPGA技术及应用》课程所学内容的掌握和应用。
以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
基于VHDL程序设计中拥有输入设计流程 ,其包括设计输入,综合,适配,仿真测试和编程下载等方法。
与其他应用软件相比,他提供了更强大、更直观便捷和操作灵活的原理图输入设计功能,同时还配备了更丰富的适用于各种需要的元件库,其中包括基本的逻辑元件,宏功能元件,以及类似于IP核的参数可设置的宏功能块LPM库。
八路抢答器原理分析

八路抢答器原理分析八路抢答器主要由编码电路、锁存/译码/驱动电路于一体的CD4511集成电路、数码显示电路和报警电路组成。
抢答器编码电路由VD1-VD12组成,实现数字的编码。
CD4511是一块含BCD-7段锁存/译码/驱动电路于一体的集成电路。
报警电路由NE555接成多谐振荡器构成。
数码显示电路由数码管组成,输入的BCD 码自动地由 CD4511电路译码成十进制数,然后在数码管上显示。
抢答器报警电路由NE555接成多谐振荡器,其中R16=R17=10KΩ,扬声器通过100uF的电容器接在NE555 IC的3脚与0.1uF的电容器之间。
R16没有直接和电源相接,而是通过四只1N4148组成二极管或门电路,四只二极管的阳极分别接CD4511的1,2,6,7脚,任何抢答按键按下,报警电路都能振荡并发出响声。
KB1-KB8组成1-8路抢答键,VD1-VD12组成数字编码器,任一抢答案键按下,都须通过编码二极管编成BCD码,将高电平加到CD4511所对应的输入端,其中CD4511的引脚6,2,1,7分别为BCD码的D,C,B,A(D为高位,A为低位,即D,C,B,A分别代表BCD码的8,4,2,1位)。
当电路通电,主持人按下复位键KB9后,选手就可以开始抢答。
设按下KB8键,高电平加到CD4511的6脚,而2,1,7脚保持低电平,此时CD4511输入BCD码“1000”。
如果按下KB3抢答键,高电平通过编码二极管VD3、VD4加到CD4511集成芯片的1、7脚(B、A位),1、7脚为高电平,2、6脚保持低电平,此时CD4511输入BCD码为“0011”。
假设按下KB5键,此时高电平通过两只二极管VD6,VD7加到CD4511的2脚与7脚,而6,1脚保持低电平。
此时CD4511输入的BCD码是“0101”。
依此类推,按下第几号抢答键,输入的BCD码就是抢答键的号码并自动地由CD4511内部电路译码成十进制数在数码管上显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的多路数字抢答器的设计摘要:本文主要介绍了以FPGA为基础的八路数字抢答器的设计,首先对各模块的功能进行分配,此次设计主要有七个模块,依次为分频模块、抢答模块、加减分模块、倒计时模块、设置倒计时模块、蜂鸣器模块和数字显示模块。
主持人按下开始键可以实现抢答开始,选手号的显示,加减分模块,积分的显示,积分的重置,并启动倒计时模块;若有选手犯规或者倒计时记到五秒,停止倒计时,开启蜂鸣器,并为进入加减分模块做准备。
此次设计程序用Quartus II12.0为软件开发平台,用Verilog语言来编写,使用模块化编程思想,自上向下,通过寄存器变量来控制各个模块的运行。
本次设计采用FPGA来增强时序的灵活性,由于FPGA的I/O端口资源丰富,可以在此基础上稍加修改可以增加很多其他功能的抢答器,因此后期可塑性很强,因为核心是FPGA芯片,外围电路比较简单,可靠性强、运算速度高,因此便于维护,并且维护费用低。
关键词:FPGA、抢答器、倒计时、犯规报警、加减分、显示目录第一章绪论................. . (2)第二章 FPGA原理及相关开发工具软件的介绍 (3)2.1 FPGA的简介..... . (3)2.1.1 FPGA的发展与趋势......... .. (3)2.1.2 FPGA的工作原理及基本特点 (4)2.1.3 FPGA的开发流程 (5)2.1.4 FPGA的配置... . (5)2.2 软件介绍............... .. (6)2.2.1 Verilog HDL的介绍........... .. (6)2.2.2 Quartus II软件.................... .. (7)第三章数字抢答器系统设计方案和主要模块 (8)3.1 功能描述及设计架构...... .. (8)3.2 抢答器程序流程图以及各模块代码分析 (10)3.2.1 抢答器程序结构及主程序流程图 (10)3.2.2 秒分频模块 (15)3.2.3 倒计时以及倒计时剩5S时报警模块...... 错误!未定义书签。
3.2.4 倒计时显示及倒数计时设置显示模块 (20)3.2.5 选手号显示及违规报警模块 (26)3.2.6倒计时设置模块 (30)3.2.7顶层模块 (35)3.3 硬件电路 (37)3.3.1 按键电路图 (38)3.3.2 数码管显示电路图 (38)3.3.2 蜂鸣器电路图 (39)第四章管脚分配及功能 (40)第五章总结 (41)参考文献 (418)第一章绪论1.1 课题研究背景随着社会的发展,各种竞赛比赛日益增多,抢答器以它的方便快捷、直观反映首先取得发言权的选手等优点,深受比赛各方的辛睐,市场前景一片大好。
另一方面随着电子科技的发展,抢答器的功能以及实现方式也越来越多,产品的可靠性以及准确性也越来越强。
能够实现多路抢答器功能的方式有很多种,主要包括前期的数字电路、模拟电路以及数字电路与模拟电路组合的方式,但是这种方式制作过程比较复杂,并且可靠性准确性不高,研发周期也比较长。
目前对于抢答器的功能描述,如涵盖抢答器、选手答题计时、限时抢答以及犯规组号抢答器具有抢答自锁,暂停复位、电子音乐报声、灯光指示、自动定时等功能,还有工作模式的切换和时间设定,对于这些随着科学技术的发展,肯定还要得到进一步的改进。
发展趋势一般都要趋向于智能化,并且设计更加合理化。
1.2 研究内容及意义通过抢答器的使用,可以在各类比赛中特别是抢答环节,直观明了的看出是哪一组抢到了题目,比起通过肉眼来判断,更加的精确,同时也少了不必要的纷争,使得比赛更加的公平、公开、公正。
抢答器的这些优点使得它在比赛中得以广泛的应用。
抢答器经过发展从最初的只有几个三极管、可控硅、发光管等组成,能通过发光管的指示辨认出选手号码;到现在使用高速处理芯片和集成数字电路;从起初单片机到现在的ARM 和FPGA,技术手段进一步成熟,同时技术的发展也为抢答器增加了很多更加贴近比赛的新功能,如选手号码显示、倒计时、选手得分显示等等。
这类抢答器制作并不复杂,但是准确度和可靠性都比较可观,并且易于安装和维护。
第二章 FPGA原理及相关开发工具软件的介绍2.1 FPGA的简介2.1.1 FPGA的发展与趋势现场可编程门阵列FPGA(Field-Programmable Gate Array),它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
系统设计师可以根据需要通过可编辑的连接把FPGA 内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。
一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。
但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。
厂商也可能会提供便宜的但是编辑能力差的FPGA。
因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。
另外一种方法是用CPLD(复杂可编程逻辑器件备)。
2.1.2 FPGA的工作原理及基本特点FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。
FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA 进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM 编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
2.1.3 FPGA的开发流程FPGA开发流程可以分为如下几步:①设计输入,设计输入主要包括原理图输入、状态图输入、波形图输入以及某种硬件描述语言,比如说是Verilog、VHDL的源程序(此次设计主要是使用Verilog)。
它是利用这些输入去描述一个电路的功能。
②功能仿真,功能仿真就是利用相关仿真工具对相关电路进行功能仿真,也就是对你的输入设计的逻辑功能进行相关的模拟测试。
从功能上来了解电路是否能够达到预期要求。
这里的功能仿真纯粹是模拟性质的,不会设计的任何具体器件的硬件特性。
③综合,综合就是行为或者功能层次表达的电子系统转换成低层次门级电路的网表。
④布局布线,就是将综合后的网表文件针对某一个具体的目标器件进行逻辑映射。
此时应该使用FPGA厂商提供的实现与布局布线工具,根据所选芯片的型号,进行芯片内部功能单元的实际连接与映射。
⑤时序验证,就是要使得时序仿真过程中,建立与保持时间要符合相关的制约,以便数据能被正确的传输。
使仿真既包含门延时,又包含线延时信息。
能较好地反映芯片的实际工作情况。
⑥生成SOF等文件,此文件可以通过调试器把它下载到系统中间去。
而FPGA 设计流程的其他步骤基本上由相关工具去完成,因此只要自己设置好相关参数,不要人为干预太多。
而验证的话就需要用户花费大量的时间去完成。
2.1.4 FPGA的配置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工具供应商正在通力合作解决65nm FPGA独特的设计挑战。
不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度地帮助系统设计工程师以更快、更高效的方式应用65nm FPGA器件。
设计软件供应商Magma推出的综合工具Blast FPGA能帮助建立优化的布局,加快时序的收敛。
最近FPGA的配置方式已经多元化!FPGA主要生产厂商:1、Altera2、Xilinx3、Actel4、Lattice其中Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。
Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺。
2.2 软件介绍2.2.1 Verilog HDL的介绍Verilog HDL是在1983年有GDA(GateWay Design Automation)公司首创的一种硬件描述语言,用于数字电子系统设计。