基于FPGA的数字频率及设计与实现
- 格式:doc
- 大小:342.50 KB
- 文档页数:32
基于FPGA平台的数字频率合成器的设计和实现数字频率合成技术是一种实现高精度频率合成的方法,具有广泛应用价值。
在数字频率合成中,FPGA是一种非常重要的平台,能够实现高速、高精度、可编程的数字频率合成。
本文将介绍基于FPGA平台的数字频率合成器的设计和实现。
一、FPGA简介FPGA是一种可以编程的数字集成电路,具有非常灵活的可编程性。
FPGA中包含了大量的逻辑单元、存储单元和输入输出接口,可以通过编程实现各种数字电路功能。
FPGA具有高速、高度集成、低功耗等优点,在数字电路的设计和实现中得到了广泛应用。
二、数字频率合成的基本原理数字频率合成是通过一组特定的频率合成器和相位加法器来合成所需要的频率。
首先,将参考频率和相位加法器连接起来,形成一个频率合成器。
然后,将输出频率与参考频率的比例进行数字控制,并将输出频率的相位与参考频率相位进行加法计算,最终输出要求的频率。
三、数字频率合成器的设计1. 参考频率生成模块参考频率生成模块是数字频率合成器的核心模块。
参考频率一般使用晶振作为输入信号,并通过频率除和锁相环等技术来产生高精度的参考频率。
在FPGA中,可以使用PLL、DCM等IP核来实现参考频率的生成。
2. 分频器分频器是将参考频率转化为所需的输出频率的模块,一般使用计数器实现。
在FPGA中,可以使用计数器IP核或使用Verilog等HDL语言来实现。
3. 相位加法器相位加法器用于将输出频率的相位和参考频率的相位相加。
在FPGA中,可以使用LUT(查找表)实现相位加法器。
4. 控制单元控制单元用于控制数字频率合成器的各个模块,并实现与外部设备的接口。
在FPGA中,可以使用微处理器或FPGA内部逻辑来实现控制单元。
四、数字频率合成器的实现数字频率合成器的实现需要进行数字电路设计和FPGA编程。
一般来说,可以采用Verilog或VHDL等硬件描述语言进行FPGA编程,实现各个模块的功能。
数字电路设计过程中,需要考虑到功耗、面积和时序等问题,同时需要进行仿真和验证。
目录前言...............................................................1 第一章 FPGA及Verilog HDL..........................................2 1.1 FPGA简介.....................................................2 1.2 Verilog HDL 概述.............................................2 第二章数字频率计的设计原理........................................3 2.1 设计要求.....................................................3 2.2 频率测量.....................................................3 2.3.系统的硬件框架设计..............................................4 2.4系统设计与方案论证............................................5 第三章数字频率计的设计............................................8 3.1系统设计顶层电路原理图........................................8 3.2频率计的VHDL设计.............................................9 第四章软件的测试...............................................15 4.1测试的环境——MAX+plusII.....................................15 4.2调试和器件编程...............................................15 4.3频率测试.....................................................16基于FPGA的等精度频率计的设计与实现摘要:本文详细介绍了一种基于FPGA的高精度频率计。
第一章课题研究概述1.1课题研究的目的和意义在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。
测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
目前常用的测频方案有三种:方案一:完全按定义式F=NT进行测量。
被测信号Fx经放大整形形成时标ГX,晶振经分频形成时基TR。
用时基TR开闸门,累计时标ГX 的个数,则有公式可得Fx=1ГX=NTR。
此方案为传统的测频方案,其测量精度将随被测信号频率的下降而降低。
方案二:对被信号的周期进行测量,再利用F=1T(频率=1周期)可得频率。
测周期时,晶振FR经分频形成时标ГX,被测信号经放在整形形成时基TX控制闸门。
闸门输出的计数脉冲N=ГXTR,则TX=NГX。
但当被测信号的周期较短时,会使精度大大下降。
方案三:等精度测频,按定义式F=NT进行测量,但闸门时间随被测信号的频率变化而变化。
如图1所示,被测信号Fx经放大整形形成时标ГX,将时标ГX经编程处理后形成时基TR。
用时基TR开闸门,累计时标ГX的个数,则有公式可得Fx=1ГX=NTR。
此方案闸门时间随被测信号的频率变化而变化,其测量精度将不会随着被测信号频率的下降而降。
本次实验设计中采用的是第三种测频方案。
等精度频率计是数字电路中的一个典型应用,其总体设计方案有两种:方案一:采用数字逻辑电路制作,用IC拼凑焊接实现。
其特点是直接用现成的IC组合而成,简单方便,但由于使用的器件较多,连线复杂,体积大,功耗大,焊点和线路较多将使成品稳定度与精确度大打折扣,而且会产生比较大的延时,造成测量误差、可靠性差。
方案二:采用可编程逻辑器件(CPLD)制作。
随着现场可编程门阵列FPGA的广泛应用,以EDA工具作为开发手段,运用VHDL等硬件描述语言语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。
本科生毕业论文题目:基于fpga的等精度数字频率计的设计摘要在电子工程,资源勘探,仪器仪表等相关应用中,频率计是工程技术人员必不可少的测量工具。
频率测量也是电子测量技术中最基本最常见的测量之一。
不少物理量的测量,如转速、振动频率等的测量都涉及到或可以转化为频率的测量。
基于传统测频原理的频率计的测量精度会随被测信号频率的下降而降低。
本文介绍了一种基于FPGA的等精度数字频率计,它不但具有较高的测量精度,而且在整个测量区域能保持恒定的测量精度。
文章首先介绍了硬件描述语言(HDL)的发展,以VHDL为核心,说明了利用VHDL语言进行设计的步骤。
然后介绍FPGA器件的基本结构和开发流程,接着阐述等精度数字频率计的工作原理以及利用VHDL语言实现数字频率计的具体做法,重点是利用BCD码减法实现的BCD码除法器的设计,最后还利用modelsim软件对其进行了仿真,具体分析验证了此设计的正确性。
关键词:FPGA VHDL 等精度BCD码除法AbstractCymometer is a necessary measure tool for technical engineers in electronic engineering , resource exploration and apparatus using . frequency mesure is one of the most essential and the most common mesure of electronic mesure technology . many physical quantities’ mesure , such as rotate speed , vibration frequency’s mesure , is related with or can be transformed into frequency mesure.The precision of cymometer based on traditional frequency-testing theory will decrese when the measured frequency becomes lower. this article introduces a cymometer of same-precision based on FPGA. The cymometer not only has high precision, but also its precision doesn’t decrese when the measured frequency becomes lower.This article first introduces the development of HDL , focusing on VHDL , present the step of design of VHDL . then it introduces the basic structure and the develop flow of FPGA device . in the end , it introduces the theory of cymometer and the specific implement of cymometer based on VHDL , emphasizing the theory of implementing BCD division. the function simulation and logic synthesis also come out, showing the correction of the design .Keywords: FPGA VHDL same-precision BCD division目录第一章前言............................................................................................................... 错误!未定义书签。
哈尔滨工业大学华德应用技术学院毕业设计(论文)第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级仿真,用以验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完成样机后才能进行实测和调试。