当前位置:文档之家› 基于FPGA的数字频率及设计与实现

基于FPGA的数字频率及设计与实现

哈尔滨工业大学华德应用技术学院毕业设计(论文)第1章绪论1.1 课题背景与意义在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,频率的测量就显得尤为重要,而频率计的研究工作更具有重大的科研意义。

由于大规模和超大规模数字集成电路技术、数据通信技术与单片机技术的结合,数字频率计发展进入了智能化和微型化的新阶段。

近年来,随着电子设计技术的飞速发展,数字电路的研究及应用出现了广阔的空间。

利用FPGA(Field Programmable Gate Array)的设计软件可以将设计好的程序“烧写”到FPGA器件中,如同自行设计集成电路一样,可以节省电路开发的费用与时间。

Altera公司提供的Quartus II软件进行FPGA设计开发流程,根据设计需要可以进行原理图、硬件描述语言进行设计,并进行编译仿真,配合Modelsim仿真软件测试设计功能的实现。

1.2 本课题主要研究内容传统频率计设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。

随着可编程逻辑器件(CPLD/FPGA)的广泛应用,以EDA工具作为开发手段,运用硬件描述语言(VHDL/Verilog),将使整个系统大大简化,提高整体的性能和可靠性。

而本课题正是采用硬件描述语言对数字频率计进行设计,整个系统非常精简,而且具有灵活的现场可更改性,在不更改硬件电路的基础上,可以对系统进行各种改进来进一步提高系统的性能,因此该数字频率计具有精确、可靠、和现场可编程等优点。

本设计所能达到的技术指标如下:1.能测量输入信号的频率范围为1hz~99Mhz;2.波形可以是方波等任何有固定频率的信号;3.运用硬件描述语言和原理图法进行设计;4.运用Quartus II软件进行设计和Modelsim软件仿真。

-1-哈尔滨工业大学华德应用技术学院毕业设计(论文)第2章FPGA开发相关知识简介2.1 FPGA的介绍FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称。

FPGA器件及其开发系统是开发大规模数字集成电路的新技术。

它利用计算机辅助设计,绘制出实现用户逻辑的原理图、编辑布尔方程或用硬件描述语言等方式作为设计输入;然后经一系列转换程序、自动布局布线、模拟仿真的过程;最后生成配置FPGA器件的数据文件,对FPGA器件初始化。

这样就实现了满足用户要求的专用集成电路,真正打到了用户自行设计、自行研制和自行生产集成电路的目的。

总的来说,FPGA器件具有下列优点:高密度、高速度、系列化、标准化、小型化、多功能、低功耗、低成本、,设计灵活方便,可无限次反复编程,并可现场模拟调试验证。

使用FPGA器件,一般可在几天到几周内完成一个电子系统的设计和制作,可以缩短研制周期,达到快速上市和进一步降低成本的要求。

FP GA的基本特点主要有:1.采用FP GA设计AS IC电路,用户不需要投片生产就能得到合用的芯片;2.FP GA可做其它全定制或半定制AS IC电路的中试样片。

3.FP GA内部有丰富的触发器和/I O引脚;4.FP GA是AS IC电路中设计周期最短、开发费用最低、风险最小的器件之一;5.FP GA采用高速C MOS工艺,功耗低,可以与C MOS、TTL电平兼容。

FP GA是由存放在片内R AM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPR OM中数据读入片内编程R AM中,配置完成后,FP GA进入工作状态。

掉电后,FP GA恢复成白片,-2-哈尔滨工业大学华德应用技术学院毕业设计(论文)内部逻辑关系消失,因此,FP GA能够反复使用。

FP GA的编程无须专用的FPGA编程器,只须用通用的EP ROM、PR OM编程器即可。

当需要修改FP GA功能时,只需换一片EP ROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FP GA的使用非常灵活。

2.2 FPGA开发环境2.2.1软件开发环境——Quartus II的介绍Quart us II是Alt era提供的FP GA/CP LD开发集成环境,Altera 是世界最大可编程逻辑器件供应商之一。

Quartus II是Alt era前一代FP GA/CP LD集成环境MAX+plus II的更新换代产品,其界面友好、使用便捷。

Quart us II 是Alt era公司的综合性P LD开发软件,支持原理图、VHD L、Veril ogHD L以及AHDL(Alt era Hardware Descript i on Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整P LD设计流程。

Quartus II提供了一种与结构无关的设计环境,使设计者能方便的进行设计输入、快速处理和器件编程。

Quart us II包含许多十分有用的LP M(Librar y ofParam et eriz ed Modul es)模块,它们是复杂或高级系统建构的重要组成成分。

本设计在实现原理图输入多层次设计的同时,大量运用了QuartusII 的元件库,LMP是参数可设置模块库(Library of Parameterized Modules)的缩写,Altera提供的可参数化宏功能模块和LMP函数均基于Altera器件的结构做了优化设计。

LMP功能模块内容非常丰富,每一个模块的功能。

参数含义,使用方法,硬件描述语言模块参数设置以及调用方法都可以在QuartusII中的HELP中查阅到。

设计者可以根据实际电路的设计需要,选择LMP库中的适当模块,并为其设定适当的参数,就能够满足自己的设计需要。

Altera提供的宏功能模块与LMP函数有以下几个方面:1.算术组件:包括累加器,加法器,乘法器和LMP算术函数;2.门电路:包括多路复用器和LMP门函数;3.I/O组件:包括时钟数据恢复(CDR),锁相环(PLL),双数据速率(DDR),千兆位收发器块(GXB),LVDS接收-3-哈尔滨工业大学华德应用技术学院毕业设计(论文)器和发送器,PLL重新配置和远程更新宏功能模块;4.存储器编译器:包括FIFO Partitioner,ROM和ROM宏功能模块;5.存储组件:包括存储器,移位寄存器宏模块和LMP存储器函数。

Quart us II允许来自第三方的ED IF文件输入,并提供了很多EDA软件的接口,Quart us II支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块进行调试,从而解决了原理图和VHD L混合输入设计的问题。

而且Quart us II 拥有性能良好的设计错误定位器,用于确定文本或图形设计中的错误。

Altera Quartus II 作为一种可编程逻辑的设计环境, 因其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

2.2.2软件仿真环境——Modelsim的介绍Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。

它采用直接优化的编译技术和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP 核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。

主要特点:1.RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真;2.单内核VHDL和Verilog混合仿真;3.源代码模版和助手,项目管理;4.集成了性能分析、波形比较、代码覆盖、数据流ChaseX、SignalSpy、虚拟对象Virtual Object、Memory窗口、Assertion窗口、源码窗口显示信号值、信号条件断点等众多调试功能;5.对SystemC的直接支持,和HDL任意混合;-4-哈尔滨工业大学华德应用技术学院毕业设计(论文)6.支持SystemVerilog的设计功能;7.对系统级描述语言的最全面支持,SystemVerilog, SystemC,PSL;ModelSim分几种不同的版本:SE、PE、LE和OEM,其中SE 是最高级的版本,而集成在Actel、Atmel、Altera、Xilinx以及Lattice 等FPGA厂商设计工具中的均是其OEM版本。

SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以Xilinx公司提供的OEM版本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE 比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSim XE快近40倍。

ModelSim SE支持PC、UNIX和LINUX混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛的标准;Mentor Graphics 公司提供业界最好的技术支持与服务。

ModelSim的使用方法:1. 在F盘建立一个目录modelsimStudy。

用任何文本编辑器编辑一个简单的例子程序,比如计数器counter.vhd。

有clk、ena、reset 输入,cnt作为输出;2. 打开Modelsim,首先create project,工程名随意取了,比如命名为test,目录设在modelsimStudy下,默认的库work不变(这样就不用管什么建立库之类的东西了)。

然后add existing file,把counter.vhd加入当前工程;3. 编译这个文件,通过之后,work下面会出现counter这个实体。

然后选中它,右键,simulate(左键双击也可);4. ModelSim有很多窗口,一开始只要选择view下面的objects 和wave窗口就行了。

旧版的signal窗口在6.0的版本改名为Objects。

wave窗口刚打开时是空的,需要在objects窗口的add -> wave -> signals in region。

这时,wave上就有clk\ ena \ reset等信号了;5. 我们给clk来个输入激励,在object窗口中选中clk,右键选clock,给它定义个时钟;6.运行Run。

就有波形出来了。

2.3 硬件描述语言——Verilog HDL的介绍任何新生事物的产生都有它的历史沿革,早期的硬件描述语言-5-哈尔滨工业大学华德应用技术学院毕业设计(论文)是以一种高级语言为基础,加上一些特殊的约定而产生的,目的是为了实现RTL级仿真,用以验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完成样机后才能进行实测和调试。

相关主题