基于fpga的电子抢答器的程序设计本科论文Word文档下载推荐.docx
《基于fpga的电子抢答器的程序设计本科论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于fpga的电子抢答器的程序设计本科论文Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
VHDL,FPGA,四路抢答器,仿真
目录
1概述1
1.1设计背景1
1.2抢答器现状1
1.3本论文主要完成的工作1
1.4设计心得2
2开发工具简介3
2.1VHDL语言简介3
2.2FPGA开发过程与应用4
2.2.1FPGA发展历程及现状4
2.2.2FPGA工作原理4
2.2.3FPGA开发流程5
2.3QuartusII软件6
3系统设计8
3.1系统设计要求8
3.2系统设计方案8
3.2.1系统硬件设计方案8
3.2.2系统软件设计方案8
3.3.3系统原理详述10
4电路程序设计及仿真12
4.1抢答锁存模块设计12
4.1.1VHDL源程序12
4.1.2抢答锁存电路的模块13
4.2仿真14
总结15
致谢17
参考文献18
郑州轻工业学院
课程设计任务书
题目基于FPGA的电子抢答器的程序设计
专业班级电子信息工程10-1班学号姓名
主要内容、基本要求、主要参考资料等:
主要内容:
抢答器是在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答者的机器。
要求学生使用硬件描述语言(Verilog或者VHDL)设计基于FPGA的电子抢答器的源程序。
实现如下功能:
设计一个四路抢答器;
在一路成功抢答有效后,其他三路均不能抢答,并且将抢答成功的一路用指示灯显示出来。
基本要求:
1、学会quartusII的使用,掌握FPGA的程序设计方法。
2、掌握硬件描述语言语法。
4、程序设计完成后要求在quartusII中实现功能仿真。
主要参考资料:
1、褚振勇.FPGA设计及应用(第三版)[M].西安电子科技大学出版社.2012,4
2、陈怀琛.MATLAB及在电子信息课程中的应用[M].北京:
电子工业出版社.2008,1
完成期限:
2013.6.21—2013.6.25
指导教师签名:
课程负责人签名:
2013年6月18日
1概述
1.1设计背景
现场可编程门阵列(简称FPGA)是20世纪80年代中期出现的高密度可编程逻辑器件,采用SRAM开关元件的FPGA是易失性的,每次重新加电,FPGA都要重新装入配置数据。
突出优点是可反复编程,系统上电时,给FPGA加载不同的配置数据,即可令其完成不同的硬件功能。
这种配置的改变甚至可以在系统的运行中进行,实现系统功能的动态重构。
“在系统可编程”(简称ISP)是指对器件、电路或整个电子系统的逻辑功能可随时进行修改或重构的能力,支持ISP技术的可编程逻辑器件称为在系统可编程逻辑器件,它不需要专门的编程器,利用计算机接口和一根下载电缆就可以对器件编程了。
本设计针对电子技术综合实验的要求,利用EDA技术中quartusII作为开发工具,设计了一款基于FPGA的智力竞赛抢答器。
1.2抢答器现状
在进行智力竞赛抢答题比赛时,各参赛者考虑后都想抢先答题。
如果没有合适的设备,有时难以分清他们的先后,使主持人感到为难。
为了使比赛能顺利进行,需要有一个能判断抢答先后的设备,我们将它称为智力竞赛抢答器。
在许多抢答竞赛、文体娱乐活动,为了准确、公正、直观地判断出第一抢答者,通常需要设置一台这样的抢答器,通过指示灯显示出第一抢答者。
1.3本论文主要完成的工作
本课程设计基于VHDL语言,采用FPGA为控制核心,并结合动手实践完成,具有电路简单、操作方便、灵敏可靠等优点。
设计四路抢答器使用VHDL硬件描述语言进行编程,分为七个模块:
系统达到要求:
1.4设计心得
通过这次课程设计,帮助我们加深理解FPGA程序设计方法,学会quartusII软件的使用,了解简单多功能抢答器组成原理,掌握在quartusII中实现功能仿真的方法,相应地提高动手能力和排障能力,并且良好地巩固已学的理论知识,将硬件描述语言语法与实践相结合。
通过分析多功能抢答器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。
2开发工具简介
2.1VHDL语言简介
VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。
1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。
自IEEE公布了VHDL的标准版本,IEEE-1076之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点
VHDL语言目前在数字设计领域已为广大设计者所接受,众多CAD厂商纷纷使自己新开发的电子设计软件与VHDL兼容,VHDL语言成了电子设计工程师必须掌握的工具。
在目前,CPU和可编程逻辑器件已经成为数字系统的硬件基础,从事数字系统的设计必须掌握可编程逻辑器件的设计方法,而VHDL语言作为可编程逻辑器件设计时最重要的输入方法,为所有可编程逻辑器件厂商所支持。
应用VHDL进行工程设计的优点是多方面的。
一、与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
二、VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
三、VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
四、对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
五、VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
2.2FPGA开发过程与应用
随着现场可编程逻辑器件越来越高的集成度,加上不断出现的I/O标准、嵌入功能、高级时钟管理的支持,使得现场可编程逻辑器越来越广泛。
2.2.1FPGA发展历程及现状
从Xilinx公司推出了世界上第一片FPGA(现场可编程逻辑芯片),FPGA已经历几十年的发展。
从最初的一千多可利用门,发展到90年代的几十万个可利用门,到十一世纪又陆续推出了几千万门的单片FPGA芯片。
FPGA使用灵活,适用性强,特别适用于复杂逻辑的设计,有利用电子系统小型化,而且其开发周期短、开发投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场。
2.2.2FPGA工作原理
FPGA采用了逻辑单元阵列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芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
2.2.3FPGA开发流程
FPGA开发流程可以分为如下几步:
①设计输入,设计输入主要包括原理图输入、状态图输入、波形图输入以及某种硬件描述语言,比如说是VHDL、Verilog的源程序。
它是利用这些输入去描述一个电路的功能。
②功能仿真,功能仿真就是利用相关仿真工具对相关电路进行功能级别仿真,也就是说对你的输入设计的逻辑功能进行相关的模拟测试。
在功能上面来了解电路是否能够达到预期要求。
这里的功能仿真纯粹是模拟性质的,不会设计的任何具体器件的硬件特性。
③综合,综合就是行为或者功能层次表达的电子系统转换成低层次门级电路的网表。
④布局布线,就是将综合后的网表文件针对某一个具体的目标器件进行逻辑映射。
此时应该使用FPGA厂商提供的实现与布局布线工具,根据所选芯片的型号,进行芯片内部功能单元的实际连接与映射。
⑤时序验证,就是要使得时序仿真过程中,建立与保持时间要符合相关的制约,以便数据能被正确的传输。
使仿真既包含门延时,又包含线延时信息。
能较好地反映芯片的实际