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

上传人:h**** 文档编号:101762 上传时间:2018-07-06 格式:DOC 页数:122 大小:651KB
下载 相关 举报
基于FPGA的数字频率及设计与实现.doc_第1页
第1页 / 共122页
基于FPGA的数字频率及设计与实现.doc_第2页
第2页 / 共122页
基于FPGA的数字频率及设计与实现.doc_第3页
第3页 / 共122页
基于FPGA的数字频率及设计与实现.doc_第4页
第4页 / 共122页
基于FPGA的数字频率及设计与实现.doc_第5页
第5页 / 共122页
点击查看更多>>
资源描述

1、 1 第 1 章 绪论 1.1 课题背景 与意义 在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,频率的测量就显得尤为重要,而频率计的研究工作更具有重大的科研意义 。 由于大规模和超大规模数字集成电路技术、数据通信技术与单片机技术的结合,数字频率计发展进入了智能化和微型化的新阶段。近年来,随着电子设计技术的飞速发展,数字电路的研究及应用出现了广阔的空间。利用 FP GA( F ield P rogrammable Gate Array)的设计软件可以将设计好的程序 “烧写 ”到 FP GA 器件 中,如同自行设计集成电路一样,可以节省电路开发的费用

2、与时间。 Altera 公司提供的Quartus II 软件进行 FP GA 设计开发流程,根据设计需要可以进行原理图、硬件描述语言进行设计,并进行编译仿真,配合 Modelsim 仿真软件测试设计功能的实现。 1.2 本课题主要 研究内容 传统频率计设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着可编程逻辑器件( CP LD/FP GA)的广泛应用,以 EDA 工具作为开发手段,运用硬件描述语言( VHDL/Verilog),将使整个系统大大简化 ,提高整体的性能和可靠性。而本课题正是采用硬件描述语言对数字频率计进行设计,整个系统非常精简,而且具有灵活的

3、现场可更改性,在不更改硬件电路的基础上,可以对系统进行各种改进来进一步提高系统的性能,因此该数字频率计具有精确、可靠、和现场可编程等优点。 本设计所能达到的技术指标如下: 1. 能测量输入信号的频率范围为 1hz 99Mhz; 2. 波形可以是方波等任何有固定频率的信号; 3. 运用硬件描述语言和原理图法进行设计; 4. 运用 Quartus II 软件进行设计和 Modelsim 软件仿真。 2 第 2 章 FPGA 开发相关知识简 介 2.1 FPGA 的介绍 FPGA 是现场可编程门阵列 ( F ield Programmable Gate Array)的简称。 FP GA 器件及其开发

4、系统是开发大规模数字集成电路的新技术。它利用计算机辅助设计,绘制出实现用户逻辑的原理图、编辑布尔方程或用硬件描述语言等方式作为设计输入;然后经一系列转换程序、自动布局布线、模拟仿真的过程;最后生成配置 FP GA 器件的数据文件,对 FP GA 器件初始化。这样就实现了满足用户要求的专用集成电路,真正打到了用户自行设计、自行研制和自行生产集成电路的目的。 总的来说, FP GA 器件 具有下列优点:高密度、高速度、系列化、标准化、小型化、多功能、低功耗、低成本、,设计灵活方便,可无限次反复编程,并可现场模拟调试验证。使用 FP GA 器件,一般可在几天到几周内完成一个电子系统的设计和制作,可以

5、缩短研制周期,达到快速上市和进一步降低成本的要求。 F P GA 的基本特点主要有: 1. 采用 F P GA 设计 AS IC 电路,用户不需要投片生产 就能得到合用的芯片 ; 2. F P GA 可做其它全定制或半定制 AS IC 电路的中 试样片。 3. F P GA 内部有丰富的触发器和 /IO引脚 ; 4. F P GA 是 AS IC 电路中设计周期最短、开发费用最低、风险最小的器件之一 ; 5. F P GA 采用高速 C MOS 工艺,功耗低,可以与 C MOS、 TTL电平兼容。 F P GA 是由存放在片内 RAM 中的程序来设置其工作状态的,因此,工作时需要对片内的 RA

6、M 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时, FP GA 芯片将 EP RO M 中数据读入片内编程 RAM 中,配置完成后, FP GA 进入工作状态。掉电后, FP GA 恢复成白片,3 内部逻辑关系消失,因此, F P GA 能够反复使用 。 F P GA 的编程无须专用的 F P GA 编程器,只须用通用的 EP ROM、 P RO M 编程器即可。当需要修改 F P GA 功能时,只需换一片 EP RO M 即可。这样,同一片 F P GA,不同的编程数据,可以产生不同的电路功能。因此, F P GA 的使用非常灵活。 2.2 FPGA 开发环境 2.2.

7、1 软件开发环境 Quartus II 的介绍 Q uartus II 是 A ltera 提供的 F P GA/C P LD 开发集成环境, Altera是世界最大可编程逻辑器件供应商之一。 Q uartus II 是 A lter a 前一代 F P GA/C P LD 集成环境 MAX+plus II 的更新换代产品,其界面友好、使用便捷。 Q uartus II 是 A ltera 公司的综合性 P LD 开发软件,支持原理图、 VHDL、 Ver ilo gHD L 以及 AHD L( A ltera Hardware Descr ip t io n La nguage)等多种设计输

8、入形式,内嵌自有的 综合器 以及仿 真器, 可以完 成从设 计输入 到硬件 配置的 完整P LD 设计流程。 Q uartus II 提供了一种与结构无关的设计环境,使设计者能方便的进行设计输入、快速处理和器件编程。 Q uartus II 包含许多十分有用的 LP M( Library of P arameterized Modules)模块,它们是复杂或 高级系统建构的重要组成成分。 本设计在实现原理图输入多层次设计的同时,大量运用了 QuartusII 的元件库, LMP 是参数可设置模块库( Library of Parameterized Modules)的缩写, Altera 提供

9、的可参数化宏功能模块和 LMP 函数均基于 Altera 器件的结构做了优化设计。 LMP 功能模块内容非常丰富,每一个模块的功能。参数含义,使用方法,硬件描述语言模块参数设置以及调用方法都可以在 Q uartusII 中的 HELP 中查阅到。设计者可以根据实际电路的设计需要,选择 LMP 库中的适当模块,并 为其设定适当的参数,就能够满足自己的设计需要。 Altera 提供的宏功能模块与 LMP 函数有以下几个方面: 1. 算术组件:包括累加器,加 法器,乘法器和 LMP 算术函 数; 2. 门电路:包括多路复用器和 LMP 门函数 ; 3. I/O 组件:包括时钟数据恢复( C DR),

10、锁相环( P LL),双数据速率( DDR),千兆位收发器块( GXB), LVDS 接收4 器和发送器, PLL 重新配置和远程更新宏功能模块 ; 4. 存储器编译器:包括 F IFO Partit ioner, ROM 和 ROM 宏功能模 块; 5. 存储组件:包括存储器,移位寄存器宏模块和 LMP 存储器函数。 Q uartus II 允许来自第三方的 EDIF 文件输入,并提供了很多EDA 软件的接口, Q uartus II 支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块进行调试,从而解决了原理图和 VHD L 混合输入设计的问题。而且 Q uartu

11、s II拥有性能良好的设计错误定位器,用于确定文本或图形设计中的错误。 Altera Q uartus II 作为一种可编程逻辑的设计环境 , 因 其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 2.2.2 软件仿真环境 Models im 的介绍 Mentor 公司的 ModelS im 是业界最优秀的 HDL 语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持 VHDL 和Verilog 混合仿真的仿真器。它采用直接优化的编译技术 和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护 IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的

12、手段,是 FPGA/AS IC 设计的首选仿真软件。 主要特点: 1. RTL 和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真; 2. 单内核 VHDL 和 Verilog 混合仿真; 3. 源代码模版和助手,项目管理; 4. 集成了 性能分析、波形比较、代码覆盖、数据流 C haseX、 S igna l Spy、虚拟对象 Virtual Object、 Memory 窗口、 Assertion 窗口、源码窗口显示信号值、信号条件断点等众多调试功能 ; 5. 对 SystemC 的直接支持,和 HDL 任意混合; 5 6. 支持 SystemVerilog 的设计功能; 7. 对

13、系统级描述语言的最全面支持, S ystemVerilog, S ystemC , PSL; ModelS im 分几种不同的版本: SE、 PE、 LE 和 O EM,其中 SE是最高级的版本 ,而集成在 Actel、 Atmel、 Altera、 Xilinx 以及 Lattice等 FP GA 厂商设计工具中的均是其 O EM 版本。 SE 版和 O EM 版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以 Xilinx 公司提供的 O EM 版本 ModelS im XE 为例,对于代码少于40000 行的设计, ModelS im S E 比 ModelS im XE

14、 要快 10 倍;对于代码超过 40000 行的设计, ModelS im S E 要比 ModelS im XE 快近 40 倍。ModelS im S E 支持 PC、 UNIX 和 LIN UX 混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛 的标准; Mentor Graphics公司提供业界最好的技术支持与服务。 ModelSim 的使用方法: 1. 在 F 盘建立一个目录 modelsimS tudy。用任何文本编辑器编辑一个简单的例子程序,比如计数器 counter.vhd。有 clk、 ena、 reset输入, cnt 作为输出 ; 2. 打开 Modelsim

15、,首先 create project,工程名随意取了,比如命名为 test,目录设在 modelsimS tudy 下,默认的库 work 不变(这样就不用管什么建立库之类的东西了)。然后 add existing file,把counter.vhd 加入当前工程 ; 3. 编译这个文件,通过之后, work 下面会出现 counter 这个实体。然后选中它,右键, simulate(左键双击也可) ; 4. ModelS im 有很多窗口,一开始只要选择 view 下面的 objects 和 wave 窗口就行了。旧版的 signal 窗口在 6.0 的版本改名为 Objects。wave

16、窗口刚打开时是空的,需要在 objects 窗口的 add - wave - signals in region。这时, wave 上就有 clk ena reset 等 信号了 ; 5. 我们给 clk 来个输入激励,在 object 窗口中选中 clk,右键选clock,给它定义个时钟 ; 6.运行 Run。就有波形出来了。 2.3 硬件描述语言 Verilog HDL 的介绍 任何新生事物的产生都有它的历史沿革,早期的硬件描述语言6 是以一种高级语言为基础,加上一些特殊的约定而产生的,目的是为了实现 RTL 级仿真,用以验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完成样

17、机后才能进行实测和调试。 Verilog HDL 是一种硬件描述语言( HDL:Hardware Discrip tion Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL 和 VHDL 是目前世界上最流行的两种硬件描述语言,都是在 20 世纪 80 年代中期开发出来的。前者由 Gateway Design Automation 公司(该公司于 1989 年被 Cadence 公司收购)开发。 Verilog HDL 就是在用途最广泛的 C 语言的基础上发展起来的一种件

18、描述语言,它是由 GDA( Gateway Design Automation) 公司的P hilMoorby 在 1983 年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。 1985 年 Moorby推出它的第三个商用仿真器 Verilog-XL,获得了巨大的成功,从而使得 Verilog HDL 迅速得到推广应用。 1989 年 C ADENC E 公司收购了GDA 公司,使得 VerilogHDL 成为了该公司的独家专利。 1990 年CADENC E 公司公开发表了 Verilog HDL,并成立 LVI 组织以促进Verilog HDL 成为

19、 IEEE 标准,即 IEEE Standard 1364-1995. Verilog HDL 的最大特点就是易学易用,如果有 C 语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把 Verilog HDL 内容安排在与 AS IC 设计等相关课程内部进行讲授,由于 HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。与之相比, VHDL 的学习要困难一些 ,但 Verilog HDL 较自由的语法,也容易造 成初学者犯一些错误 。 选择 VHDL 还是 verilog HDL?这是一个初学者最常见的问题。其实两种语言的 差别并不大,他们

20、的描述能力也是类似的。掌握其中一种语言以后,可以通过短期的学习,较快的学会另一种语言。 选择何种语言主要还是看周围人群的使用习惯,这样可以方便日后的学习交流。当然,如果您是集成电路( AS IC)设计人员,则必须首先掌握 verilog,因为在 IC 设计领域, 90以上的公司都是采用 verilog进行 IC 设计。对于 P LD/FP GA 设计者而言,两种语言可以自由选择。 设计人员通过计算机对 HDL 语言进行逻辑仿真和逻辑综合,方7 便高效地设计数字电路及其产品。常用的 Verilog HDL 语言开发软件有 Altera 公司 的 MAX+P LUS II , Q uartus I

21、I 和 Xilinx 公 司的Foundation ISE。 2.4 FPGA 开发流程 的介绍 基于 EDA 工具的 FP GA/CP LD 开发流程: 1 电路设计与输入 (Q uartusII 中可直接进行 ),电路设计与输入是指通过某些规范的描述方式,将工程师电路构思输入给 EDA 工具。常用的设计方法有硬件描述语言( HDL)和原理图设计输入方法等。原理图设计输入法在早期应用得比较广泛,它根据设计要求,选用器件、绘制原理图、完成输入过程。这种方法的有点是直观、便于理解、元器件库资源 丰富。但是在大型设计中,这种方法的可维护性较差,不利于模块构造与重用。更主要的缺点就是当所选用芯片升级

22、换代后,所有的原理图都要做相应的改动。目前进行大型工程设计时,最常用的设计方法是 HDL 设计输入法,其中影响最为广泛的 HDL 语言是 VHDL 和 Verilog HDL。他们的共同特点是利用由顶向下设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺与结构不同而变化,更利于向 AS IC 的移植。波形输入和状态机输入方法是两种常用的辅助设计输入方法:使用波形输入时,志耘爱绘制出激励波形与输出波形, EDA 软 件就能自动地根据响应关系进行设计;使用状态机输入法时,设计者只需要画出状态转移图, EDA 软件就能生成相应的 HDL 代码或原理图,使用十分方便。但是需要指出的是

23、,波形输入和状态机输入方法只能在某些特殊情况下缓解设计者的工作量,并不适合所有的设计。 2 功能仿真 ( modelsim),电路设计完成以后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求。功能仿真有时也称为前仿真。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。 3 综合优化 ( synplicity) ,综合优化( S ynthesize)是指将 HDL语言、原理图等设计输入翻译成由与、或、非门, RAM,触发器等基本逻辑单元组成的逻辑连接(网表),并根 据目标与要求(约束条件)优化所生成的逻辑连接,输出 edf 和 edn 等标准格式的网表文件,供

24、FPGA/CPLD 厂家的布局布线器进行实现。 8 4 综合后仿真 ( modelsim) ,综合完成后需要检查综合结果是否与设计一致,做综合后仿真。在仿真时,把综合生成的标准延时文件反标志到综合仿真模型中去,可估计门延时带来的影响。综合后仿真虽然比功能仿真精确一些,但是只能估计门延时,不能估计线延时,仿真结 果与布线后的实际情况还有一定的差距,并不十分准确。这种仿真的主要目的在于检查综合器的综合结果是否与设计输入一致。目前主流综合工具日益成熟,对于一般性的设计,如果设计者确信自己标注明确,没有综合歧义发生,则可省略该步骤。但是如果在布局布线后仿真时发现有电路结构与设计意图不符的现象,则常常需

25、要回溯到综合后仿真以确认是否时由于综合歧义造成的问题。 5 实现与布局布线( Q uartusII 中实现),综合结果的本质是一些由与、或、非门,触发器, RAM 等基本逻辑单元组成的逻辑网表,它与芯片的实际的配置情况还有较大的差距。 此 时 应 该 使 用 FPGA/CP LD 厂商提供的软件工具,根据所选芯片的型号将综合输出的网表适配到具体 FP GA/C P LD 器件上,这个过程就叫做实现过程。因为只有器件的开发商最了解器件的内部结构,所以实现步骤必须选用器件开发商提供的工具。在实现过程中最主要的过程是布局布线( PAR)。所谓布局( P lace),就是指将逻辑网表中的硬件原语或者底

26、层单元合理地适配到 FP GA 内部的固有硬件结构上,布局的优劣对设计的最终结果(在速度和面积两个方面)影响很大。所谓布线( Route),是指根据布局的拓扑结构,利用 F PGA 内部的各种 连线资源,合理正确连接各个元件的过程。 FP GA 的结构相对复杂,为了获得更好的实现结果,特别是保证能够满足设计的时序条件,一般采用时序驱动的引擎进行布局布线,所以对于不同的设计输入,特别是不同的时序约束,获得的布局布线结果一般有较大的差异。CPLD 结构相对简单得多,其资源有限而且布线资源一般为交叉连接矩阵,故 CP LD 的布局布线过程相对简单明朗的多,一般称为适配过程。一般情况下,用户可以通过设

27、置参数指定布局布线的优化准则,总的来说优化目标主要有两个方面,面积和速度。一般根据设计的主要矛盾,选择面积或者速度或者是 两者平衡等优化目标,但是当两者冲突时,一般满足时序约束要求更重要一些,此时选择速度或时序优化目标更佳。 9 6 时序仿真与验证( modelsim)将布局布线的延时信息反标注到设计网表中,所进行的仿真就叫时序仿真或布局布线后仿真,也叫后仿真。该仿真的仿真延时文件包含的延时信息最全,不仅包含了门延时,还包含了实际布线延时,所以布局布线后仿真最准确,能够较好的反映芯片的实际工作情况。一般来说,布线后仿真步骤必须进行,通过布局布线后仿真能检查设计时序与 FP GA 实际运行情况是

28、否一致,确保设计的可靠性和稳定性。 7 板级 仿真与验证,有些高速设计情况下还需要使用第三方的板级验证工具进行仿真与验证。这些工具通过对设计的 IBIS、 HS PIC E等模型的仿真,能较好地分析高速设计的信号完整性、电磁干扰等电路特性。 8 调试与加载配置 (Q uartusII 中生成相应的文件,直接下载到相应的电路板上实现验证 ),设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片中进行测试。示波器和逻辑分析仪是逻辑设计的主要调试工具。传统的逻辑功能板级验证手段是用逻辑分析仪分析信号,设计时要求 FP GA 和 PC B 设计人员保留一定数量FPGA 管脚作为测试管 脚,编写

29、FP GA 代码时将需要观测的信号作为模块的输出信号,在综合实现时在把这些输出信号锁定到测试管脚上,然后连接逻辑分析仪的探头到这些测试管脚,设定触发条件,进行观测。任何仿真或验证步骤出现问题,就需要根据错误定位返回到相应的步骤更改或者重新设计。 因此可以将 FPGA 开发 一般 流程 总结为 : 1. 电路的设计与输入( HDL 描述和原理如图输入方法) ; 2. 功能仿真(前仿真:检查所设计的电路是否满足预先设想的功能需求) ; 3. 综合优化(把 RTL 级描述和原理图描述变成门级网表描 术); 4. 综合后仿真(检查综合后的结果是否和预想的设计一 致) ; 5. 布局布线 (布局:把门级

30、网表中各个基本硬件单元适配到FPGA 具体的硬件电路上 ;根据布局的拓扑结构和 FP GA的连线资源,把这些基本硬件单元合理的连接起来) ; 6. 时序仿真与验证(后仿真:包含门延迟和传输线的延迟,能真是反应 F PGA 的实际工作情况,确保设计的稳定性和可靠性) ; 10 7. 调试与加载配置 。 以上的任何一步出现问题,都要回到相应的步骤进行重新设计,知道满足要求为止。 图 2-1 所示为 F PGA 开发流 程图。 图 2-1: FPGA 开发流程图 本章小结 本章 分别从 FP GA 的介绍、 FP GA 的开发环境,硬件描述语言的介绍, F PGA 开发流程的介绍等几个方面对 FP GA 设计的基础知识进行了深入浅出的阐述, 通过对 FP GA 设计的相关基础知识 的介绍 ,便于 对 下文进一步 进行介绍 的展开 。 原 理 图 或文本编辑 综合 FPGA/CPLD 适配 编程下载 时 序 与 功能仿真 门级仿真 FPG A/ CP LD器件下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。