频率计毕业设计fpga.docx
- 文档编号:27843182
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:45
- 大小:698.16KB
频率计毕业设计fpga.docx
《频率计毕业设计fpga.docx》由会员分享,可在线阅读,更多相关《频率计毕业设计fpga.docx(45页珍藏版)》请在冰豆网上搜索。
频率计毕业设计fpga
频率计毕业设计fpga
摘要
近些年来,随着微电子技术的发展,可编程逻辑器件在集成度、速度等性能方面也获得了空前的发展,数字频率计是数字信号处理中的重要内容之一,本文主要研究了如何使用FPGA设计和实现数字频率计,详细论述了利用VHDL硬件描述语言设计,并在EDA(电子设计自动化)工具的帮助下,用大规模可编程逻辑器件(FPGA/CPLD)实现数字频率计的设计原理及相关程序。
特点是:
无论底层还是顶层文件均用VHDL语言编写,避免了用电路图形式设计时所引起的毛刺现象;改变了以往数字电路小规模多器件组合的设计方法,整个频率计设计在一块FPGA/CPLD芯片上,与用其他方法做成的频率计相比,体积更小,性能更可靠。
关键字:
数字频率计;电子设计自动化;大规模可编程逻辑器
Abstract
Withthedevelopmentofthemicroelectronictechnology,muchimprovementhasbeenachievedinthePLDtechniques.Digitalcymometerisoneoftheimportantcontentsofdigitalsignalprocess.ThispaperhasstudiedhowtodesignandrealizedigitalcymometerwithFPGA,discussesdigitalcymometerdesignprinciplesandproceduresbyusingVHDLhardwaredescriptiveprogramming,EDAtoolsandonthebasisofgrandscaleprogrammablelogicdeviceFPGA/CPLD.Themainpointofthisarticleisthatbothbottom’sandtop’sdocumentsarewrittenbyVHDLprogramming,whichavoids“roughphenomenon”,aphenomenoncausedbyusingelectriccircuitpicturestyledesign.Thissoftwareprocedureisdifferentfromtraditionaldigitalcircuitdesignatsmallscaleandcomposedofmanydevices.Instead,thewholecymometerisdesignedonaFPGA/CPLDandiscomposedofadecimalsystemcymometer.Comparedwithothercymometer,itissmallinvolumeandhasreliablefunctions.
Keywords:
digitalcymometer;EDA;FPGA/CPLD
第1章绪论
1.1引言
FPGA/CPLD是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和PLD器件的灵活性和易用性,目前已成为一类主要的可编程器件。
可编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。
使得硬件的设计可以如软件设计一样方便快捷,从而改变了传统数字系统及用单片机构成的数字系统的设计方法、设计过程及设计观念,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。
采用FPGA/CPLD可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现。
既定的系统功能,在设计过程中,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的FPGA/CPLD和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度,同时,这种基于可编程芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。
EDA(电子设计自动化)技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作(本文选用的开发工具为Altera公司的MAX+PLUSⅡ)。
EDA的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。
设计者的工作仅限于利用软件方式,即利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果,这使得对整个硬件系统的设计和修改过程如同完成软件设计一样方便、高效。
基于EDA技术的设计方法为“自顶向下”设计,其步骤是采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行行为描述和定义,结合多层次的仿真技术,在确保设计的可行性与正确性的前提下,完成功能确认。
然后利用EDA工具的逻辑综合功能,把功能描述转换为某一具体目标芯片的网表文件,经编程器下载到可编程目标芯片中(如FPGA芯片),使该芯片能够实现设计要求的功能。
这样,一块芯片就是一个数字电路系统。
使电路系统体积大大减小,可靠性得到提高。
1.2数字频率计的工作原理
频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于一秒。
闸门时间越长,得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。
闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。
本文。
数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。
如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。
因此,数字频率计是一种应用很广泛的仪器
电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路。
数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。
集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2大类。
数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。
一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上却有着严格的要求,这是数字电路的一个特点。
数字集成电路作为电子技术最重要的基础产品之一,已广泛地深入到各个应用领域
VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(TheInstituteofElectricalandElectronicsEngineers)的一种工业标准硬件描述语言。
相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(ToptoDown)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。
从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路的设计。
数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。
随着复杂可编程逻辑器件的广泛应用,以EDA工具作为开发手段,运用VHDL语言。
将使整个系统大大简化。
提高整体的性能和可靠性。
1.3FPGA实现频率计的优点
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。
在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。
该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。
1.4本文研究内容
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
电子计数器测频有两种方式:
一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。
直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。
本文主要研究了如何使用FPGA设计和实现数字频率计,详细论述了利用VHDL硬件描述语言设计,并在EDA(电子设计自动化)工具的帮助下,用大规模可编程逻辑器件(FPGA/CPLD)实现数字频率计的设计原理及相关程序。
特点是:
无论底层还是顶层文件均用VHDL语言编写,避免了用电路图形式设计时所引起的毛刺现象;改变了以往数字电路小规模多器件组合的设计方法,整个频率计设计在一块FPGA/CPLD芯片上,与用其他方法做成的频率计相比,体积更小,性能更可靠。
第2章MAX+PLUSII软件介绍
2.1MAX+plusII简介
MAX+PLUS是美国Altera公司的一种EDA软件,用于开发CPLD和FPGA,进行数字系统的设计。
它可运行在Unix、WindowsNT、Windows95/98、Windows2000、WindowsXP等几乎所有目前流行的操作系统下,是一个用于可编程逻辑器件(CPLD)的集成化软件包,包括Classic、MAX3000A、MAX5000、MAX7000、MAX9000、FLEX6000、FLEX8000以及FLEX10K系统器件。
该软件由11个应用程序构成:
5个编辑器---图形编辑器、符号编辑器、文本编辑器、波形编辑器和平面布置编辑器,通过这5个编辑器可进入设计程序;1个编译器,能对项目进行逻辑综合并能得到最优的资源配置;1个定时分析器,能对已编译项目的有关变量进行精确的时序分析;1个仿真器,可对已编译的系统进行仿真,进行精确的综合逻辑功能检查;1个编程器,能对编译器产生的编程文件进行编程;1个信息处理器,能够与MAX+plusII所有应用程序进行信息交换,记录错误并发出警告内容;1个项目分组系统显示程序。
2.2AX+plusII的主要特点
(1)与结构无关。
MAX+plusII编译器(Compiler)是系统的核心,它支持Altera的所有PLD系列,为设计者提供了一个真正与结构无关的可编程逻辑设计环境。
该编译器还强有力地支持逻辑综合和逻辑简化,使设计者可以比较容易地将其设计集成到器件中。
(2)全集成化。
MAX+plusII的设计输入、编译处理、功能校验全部集成在统一的开发环境下,可以加快动态调试,缩短开发周期。
(3)兼容性强。
MAX+plusII与其他工业标准(如Xilinx的网表文件、VerilogHDL网表文件、标准延迟格式(SDF,standarddelayformat)文件、标准EDIF网表文件、VHDL文件以及CAD原理图绘制文件)的设计输入、逻辑综合和校验工具结合密切。
设计者可以用Altera或标准的EDA设计输入工具生成一个逻辑设计,再用MAX+plusIICompiler将设计编译到Altera器件中。
(4)硬件描述语句。
MAX+plusII支持各种HDL设计输入形式,包括VHDL、VerilogHDL和Altera公司的硬件描述语言AHDL。
2.3设计流程
使用MAX+plusII软件开发工具进行设计的整个过程如图1所示,大体上可分为四个阶段:
设计输入、设计实现、设计验证和器件编程。
具体如下。
(1)设计输入。
MAX+plusII支持多种设计输入方式,如原理图输入、文本输入、波形输入以及它们的混合输入,此外还支持标准的EDA格式文件输入等。
(2)设计处理。
这是电路设计中的核心环节。
在设计处理过程中,MAX+plusII的Comliler(编译器)将对设计输入文件进行逻辑化简、综合、优化和适配,最后生成编程用的编程文件。
(3)设计校验。
MAX+plusII为设计者提供了省时、省力的项目验证方法:
设计仿真和定时分析。
其目的是检验电路的逻辑功能是否正确,同时测试目标器件在最差情况下的时间关系。
这个过程对于检验组合逻辑电路的竞争冒险现象以及检查时序逻辑电路的时序、延时等指标非常重要。
(4)器件编程。
当电路设计、校验完成后,MAX+plusII的Programmer(编程器)将编译器所生成的编程文件下载到具体的可编程器件中,即实现目标器件的物理编程。
对于在系统的可编程器件而言,只需1根编程电缆就可完成下载任务。
第3章数字频率计的FPGA设计
3.1FPGA的结构与编程原理
3.1.1XilinxFPGA的结构与编程原理
现场可编程门阵列(FPGA)器件是Xilinx公司1985年首家推出的,它是一种新型的高密度PLD(ProgrammableLogicDevice,可编程逻辑器件)。
FPGA内部由许多独立的可编程逻辑模块(ConfigurableLogicBlock,CLB)组成,逻辑块之间可以灵活地相互连接。
FPGA的结构一般分为三部分:
可编程逻辑块、可编程I/O模块和可编程内部连线。
结构示意图3.1.1如下:
(1)CLB模块
CLB是FPGA的主要组成部分,是实现逻辑功能的基本单元,CLB主要是由逻辑函数发生器、触发器、数据选择器等电路组成。
CLB的功能很强,不仅能够实现逻辑函数,还可以配置成RAM等复杂的形式,配置数据存放在片内的SRAM或熔丝图上,基于SRAM的FPGA器件工作前需要从芯片外部加载配置数据。
配置数据可以存储在片外的EPROM或计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即现场可编程。
(2)I/O模块IOB(Inpunt/OutputBlock)
IOB提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。
主要是由触发器、输入缓冲器、输出触发器和输出缓冲器组成,每个IOB控制一个引脚,可被配置为输入、输出或双向I/O功能。
(3)可编程互连资源
可编程互连资源包括各种长度的金属连线线段和一些可编程开关,它们将各个CLB之间和CLB与IOB之间互相连接起来,构成各种复杂功能的系统。
FPGA的发展非常迅速,形成了各种不同的结构。
按逻辑功能块的大小分类,FPGA可分为细粒度FPGA和粗粒度FPGA。
细粒度FPGA的逻辑功能块较小,资源可以充分利用,但连线和开关多,速度慢;粗粒度FPGA的逻辑功能块规模大,功能强,但资源不能充分利用。
从逻辑功能块的结构上分类,可分为查表结构、多路开关结构和多级与非门结构。
根据FPGA内部连线的结构不同,可分为分段互连型FPGA和连续互连型FPGA两类。
分段互连型FPGA中具有各种不同长度的金属线,各金属线段之间通过开关矩阵或反熔丝编程连接,走线灵活方便,但是无法预测走线延时;连续互连型FPGA是利用相同长度的金属线,连接与距离远近无关,布线延时是固定的和可预测的。
Xilinx公司提供的产品有XC4000XC5200,XC9500,XC9500XL,Spartan,Virtex系列。
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作为微处理器的外设,由微处理器对其编程。
3.1.2XilinxFPGA设计流程及本文的设计方式选择
Xilinx作为当今世界上最大的FPGA/CPLD生产商之一,提供了多种支持XilinxFPGA/CPLD结构的开发系统开发产品,其中包括具有当代水平的设计软件,与流行原理图编辑器和时序仿真器配合的库和接口软件,以及基于行为级的设计输入工具等等。
其开发软件不断升级,由早期的Foundation系列逐步发展到现在的ISE6.X系列。
ISE是集成综合环境的简称,本文设计选用的是ISE6.5。
完整的XilinxFPGA设计流程包括电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真和下板调试等主要步骤。
电路设计与输入(DesignEntry)
电路设计与输入是根据工程师的设计方法将所设计的功能描述给EDA软件。
通常采用硬件描述语言(HDL)和原理图设计输入方法。
但原理图设计输入法在大型的设计中维护性差,而且所选用的芯片升级换代后,所有的原理图都要作相应的改动。
HDL设计输入法中使用最为广泛的语言是VHDL、VerilogHDL,它们共同特点是利于由顶向下设计,利于模块的划分和复用,可移植性好,通用性好。
波形输入法和状态机输入法是两种常用的辅助设计输入方法,可以在某些特殊情况下缓解设计者的工作量。
本文设计选用的是VHDL语言的设计。
功能仿真(BehavioralSimulation)
通过功能仿真可以验证电路功能是否符合设计要求,及时发现设计中的错误,加快设计进度,提高设计的可靠性。
常用仿真工具有:
ModelTech公司的Modelsim,Synopsys公司的VCS,Canence公司的NC-Verilog和NC-VHDL等。
本文设计选用的是ModelsimSEV5.7e。
综合(Synthesize)
综合指将HDL语言,原理图等设计输入翻译成由与门,或门,非门,RAM寄存器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求优化所生成的逻辑连接,输出edf和edn等格式的文件,供FPGA厂家的布局布线器进行实现。
常用FPGA综合工具有:
Synplicity公司的Synplify/SynplifyPro,Synopsys公司的FPGACompilerII,Xilinx集成开发环境自带的XST(XilinxSynthesisTechnology)等。
由于Xilinx对自己的FPGA/CPLD内部结构最为了解,所以本文设计选用的是XST。
综合后仿真(Post-synthesizeSimulation)
综合后仿真用于检查综合结果是否与原设计一致。
综合后仿真把综合生成的延时文件反标到综合仿真模型中,可估计门延时带来的影响,但是不能估计连线延时,仿真结果与布线后实际情况还有差距。
实现(Implementation)
使用FPGA厂商提供的工具软件,根据所选芯片型号,将综合输出的逻辑网表示配置到具体的FPGA器件上。
对于XilinxFPGA,实现过程分为:
翻译(Translate),映射(MAP)和布局布线(PlaceandRoute)三个步骤。
因为只有器件开发商最了解器件的内部结构,所以实现步骤必须选用器件开发商提供的软件工具。
布线后仿真(Post-Place&RouteSimulation)
布线后仿真即时序仿真,是将布局布线的延时文件反标到设计中,使仿真既包含门延时,又包括连线延时,全面准确的反映芯片的实际工作情况。
下板调试(Download)
设计的最后步骤是将生成的配置文件写入芯片中进行测试。
ISE中包含下载工具IMPACT,它具有生成PROM格式的下载文件、向FPGA/CPLD/PROM下载配置文件、验证配置数据是否正确等功能。
本文运用的配置模式为JTAG模式(边界扫描模式),通过TDI(数据输入)、TDO(数据输出)、TMS(测试模式)、TCK(测试时钟)等四根信号线实现FPGA的下载与配置。
这种模式下,每个TCK传送1bit配置文件。
3.1.3FPGA设计原则
FPGA设计的一个重要指导原则:
面积和速度的平衡与互换。
这里“面积”指一个设计消耗FPGA/CPLD的逻辑资源的数量,对于FPGA可以用所消耗的触发器(FF)和查找表(LUT)来衡量,更一般的衡量方式可以用设计所占用的等价逻辑门数来衡量。
“速度”指设计在芯片上稳定运行所能够达到的最高频率,这个频率由设计的时序状况决定,和设计满足的时钟周期,PADtoPADTime,ClockSetupTime,ClockHoldTime,Clock-to-OutputDelay等众多时序特征量密切相关。
面积(area)和速度(speed)这两个指标贯穿着FPGA设计的始终,是设计质量评价的终极标准。
关于面积和速度的两个最基本的概念:
面积与速度的平衡和面积与速度的互换。
科学的设计目标应该是在满足设计时序要求(包含对设计频率的要求)的前提下,占用最小的芯片面积。
或者在所规定的面积下,使设计的时序余量更大,频率跑得更高。
面积和速度的地位是不一样的。
相比之下,满足时序、工作频率的要求更重要一些,当两者冲突时,采用速度优先的准则。
面积和速度的互换是FPGA设计的一个重要思想。
3.2数字频率计的设计
3.2.1数字频率计的测量方案选取
测量部分方案比较:
在频率测量方法中,常用的有直接测频法、倍频法和等精度测频法。
这三种方案各有利弊,其中直接测频法是依据频率的含义把被测频率信号加到闸门的输入端,只有在闸门开通时间T(以1s计)内,被测(计数)的脉冲送到十进制计数器进行计数。
设计数器的计数值为N,则可得到被测信号频率为f=N。
但是由于闸门的开通、关闭的时间与被测频率信号的跳变难以同步,因此采用此测量方法在低频段的相对测量误差可能达到50%,即在低频段不能满足设计要求。
但根据三个方案的分析,直接测频法比其他两个方案更加简单方便可行,直接测频法虽然在低频段测量时误差较大,但在低频段我们可以采用直接测周法测量,这样就可以提高测量精度了。
直接周期测量法是用被测周期信号直接控制计数门控电路,使主门开放时间等于Tx,时标为Ts的脉冲在主门开放时间进入计数器。
设在Tx期间计数值为N,可以根据Tx=N×Ts来算得被测信号周期。
与直接测频法相似,经误差分析,用该测量法测量时,被测信号的周期越短,测量误差越大。
也就是说,直接周期测量法在高频段时误差较大,但同样可以在高频段采用直接测频法来提高测量精度。
占空比测量是分别测被测信号的上升沿脉宽Tw和周期T,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 频率计 毕业设计 fpga