毕业论文 数字频率计设计

上传人:1666****666 文档编号:37942415 上传时间:2021-11-05 格式:DOC 页数:71 大小:4.07MB
收藏 版权申诉 举报 下载
毕业论文 数字频率计设计_第1页
第1页 / 共71页
毕业论文 数字频率计设计_第2页
第2页 / 共71页
毕业论文 数字频率计设计_第3页
第3页 / 共71页
资源描述:

《毕业论文 数字频率计设计》由会员分享,可在线阅读,更多相关《毕业论文 数字频率计设计(71页珍藏版)》请在装配图网上搜索。

1、摘要I摘 要本文介绍了使用 VHDL 开发 FPGA 的一般流程,重点介绍了频率计的基本原理和相应的测量方案,最终采用了一种基于 FPGA 的数字频率的实现方法。该设计采用硬件描述语言 VHDL,在软件开发平台 ISE 上完成,可以在较高速时钟频率(100MHz)下正常工作。该设计的频率计能准确的测量频率在 1Hz到 100MHz 之间的信号。使用 ModelSim 仿真软件对 VHDL 程序做了仿真,并完成了综合布局布线,最终下载到芯片 Spartan-II 上取得良好测试效果。关键词:关键词:FPGA,VHDL,ISE,自顶向下。AbstractIIAbstractThis paper,

2、introducing a general process to develop FPGA product with VHDL, focuses on the basic principle and measurement scheme of digital cymometer. A scheme achieved by FPGA is adopted. In this design plan, we use a popular hardware description language-VHDL and finish the program on the development platfo

3、rm ISE. The final production can measure the signals frequency between 1Hz and 100MHz. This system uses the simulation tool-ModelSim to run and debug the VHDL program, and design the circuit placement. A good result can be achieved when the program was burnt on the chip Spartan-II.Keywords: FPGA, VH

4、DL, ISE, Top-down。目录III目 录第一章 引言 .1第二章 基于 FPGA 的 VHDL 设计流程.22.1 概述.22.2 VHDL 语言介绍.22.2.1 VHDL 的特点.32.2.2 基于 VHDL 的自顶向下设计方法.42.3 FPGA 开发介绍 .52.3.1 FPGA 简介.52.3.2 FPGA 设计流程.62.3.3 Spartan-II 芯片简介.7第三章 数字频率计的软件开发环境 .133.1 开发环境.133.2 ModelSim 介绍.133.2.1 ISE 环境中 ModelSim 的使用 .133.3 ISE 介绍.153.3.1 建立项目工程

5、.163.3.2 行为仿真 .173.3.3 建立顶层原理图 .193.3.4 综合 .223.3.5 布局布线 .243.3.6 下载及硬件仿真 .24第四章 数字频率计的设计与实现 .264.1 任务要求.264.2 测量原理.274.2.1 频率或时间的原始基准 .274.2.2 电子计数器测频方法 .28目录IV4.2.3 误差分析 .294.2.4 测量周期的必要性和基本原理 .324.2.5 等精度测量 .354.3 原理框图.374.4 各模块的功能及实现.374.4.1 分频器 .374.4.2 闸门选择器 .404.4.3 测频控制器 .424.4.4 频率计数器 .444.

6、4.5 锁存器 .464.4.6 扫描显示控制译码系统 .474.5 顶层原理图.514.6 分配引脚和下载实现.524.7 测试结果.52第五章 结论 .53参考文献 .54致 谢 .55附 录 .56附录 1. 计数器级联程序.56附录 2. 锁存器源程序.57附录 3. 顶层原理图.59附录 4. 计数器的级联图.60外文资料原文 .61翻译文稿 .64第一章 引言1第一章 引言在电子技术领域内,频率是一个最基本的参数,频率与其它许多电参量的测量方案、测量结果都有十分密切的关系。如时间,速度等都涉及到或本身可转化为频率的测量。因此,频率的测量就显得更为重要。而且,目前在电子测量中,频率的

7、测量精确度是最高的.现在市场上有各种多功能,高精度,高频率的数字频率计,但价格不菲。而在实际工程中,不是对所有信号的频率测量都要求达到非常高的精度。因此,本文提出了一种能满足一般测量精度要求,但成本低廉的数字频率计的设计方案。本文主要任务是针对设计的要求,基于 FPGA 利用硬件描述语言 VHDL完成数字频率计的设计,通过仿真,分析,综合并最终下载到 FPGA 里面去实现。除被测信号的整形部分、键输入部分以外,其余全部在一片 FPGA 芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可

8、靠、抗干扰性强和现场可编程等优点。经实验表明,其测量精度基本能达到,且系统成本非常低廉,可作为学生数字逻辑设计综合810实验或自制数字频率计的备选方案。电子科技大学学士学位论文2第二章 基于 FPGA 的 VHDL 设计流程2.1 概述概述数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。频率计的设计有传统方法和现代方法,传统的设计方法耗时耗功,设计强度大,且容易出错,设计的质量不一定是最好的。自然我们考虑到现代方法,即二十世纪八十年代兴起的电子设计自动化技术,英文为 Electronic Design Auto,

9、缩写为 EDA。在 EDA 设计工具中,用的最广泛的是 VHDL 和 VERILOG,当然还有其它的。比较 VHDL 和 VERILOG,在顶层设计方面 VHDL 优于VERILOG,在门级电路设计方面 VERILOG 优于 VHDL。随着复杂可编程逻辑器件(CPLD)的广泛应用,以 EDA 工具作为开发手段,运用 VHDL 语言,将使整个系统大大简化,提高整体的性能和可靠性。本次的频率计设计主要是顶层设计,目的是设计 6 位十进制频率计,学习常用的数字系统设计方法。采用 VDHL 编程设计实现的数字频率计,除被测信号的整形部分、键输入部分以外,其余全部在一片 FPGA 芯片上实现,整个系统非

10、常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。2.2 VHDL 语言介绍语言介绍VHDL(Very-high-speed Integrated Circuit Hardware Description Language)诞生于 1982 年。1987 年底,VHDL 被 IEEE(The Institute of Electrical and Electronics Engineers)和美国国防部确认为标准硬件描述语言。自 IEEE 公布了 VHDL 的标准版本(IE

11、EE-1076)之后,各 EDA 公司相继推出了自己的VHDL 设计环境,并宣布自己的设计工具可以和 VHDL 接口。此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准硬件描述语言。1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩第二章 基于 FPGA 的 VHDL 设计流程3展 VHDL 的内容,公布了新版本的 VHDL,即 IEEE 标准的 1076-1993 版本。现在,VHDL 和 VERILOG 作为 IEEE 的工业标准硬件描述语言,又得到众多EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在

12、新的世纪中,VHDL 和 VERILOG 语言将承担起几乎全部的数字系统设计任务。2.2.1 VHDL 的特点的特点VHDL 主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL 的语言形式,描述风格以及句法十分类似于一般的计算机高级语言。VHDL 的程序结构特点是将一项工程设计,或称为设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(又称为可视部分,即端口)和内部(又称为不可视部分) ,即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是V

13、HDL 系统设计的基本点。应用 VHDL 进行工程设计的优点是多方面的,具体如下:1、与其它的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的 EDA 工具和 VHDL 综合器而言,将基于抽象的行为描述风格的VHDL 程序综合成为具体的 FPGA 和 CPLD 等目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。2、VHDL 最初是作为一种仿真标准格式出现的,因此 VHDL 既是一种硬件电路描述和设计语言,也是一种标准的网表格式,还

14、是一种仿真语言。其丰富的仿真语句和库函数,使得在任何大系统的设计早期(即尚未完成) ,就能用于查验设计系统的功能可行性,随时可对设计进行仿真模拟。即在远离门级的高层次上进行模拟,使设计者对整个工程设计的结构和功能的可行性做出决策。3、VHDL 语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能,符合市场所需求的,大规模系统高效、高速的完成必须由多人甚至多个开发组共同并行工作才能实现的特点。VHDL 中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有力的支持。电子科技大学学士学位论文44、对于用 VHDL 完成的一个确定的设计,可以利用 E

15、DA 工具进行逻辑综合和优化,并自动地把 VHDL 描述设计转变成为门级网表。这种方式突破了门级电路设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。应用 EDA 工具的逻辑优化功能,可以自动地把一个综合后的设计变成一个更高效、更高速的电路系统。反过来,设计者还可以容易地从综合和优化后的电路获得设计信息,返回去更新修改 VHDL 设计描述,使之更为完善。5、VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。正因为 VHDL硬件描述与具体的工艺技术和硬件结构无关,VHDL 设计程序的硬件实现目标器件有广阔

16、的选择范围,其中包括各系列的 CPLD、FPGA 及各种门阵列实现目标。6、由于 VHDL 具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需要改变端口类属参量或函数,就能轻易地改变设计的规模和结构。2.2.2 基于基于 VHDL 的自顶向下设计方的自顶向下设计方法法2.2.2.1 自顶向下设计的步骤1、设计说明:用自然语言表达系统项目的功能特点和技术参数等。2、建立 VHDL 行为模型,即将设计说明已转化为 VHDL 行为模型。建立模型是为了通过 VHDL 仿真器对整个系统进行系统行为仿真和性能评估。3、VHDL 行为仿真。这一阶段可以利用 VHDL 仿真器对

17、顶层系统的行为模型进行仿真测试,检查模拟结果,继而进行修改和完善。4、VHDL-RTL 级建模。即将 VHDL 的行为模型表达为 VHDL 行为代码。5、前端功能仿真。即对 VHDL-RTL 级模型进行仿真,简称功能仿真。6、逻辑综合。使用逻辑综合工具将 VHDL 行为代码描述转化为结构化的门级电路。7、测试向量生成。8、功能仿真。9、结构综合。10、门级时序仿真。第二章 基于 FPGA 的 VHDL 设计流程511、硬件测试。2.2.2.2 Top-down 设计方法的优点1、完全符合设计人员的设计思路;从功能描述开始,到最后的物理实现。2、功能设计可完全独立于物理实现;采用 Top-Dow

18、n 设计方法,功能输入采用国际标准的 HDL 输入方法,HDL 可不含有任何器件的物理信息,因此工程师可以有更多的空间去集中精力进行功能描述。设计师可以在设计过程的最后阶段任意选择或更改物理器件,不会在设计一开始就受到最终所采用器件的约束。3、设计可再利用;设计结果完全可以以一种知识产权(IP-Intellectual Property)的方式作为设计师或设计单位的设计成果,应用于不同的产品设计中,做到成果的再利用。4、易于设计的更改;设计工程师可在极短的时间内修改设计,对各种FPGA/CPLD 结构进行设计结果规模(门消耗)和速度(时序)的比较,选择最优方案。5、设计和处理大规模复杂电路;目

19、前的 FPGA/CPLD 器件正向高集成度、深亚微米工艺发展。为设计系统的小型化,低功耗、高可靠性等提供了集成的手段。6、设计周期缩短,生产率大大提高,产品上市时间提前,性能明显提高,产品竞争力加强。据统计,采用 Top-Down 设计方法的生产率可达到传统设计方法 2 到 4 倍。2.3 FPGA 开发介绍开发介绍2.3.1 FPGA 简介简介现场可编程门阵列(FPGA)器件是八十年代中期出现的新产品,它的应用大大地方便了 IC 的设计,因而随着数字技术日益广泛的应用,以 FPGA 为代表的 ASIC 器件得到了迅速的普及和发展,器件集成度和速度都在高速增长。传统的电路设计过程是:先画原理图

20、、把原理图绘制成印制电路板图、再制版、安装、调试。有了 FPGA,我们只需要在计算机上绘出原理图,再运行相应的软件,就可把所设计的逻辑电路在 FPGA 中实现。所有步骤均可自动完电子科技大学学士学位论文6成。电子设计工程师自己设计专用集成电路成为了一件很容易的事情。FPGA 作为专用集成电路(ASIC)概念上的一个新型范畴和门类,以其高度灵活的用户现场编程方式,现场定义高容量数字单片系统的能力,能够重复定义、反复改写的新颖功能,为复杂数字系统设计、研制以及产品开发提供了有效的技术手段。电子应用设计工程师应用 FPGA 技术不仅可避免通常 ASIC单片系统设计周期长,前期投资风险大的弱点,而且克

21、服了过去板级通用数字电路应用设计的落后,繁琐和不可靠性。目前 FPGA 的两个重要发展与突破是,大多数厂商在其高端器件上都提供了片上的处理器(如 CPU、DSP)等硬核(Hard Core)或固化核(Fixed Core) 。比如 Xilinx 的 Virtex II Pro 芯片可以提供 Power PC,而 Altera 的Stratix、Excalibur 等系列芯片可以提供 Nios、DSP 和 Arm 等模块。在 FPGA上集成微处理器,使 SOPC 设计更加便利与强大。另一个发展是在不同器件商推出的高端芯片上大都集成了高速串行收发器,一般能够达到 3Gb/s 以上的数据处理能力,在

22、 Xilinx、Altera、Lattice 都有相应的器件型号提供该功能。这些新功能使 FPGA 的数据吞吐能力大幅度增强。2.3.2 FPGA 设计流程设计流程对于目标器件为 FPGA 和 CPLD 的 HDL 设计,其工程设计的基本流程如图 2-1 所示。现具体说明如下。第二章 基于 FPGA 的 VHDL 设计流程7图 2-1 EDA 设计流程1、文本编辑用任何文本编辑器都可以进行,通常 VHDL 文件保存为 vhd 文件,Verilog 文件保存为 v 文件。2、使用编译工具编译源文件HDL 的编译器有很多,ACTIVE 公司,MODELSIM 公司,SYNPLICITY公司,SYN

23、OPSYS 公司,VERIBEST 公司等都有自己的编译器。3、逻辑综合将源文件调入逻辑综合软件进行综合。综合的目的是在于将设计的源文件由语言转换为实际的电路。但是此时还没有在芯片中形成真正的电路。这一步的最终目的是生成门电路级的网表(Netlist)。4、布局、布线将第 3 步生成的网表文件调入 PLD 厂家提供的软件中进行布线,即把设计好的逻辑安放到 CPLDFPGA 内。这一步的目的是生成用于下载(编程Programming)的编程文件。在这一步,将用到第 3 步生成的网表,并根据CPLDFPGA 厂商的器件容量,结构等进行布局、布线。这就好像在设计电子科技大学学士学位论文8PCB 时的

24、布局布线一样。先将各个设计中的门根据网表的内容和器件的结构放在器件的特定部位。然后,在根据网表中提供的各门的连接,把各个门的输入输出连接起来。最后,生成一个供编程的文件。这一步同时还会加一些时序信息(Timing)到你的设计项目中去,以便于你做后仿真。5、后仿真利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。(也叫布局布线仿真或时序仿真)。这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。6、编程,下载如果前几步都没有发生错误,并且符合设计要求,这一步就可以将由适配器等产生的配置或下载文件通过编程器或下载电缆下载到目标芯片中。7、硬件测试硬件测试的目的是为了在

25、更真实的环境中检验 HDL 设计的运行情况,特别是对于 HDL 程序设计上不是十分规范,语义上含有一定歧义的程序。2.3.3 SPARTAN-II 芯片简介芯片简介本设计用到的 FPGA 芯片是 XILINX 公司生产的 SPARNTAN-II 系列中的xc2s100-6。下面将对该系列做简单的介绍。2.3.3.1 Spartan-II 系列的特点进入 ASSP 的领域 FPGA 正在极力将 ASSP 从电路板上挤出去,并使其失去设计人员的宠爱。但是任何旧式的 FPGA 器件都无法恰当地替代专用器件。只有 Spartan-II FPGA 可以做到这一点。Spartan-II 系列为设计人员提供

26、了完整的封装。在密度、功能和性能以及运行速度方面都差不多。但是,Spartan-II 为解决方案所提供的可编程能力有着巨大的价值,从而使其与 ASSP/ASIC 器件相比具有了很大的优势。1、现场升级的灵活性Spartan-II FPGA 的可编程能力为设计人员带来很大优势。采用的 FPGA 是标准器件后,您可更快地将产品标准化。因为 Spartan 器件可进行现场升级,升级就像下载软件一样简单。2、拥有丰富的逻辑门资源Spartan-II 系列有六款器件,密度高达 20 万门。丰富的逻辑门资源能让设计者更大限度的发挥。第二章 基于 FPGA 的 VHDL 设计流程93、告别 ASIC 和 F

27、PGA 间的性能和功能差距在性能和功能方面,大多数设计人员都会想到 ASIC 和 FPGA 间的巨大差距。但是 SPARTAN-II 消除了这一差距。4、拥有最多的存储器片上带存储器是必须的,如果还具有很好的灵活性的话,那么就更为有用了。分布式存储器和块 RAM 可高效地实现最适合您要求的配置,现时还可采用与片上存储器一样快的外部存储器。5、方便的时钟管理如果您面临时钟管理问题,Spartan-II 系列的四个高度灵活的 DLL 可解决您的问题。设计人员可在片上对输入时钟进行倍频或分频,还可驱动板上的多个时钟。6、提供高性能今天的数字世界里有许多新的 I/O 标准要求很苛刻。通过 Select

28、 I/O 技术,Spartan-II 器件支持所有这些新 I/O 标准。I/O 速度超过 200 MHz。Spartan-II 系列丰富的功能、以及高性能和低成本,使其成为多种数据网络应用 HDLC 控制器解决方案中的首选。Spartan-II 也非常适于实现控制和接口逻辑,比如用于将 CPU 同 QDR SRAM 连接在一起。7、器件密度扩展至 20 万门随着大量产品的设计变得越来越复杂,对更高密度、更大存储器资源以及更多 I/O 数量的需求也在增长。对于此类设计,Spartan-II 系列的 XC2S200 非常适合,该器件能提供 20 多万个门、14 个 RAM 块以及 284 个 I/

29、O,并有三种不同的低成本适合大批量生产的封装 PQ208、FG256 和 FG456 可供选择。利用 XC2S200,可获得比 XC2S150 多 36%的逻辑单元,而且其密度是 Spartan或 Spartan-XL 最大器件密度的五倍。XC2S200 包括了支持 Spartan-II 解决方案获得成功的所有特性。2.3.3.2 Spartan-II 的结构特点1、结构框图Spartan-II 系列 FPGA 采用了常规的灵活可编程构架,包括可配置逻辑块(CLB)和环绕在 CLB 四周的可编程输入/输出模块(IOB) ,并通过多用途布线资源形成强大的互连体系。电子科技大学学士学位论文10图

30、2-2 Spartan-ii 的结构框图2、输入/输出模块 Spartan-II 的 IOB 的输入和输出支持 16 种 I/O 信号标准,包括LVCMOS、HSTL、SSTL 和 GTL。这些高速输入和输出可支持各种先进的存储器和总线接口。三个 IOB 寄存器可作为边沿触发 D 型触发器或作为电平敏感的锁存器。第二章 基于 FPGA 的 VHDL 设计流程11图 2-3 Spartan-ii 的输入输出模块3、逻辑单元Spartan-II CLB 的基本构造单元是逻辑单元(LC) 。一个 LC 包括一个四输入的函数发生器、一个进位逻辑和一个存储单元。每个 LC 中函数发生器的输出同时驱动 C

31、LB 输出端和触发器的 D 输入端。每个 Spartan-II CLB 包含四个LC,两两组合成两个同样的 Slice。除了四个基本 LC 外,Spartan-II CLB 还包含一些逻辑电路,结合函数发生器可提供五个或六个输入的函数功能。因此当预计给定器件所能提供的系统门数量时,每个 CLB 可当作 4.5 个逻辑单元来计算。Spartan-II 函数发生器采用 4 输入查找表(LUT)的方式来实现。除了作为函数发生器以外,每个 LUT 还可作为一个 16*1 位的同步 RAM 来使用。Spartan-II LUT 还可作为一个 16 位移位寄存器使用,而且对于捕捉高速或猝发数据非常理想。这

32、一模式还可在诸如数字信号处理等应用中用于数据的存储。Spartan-II 逻辑片中的存储单元可通过配置成为边沿触发型 D 型触发器或电平敏感锁存器。电子科技大学学士学位论文12图 2-4 Spartan-ii 的逻辑单元4.块 RAMSpartan-II FPGA 集成了几块大型的 4K 位容量 Select RAM+ 存储器块。这与在 CLB 中能够实现浅 RAM 结构的分布式 Select RAM+资源互为补充。每个存储器块可配置为 4K x 1 和 256 x 16 之间的多种不同配置。第二章 基于 FPGA 的 VHDL 设计流程13图 2-5 Spartan-ii 的块 RAM5.延

33、迟锁相环与每个全局时钟输入缓冲器相连的是一个完全数字的延迟锁相环(DLL) ,它可消除时钟输入焊盘和器件内部时钟输入引脚间的畸变。每个 DLL 可驱动两个全局时钟网络。首先监视输入的时钟信号,然后是分布式时钟信号,并自动地调整时钟延迟单元。通过引入额外的延迟来保证时钟边沿严格地在到达时钟输入端一个时钟周期后到达内部触发器。通过保证到达内部触发器的时钟边沿与到达时钟输入端的时钟边沿严格同步,这一闭环系统有效地消除了时钟传输延迟。电子科技大学学士学位论文14第三章 数字频率计的软件开发环境本章主要介绍项目中将要用到了一系列软件,包括用于 VHDL 语言编写和编译的 ISE 软件和用于程序仿真的仿真

34、软件 ModelSim。3.1 开发环境开发环境随着可编程器件纷纷超越百万门级,设计者面临的产品性能与设计效率的挑战也越来越大。设计者必须合理选择各 EDA 厂家提供的加速设计的工具软件,这样才能在较短的时间内设计出高效稳定的产品。在本次设计中,由于选择的 FPGA 芯片是由 Xilinx 公司生产的,所以我们主要使用 ModelSim 和 ISE软件进行仿真和综合。3.2 ModelSim 介绍介绍ModelSim 支持 PC 和 UNIX 平台,是单一内核支持 VHDL 和 Verilog 混合仿真的 HDL 语言仿真器。ModelSim 不仅可以完成设计的功能验证,也可实现逻辑综合后的门

35、级仿真以及布局布线后的功能与时序验证。ModelSim 完全支持 VHDL 和 Verilog 标准;采用直接编辑技术,大大提高 HDL 编译和仿真速度。还可以利用 ModelSim 调用设计文件进行仿真分析。在调试环境中,设计者可以通过 ModelSim 的快速调试步骤以及对各种信号的监控功能(无论信号处于 VHDL 层,还是处于混合语言层)使仿真的执行过程形象直观化,帮助设计者及时发现漏洞,缩短设计周期。ModelSim 最大的特点是其强大的调试功能:先进的数据流窗口,可以迅速追踪到生产不定或者错误状态的原因;性能分析工具帮助分析性能瓶颈,加速仿真;代码覆盖率检查确保测试的完备;多种模式的

36、波形比较功能;先进的 SignalSpy 功能,可以方便地访问 VHDL 或者 VHDL 和 Verilog 混合设计中的底层信号;支持加密 IP;可以实现与 Matlab 的 Simulink 的联合仿真。3.2.1 ISE 环境中环境中 ModelSim 的使用的使用ModelSim 是一个独立的仿真工具,它在工作的时候并不需要其他软件的第三章 数字频率计的软件开发环境15协助,在 Xilinx 公司的 ISE 集成开发环境中给 ModelSim 仿真软件预留了接口,通过这个接口可以从 ISE 集成环境中直接启动 ModelSim 工具进行仿真。这个过程通常会给初学者一个错觉,以为 ISE

37、 集成环境和 ModelSim 工具是联合工作的,其实 ISE 并没有集成 ModelSim 工具,只是预留了软件接口。为了说明ModelSim 的用户接口,将使用从 ISE 集成开发环境中直接启动 ModelSim 仿真工具的方法。使用此种方法启动 ModelSim 工具需要具备 3 个条件:第一,启动 ISE 集成开发环境并建立了一个 FPGACPLD 的工程项目;第二,添加设计源代码并且编译通过;第三,使用 ISE 中的 TestFixture 或者TestBenchWaveform 工具为当前的设计提供一个测试模板(Testbench),并且在测试模板中添加设计激励。只有上述条件具备之

38、后才可以从 ISE 的当前资源操作窗中直接启动 ModelSim 工具并运行仿真,以下使用 ISE 自带的一个例子加以说明。在 ISE 中直接启动 ModelSim1、在 Windows 操作系统中选择开始程序Xilinx ISE 6Project Navigator命令,启动 ISE 集成开发环境。2、在 ISE 主窗口中选择FileOpen Example命令,弹出Open Example对话框,如图所示,然后在Select an Example Project栏目中选择“goldcode-ver-217” ,在Destination Directory中选择项目存放的目录,单击 OK 按

39、钮打开例子程序。图 3-1 打开例子程序3、在资源管理窗口(Source in Project)中的模块视图(Model View)中电子科技大学学士学位论文16选中的测试文件“testbench.tf”,在相应的当前资源操作窗口(Process for Current Source)中将会出现与 Modelsim 仿真器相关的行为仿真(Simulate Behavioral Verilog Model) ,翻译后仿真(Simulate Post-Map Verilog Model)和布局布线后仿真(Simulate Post-Place & Route Verilog Model)等 4 个

40、不同的操作选项,如图所示:图 3-2 Modelsim 仿真4、双击Simulate Behavioral Model操作选项,将启动 Modelsim 仿真器。5、在 Modelsim 主窗口中选择View/All命令,将显示所有的窗口。在当前资源操作窗口中选择任意一个操作选项都可以启动相应阶段的仿真操作,如果相应阶段的仿真文件不存在,那么集成环境将自动生成仿真文件。例如,当双击资源操作窗口中的Simulate Post-Place & Route Verilog Model操作选项时将启动时序仿真,而这一仿真过程所需要的布局布线后仿真文件以及时序标注文件都还没有产生,那么 ISE 集成开发

41、环境将自动开始对这个工程进行编译,综合,翻译,映射和布局布线等操作,得到布局布线后仿真文件以及时序标注文件,然后再启动 ModelSim 仿真器进行时序仿真。3.3 ISE 介绍介绍本节主要介绍在 XILINX 的 ISE 集成软件环境中,如何用 VHDL 和原理图的方式进行设计输入,如何用 ModelSim 仿真工具对设计进行功能仿真和时序仿真,如何实现设计。第三章 数字频率计的软件开发环境173.3.1 建立项目工程建立项目工程建立新的项目工程,选择【File】 ,再选择【New Project】 ,如图就可以了。图 3-3 ISE 建立新工程选择使用的可编程器件类型 device fam

42、ily-器件族名 device-器件型号package封装 speed grade-速度 top-level module type-顶层文件类型 synthesis tool-综合工具 simulator-仿真工具 generated simulation language生成的仿真模型语言。图 3-4 选择器件电子科技大学学士学位论文18然后一路 NEXT,最后点击完成。刚生成的工程是没有类型的,需要自己加入。方法是在 sources in project 中右击,选择 add sources,选择你写的文件加入即可。如果要新写程序,用同样的方法,选择 new sources 即可,会弹出

43、如下对话框,让你选择 New Sources 的类型。图 3-5 选择 New Sources 的类型选择 vhdl module,写上文件名,在下一页可以写上输入输出口,也可以不写。一路 NEXT 到完成就可以。这样就可以开始写代码或继续下一步综合了。要打开或编辑新建的文件,直接在 sources in project 窗口中双击该文件即可。3.3.2 行为仿真行为仿真1、在工程项窗口 Project Window 的源文件中选中计数器(counter.vhd)。2、选择 Project/New Source。3、在新的对话框中选择新文件类型为 Test Bench Waveform。4、键

44、入文件名为 counter_tbw。5、点击 Next,在其他工程项中你可以将你的 testbench 波形与其他源文件关联。6、一直 Next 直到 Finish,此时 HDL Bencher 程序自动启动并等候你输入第三章 数字频率计的软件开发环境19所需的时序需求,你现在可以指定仿真所需的时间参数、时钟高电平时间和时钟低电平时间一起定义了设计操作必须达到的时钟周期,输入建立时间定义了输入在什么时候必须有效,输出有效延时,定义了有效时钟沿到达后多久必须输出有效数据。默认的初始化时间设置如下:时钟高电平时间: Clock high time: 50 ns 。时钟低电平时间: Clock lo

45、w time: 50 ns 。输入建立时间: Input setup time: 10 ns 。输出有效时间: Output valid delay: 10 ns 。7、点击 OK,接受默认的时间设定。Testbench waveform 窗口如下。图 3-6 Testbench Waveform在 HDL Bencher 的波形中,初始化计数器输入如下:在每个单元的蓝色区域输入激励。a、在 CLK 第 1 周期下点击 RESET 单元直到该单元变为。b、在 CLK 第 2 周期下点击 RESET 单元直到该单元变为低。c、在 CLK 第 3 周期下点击 CE 单元直到该单元变为高。d、在 C

46、LK 第 2 周期下点击 DIR 单元直到该单元变为高。图 3-7 激励输入电子科技大学学士学位论文20e、将你的 testbench 文件存盘,选择 File/Save Waveform 或点击工具栏的存盘图标,接下来 HDL Bencher 会提示你设置你希望仿真的时钟周期数。f、在 End the testbench _ cycles after the last input assignment 对话框中输入8,默认值为 1。g、点击 OK.退出 HDL Bencher 新的 testbench 波形源文件 counter_tbw.tbw自动加入到该工程项中。8、生成预期的输出响应:我

47、们进行行为仿真以验证计数器模块的功能。a、在 Sources in Project 窗口中选择 counter_tbw.tbw 文件。b、在 Processes for Current Source 窗口中点击 + 符号展开 ModelSim 仿真器的层次结构找到并双击 Simulate Behavioral VHDL Model,此时 ModelSim 仿真器自动启动。c、对于第一次运行 ModelSim 的用户会显示一个对话框需要在其中做以下处理:选中 Do not show this dialog again 选项,点击 Run ModelSim 此对话框在你重新安装或重新配置 Mode

48、lSim 之前将不再显示你的仿真结果现在显示在ModelSim 的波形窗口(wave window)。d、点击 Zoom / Zoom Full;点击 Zoom / Zoom in。e、拖动波形窗口下端的滚动条至窗口的最左端。图 3-8 仿真图3.3.3 建立顶层原理图建立顶层原理图3.3.3.1 生成原理图符号1、在 Sources in Project 窗口中选中计数器模块 counter.vhd。2、在 Processes for Current Source 窗口中,点击设计输入实用程序(Design 第三章 数字频率计的软件开发环境21Entry Utilities)之前的“+”符号

49、然后双击创建原理图符号(Create Schematic Symbol)经过以上步骤,名称为“counter”的图形化元件被放入到工程项库中。3.3.3.2 创建顶层原理图1、在工程项导航器(Project Navigator)菜单中,选择 Project/New Source。2、选择原理图(Schematic)为源类型。3、输入原理图名为“top” 。4、先点击“Next”再点击“Finish” ,此时原理图编辑器(ECS)自动启动并在其原理图窗口中打开一张空图。3.3.3.3 例化 VHDL 模块1、在菜单中选择 Add / Symbol 或者在工具栏中点击(Add Symbol)图标。

50、2、从元件符号列表(在屏幕右侧)中选择计数器 counter,注意不要在类别(Categories)窗口中作任何选择。3、点击左键可将计数器 counter 放置在光标所在的位置出现。4、按 ESC 键退出添加符号(Add Symbol)模式。图 3-9 例化 VHDL 模块3.3.3.4 原理图连线1、首先激活划线功能通过在菜单中选择 Add/Wire 或者在工具栏中点击 (Add Wire)图标。2、添加一根悬空线和延展连线,在计数器模块的某一管脚单击鼠标,然后将连线拉伸到需要的长度。再在连线端点处双击鼠标,给计数器模块的每一电子科技大学学士学位论文22管脚添加连线。3、添加两个元件符号之

51、间的连线,在一个计数器模块的管脚处单击鼠标,在另一个计数器模块的对应管脚处双击鼠标。连接好线后按 ESC 键退出添加连线(Add/Wire)模式。图 3-10 原理图连线3.3.3.5 添加输入输出管脚标记1、在菜单中选择 Add/ (I/O Marker)或在工具栏中点击(Add I/O Marker)图标,连接好的图如下。图 3-11 添加输入输出管脚第三章 数字频率计的软件开发环境232、连接步骤:首先为 clock,reset,ce,load,dir1 和 dir2 添加输入标记,同时为总线 din1(3:0)和 din2(3:0)添加输入标记。在工具栏右边的参数单选框中选择输入(In

52、put);将鼠标移动到输入信号线的端点,此时光标处显示出输入标记的图形;点击鼠标左键,输入标记会将网络名或总线名包含在标记图形的内部。3、按如下步骤为 count 总线添加双向信号标记。在工具栏右边的参数单选框中选择双向(Bidirectional);将鼠标移动到输出信号线的端点,此时光标处显示出双向信号标记的图形;点击鼠标左键。4、在菜单中选择 File/Save,保存原理图,退出原理图编辑器(ECS)。3.3.4 综合综合3.3.4.1 Synthesize 综合当你编写程序后,并把顶层原理图连接好以后,就可以综合了。选中你的顶层文件,双击 Synthesize-Synplify Pro。

53、图 3-12 综合如果出现上图的小勾,表示综合没有问题。你可以双击 View RTL Schematic 来查看综合后的 RTL 原理图。电子科技大学学士学位论文243.3.4.2 定义输入输出管脚约束选中顶层文件,双击下图中的 Assign Package Pins,该操作会提示系统将生成一个.ucf 文件,选择是,系统将自动启动 Xilinx Pace。图 3-13 分配引脚图 3-14 Xilinx Pace第三章 数字频率计的软件开发环境25现在就可以在 LOC 栏写上管脚名,定义 I/O 电平类型,输出电流大小等,需要注意的是一些 I/O 是有特殊用处的,不能胡乱分配。定义完后保存退

54、出。3.3.5 布局布线布局布线双击 Implement Design,会依次执行 Translate,Map,Place&Route。图 3-15 设计实现3.3.6 下载及硬件仿真下载及硬件仿真选中顶层文件,双击运行 Generate Programming File,运行后生成相应的(.Bit)下载文件。该文件将下载到芯片中实现设计。图 3-16 生成下载文件电子科技大学学士学位论文26再双击上图 Configure Device。运行后跳出下载界面,选择主从下载文式(Slave Serial Mode) ,点击完成。图 3-17 下载方式右键点击元件,点击 Program,选择相应的

55、BIT 文件开始下载。图 3-18 下载位文件成功下载后就可以在 FPGA 板子上运行和测试了。第四章 数字频率计的设计与实现27第四章 数字频率计的设计与实现4.1 任务要求任务要求本课题核心任务是完成基于 FPGA 利用 VHDL 语言设计一个数字频率计的设计,仿真,下载实现并实际测量效果,同时要熟悉和掌握 Spartan-II 这块板子的各种性能。考虑到是首次接触 VHDL 描述语言,并且以前没有过基于FPGA 设计的经验,所以在完成课题的同时,也不断的加深对 VHDL 描述语言的掌握,以及不断总结由软件来实现硬件的特点,为以后的工作和更进一步的学习学习打好基础。除此以外,利用课余时间学

56、习数字频率计的硬件实现方法,即用 MultiSim 仿真,PROTEL 作原理图以及 PCB 板等。数字频率计的相关技术指标如下:1、位数:测量频率通过 LED 数码管为六位十进制数显示。2、测试频率范围为:1Hz1MHz。扩展 1MHz100MHz。3、量程分为三档:第一档:最小量程档,闸门时间为 1S 时,最大读数为 999.999KHz。第二档:闸门时间为 0.1S 时,最大读数为 9999.99KHz。第三档:闸门时间为 0.01S 时,最大读数为 99999.9KHz。以上三档,实际测得的频率是 1Hz99999.9KHz。显然完全涵盖了1Hz100MHz 的范围。4、显示工作方式:

57、a、用 BCD 七段共阳极数码管显示读数,只有在读数不发生跳变时才是正确的结果。b、采用记忆显示方法,即在一次测试结束时,显示测试结果,此显示值一直保留到下次测量显示数到来,才将上次显示冲刷更新。用第二次测试结果,更新显示值。c、实现对高位无意义零的消隐。5、要求被测输入信号应是符合数字电路要求的脉冲波或正弦波。电子科技大学学士学位论文284.2 测量原理测量原理在电子技术领域内,频率是一个最基本的参数,频率与其它许多电参量的测量方案、测量结果都有十分密切的关系。因此,频率的测量就显得更为重要.而且,目前在电子测量中,频率的测量精确度是最高的。4.2.1 频率或时间的原始基准频率或时间的原始基

58、准时间是某一时刻与另一时刻之间的时间长度,这里指的时刻是连续流逝的时间中的一个时点。为了使大家能够确定出同一时刻,就需要使用共同的时刻标尺来衡量,用这个时刻标尺上的标度来客观地认识时刻。要计量时间需要有固定不变的时间单位,用秒作为时间的基本单位。如果一秒内的振动数即频率为已知,则可由此振动数的倒数得到秒的间隔,这就是说单位秒和标准频率数是互相依存的事物。时刻和时间发展的历史,集中反映在秒的定义在不断变迁,秒的准确度不断提高。采用天文观测方法,求得的太阳出现于天顶的平均周期为平均太阳日。将太阳日分为 246060 份,得到的秒为零类世界时(记作),其准确度在0UT量级。地球自转受到极运动(极移引

59、起的经度变化)的影响,校正了这个偏610差而得到的地球自转的周期,称为第一世界时(记作)。再把地球自转的季1UT度性、年度性的变化(最大可达 0.03 秒)校正,就引出了第二世界时(记作)。2UT世界时经过五十年的观测,发现其稳定度为。这样,以为标准2UT81032UT其计时准确度很难优于。8103为了得到更准确的均匀不变的时间标准,人们以 1.900 回归年的 31 556 925 9747 分之一作为历书时的秒(记作 ET),其准确度可达左右。9101、ET 为宏观计时标准,它需要精密的天文观测,手续烦杂,准确度有限。2UT近年来引进了微观计时标准,这就是利用原子或分子内部能级跃迁所辐射或

60、吸收的电磁波的频率作为基准来计量时间。采用()原子基态的两个133铯133Cs超精细能级之间跃迁所对应的 9 192 631 770 个周期的持续时间为一秒,以此为标准定出的时间标准称为原子时(记作 AT),其准确度可达。1310目前,国际上已经应用经过原子标准修正过的时间来发送时间标准,用原子时来对天文时(、ET)进行修正。另外,由于频率是时间的倒数,因此,2UT有了时间标准也就有了频率标准。由于数字电路的飞速发展和数字集成电路的普及,电子计数器的应用已十分普及,利用电子计数器测量频率具有精确度高、使用方便、测量迅速,以及第四章 数字频率计的设计与实现29便于实现测量过程自动化等一系列突出优

61、点,故已发展成为近代频率测量的重要手段。4.2.2 电子计数器测频方法电子计数器测频方法目前,绝大多数实验室用电子计数器都具有测量频率(测频)和测量周期(测周)等两种以上的测量功能,故统称“通用计数器.各种测量功能可利用功能选择开关加以选择。4.2.2.1 电子计数器的测频原理所谓“频率” ,就是周期性信号在单位时间(一秒)内变化的次数。若在一定时间内计得这个周期信号变化的次数为 N,则其频率可表达: (4-1)TNf 电子计数器可以严格按照公式(4-1)所表达的频率的定义进行测频,其原理方框图如图 4-1 示:图 4-1 测频原理图首先,把被测信号(以正弦波为例)通过脉冲形成电路转变成脉冲(

62、实际上变成方波即可)其重复频率等于被测频率,然后将它加到闸门的一个输入端。xf闸门出门控信号来控制开、闭时间,只有在闸门开通时间 T 内,被计数的脉冲才能通过闸门,被送到十进制电子计数器进行计数。门控信号的作用时间T 是非常准确的,以它作为时间基准(时基),它由时基发生器提供。时基信号发生一个高稳定的石英振荡器和一系列数字分频器组成,由它输出的标准时间脉冲(时标)去控制门控电路形成门控信号。比如,时标信号的重复周期为 1S,则加到闸门的门控信号作用时间 T 即闸门时间亦准确地等于 1s,即闸门开通时间为 1s,这时若计得 10 000 个数,则按式(4-1),被测频率=10.000Hz,若计x

63、f电子科技大学学士学位论文30数器上单位显示为“kHz” ,则显示 10.000kHz,即小数点定位在第三位。不难设想,若闸门时间改为 T=0.1s,则计数值为 1 000,这个数乘以 10 就等于 1s 的计数值,即Hz。实际上,当改变闸门时间 T 时,显示器1000 10100000 xf 上的小数点也随着往右移一位(自动定位),即显示 10.000kHz。从以上讨论可知,电子计数器的测频原理实质上以比较法为基础,它将和时基信号频率相比,两个频率相比的结果以数字的形式显示出来。xf4.2.3 误差分析误差分析下面我们来分析计数器测频的测量误差。从公式(4-1)可知,上述测频方法的测量误差,

64、一方面决定于闸门时间 T 准不准,另一方面决定于计数器计得的数准不准。根据误差合成方法,从公式(4-1)可得: (4-2)TTNNffxx公式(4-2)中第一项是数字化仪器所特有的误差,而第二项是闸门NNTT时间的相对误差,这项误差决定于石英振荡器所提供的标准频率的准确度。现分述如下。4.2.3.1 1 误差在测频时,主门的开启时刻与计数脉冲之间的时间关系是不相关的,所以它们在时间轴上的相对位置是随机的。这样,在相同的主门开启时间内,计数器所计得的数却不一定相同,当主门开启时间 T 接近甚至等于被测信号周期的整数倍 N 倍时,此项误差为最大,图 4-2 画出的就是这种情况。xT图 4-2 正负

65、 1 误差第四章 数字频率计的设计与实现31若主门开启时刻为,而第 1 个计数脉冲出现在,图 4-2 (a)中示出了0TxT0 的情况(),这时计数器计得 N 个数(图中 N=6);现在再来xT0T0TTTx看图 4-2 (b)情况,即趋近于 0,这就有两种可能的计数结果:若第 1 个计T数脉冲和第 7 个计数脉冲都能通过主门,则可计得 N+1=7 个数;也可能这两个脉冲都没有能进入主门,则只能计得 N-1=5 个数。由此可知,最大的计数误差为个数。所以考虑到公式(4-1),可写成1N (4-3)xTfNNN11式中 T 为闸门时间,为被测频率。从公式(4-3)可知,不管计数值 N 多xf少,

66、其最大误差总是1 个计数单位,故称“1 个字误差” ,简称“1 误差” 。而且一定时,增大闸门时间 T,可减小1 误差对测频误差的影响。当 T 选xf定后,越低,则由1 误差产生的测频误差越大。xf4.2.3.2 标准频率误差闸门时间 T 准不准,主要决定于由石英振荡器提供的标准频率的准确度,若石英振荡器的频率为,分频系数为 k,则cfccfkkTT而2ccffkT所以 (4-4)ccffTT可见,闸门时间的准确度在数值上等于标准频率的准确度,式中负号表示由引起的闸门时间的误差为。cfT通常,对标准频率准确度的要求是根据所要求的测频准确度提出来的,ccff例如,当测量方案的最小计数单位为 1Hz,而=Hz,在 T=1s 时的测量准xf610确度为(只考虑误差),为了使标准频率误差不对测量结果表明产生61011电子科技大学学士学位论文32影响,石英振荡器的输出频率准确度应优于,即比误差引起的测ccff71011频误差小一个量级。4.2.3.3 结论综上所述,可得如下结论:1、计数器直接测频的误差主要有两项:即误差和标准频率误差。一般,1总误差可采用分项误差绝对值合成,即 (4-5)1(c

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!