版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘摘 要要伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。数字频率计是一种基本的测量仪器。它被广泛应用与航天、电子、测控等领域。采用等精度频率测量方法具有测量精度保持恒定,不随所测信号的变化而变化的特点。本文首先综述了 EDA 技术的发展概况,FPGA/CPLD 开发的涵义、优缺点,VHDL 语言的历史及其优点,概述了 EDA 软件
2、平台QUARTUS;然后介绍了频率测量的一般原理,利用等精度测量原理,通过 FPGA 运用 VHDL 编程,利用 FPGA(现场可编程门阵列)芯片设计了一个 8 位数字式等精度频率计,该频率计的测量范围为 0-100MHZ,利用 QUARTUS 集成开发环境进行编辑、综合、波形仿真,并下载到 CPLD 器件中,经实际电路测试,仿真和实验结果表明,该频率计有较高的实用性和可靠性。 关键词关键词:电子设计自动化;VHDL 语言;频率测量;数字频率计AbstractThe Electronic Design Automation (EDA) technology has become an impo
3、rtant design method of analog and digital circuit system as the integrated circuits growing. The EDA technology, which is closely connected with the electronic technology, microelectronics technology and computer science, can be used in designing electronic product automatically. Digital frequency m
4、eter is a basic measuring instruments. It is widely used in aerospace, electronics, monitoring and other fields. With equal precision frequency measurement accuracy to maintain a constant, and not with the measured signal varies.We firstly present some background information of EDA, FPGA/CPLD,VHDL a
5、nd the EDA software platform QUARTUS in this thesis;then introduced the general principle of frequency measurement, utilization of precision measuring principle, using VHDL programming, use of FPGA (Field Programmable Gate Array) chip design such as the precision of a digital frequency meter, this f
6、requency meters measuring range is 0-100MHZ,use QUARTUS integrated development environment for editing, synthesis, wave simulation, and download to the CPLD device, by the actual circuit testing, simulation and experimental results show that the frequency meter has high practical and reliability.Key
7、words: Electronic Design Automation,VHDL, Frequency measurement,digital frequency meter目目 录录摘 要.IABSTRACT.II目 录.III1. 绪 论.11.1 电子设计自动化(EDA)发展概述.2什么是电子设计自动化(EDA ).2的发展历史.21.2 基于 EDA 的 FPGA/ CPLD 开发.4简介.4用 FPGA/CPLD 进行开发的优缺点.51.3 硬件描述语言(HDL).7语言简介.71.3.2 利用 VHDL 语言开发的优点 .81.4 QUARTUSII 概述.92. 频率测量.112
8、.1 数字频率计工作原理概述.112.2 测频原理及误差分析.12常用测频方案.12等精度测频原理.12误差分析.13本章小结.143. 数字频率计的系统设计与功能仿真.153.1 系统的总体设计.153.2 信号源模块.163.3 分频器.173.4 测频控制信号产生器.183.5 锁存器.193.6 十进制计数器.193.7显示模块.20显示模块设计.20显示电路.21译码器.22本章小结.22结 论.23致 谢.24参考文献.25附录一 频率计顶层文件.26附录二 信号源模块源程序.27附录三 分频器源程序.28附录四 测频控制信号发生器源程序.30附录五 32 位锁存器源程序.32附录
9、六 有时钟使能的十进制计数器的源程序.33附录七 显示模块源程序.351. . 绪绪 论论21 世纪人类将全面进入信息化社会,对微电子信息技术和微电子 VLSI 基础技术将不断提出更高的发展要求,微电子技术仍将继续是 21 世纪若干年代中最为重要的和最有活力的高科技领域之一。而集成电路(IC)技术在微电子领域占有重要的地位。伴随着 IC 技术的发展,电子设计自动化(Electronic Design Automation, EDA)己经逐渐成为重要设计手段,其广泛应用于模拟与数字电路系统等许多领域。EDA 是指以计算机大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自
10、动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术1。VHDL(超高速集成电路硬件描述语言)是由美国国防部开发的一种快速设计电路的工具,目前已经成为 IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL 具有多层次描述系统硬件功能的能力,支持自顶向下(Top_Down)和基于库(LibraryBase
11、d)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用 VHDL 对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的 CPLD 器件中去,从而实现可编程的专用集成电路(ASIC)的设计。数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差,可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以 EDA 工具作为开发手段,运用 VHDL 语言。将使整个系统大大简化。提高整体的性能和可靠
12、性。数字频率计是通信设备、音、视频等科研生产领域不可缺少的测量仪器。采用VHDL 编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分外,其余全部在一片 FPGA 芯片上实现。整个系统非常精简,且具有灵活的现场可更改性。本文用 VHDL 在 CPLD 器件上实现一种 8 位数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且能对其他多种频率信号进行测量。具有体积小、可靠性高、功耗低的特点。1.1 电子设计自动化电子设计自动化(EDA)发展概述发展概述什么是电子设计自动化什么是电子设计自动化(EDA )在电子设计技术领域,
13、可编程逻辑器件(如 PLD, GAL)的应用,已有了很好的普及。这些器件为数字系统的设计带来极大的灵活性。由于这类器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程、乃至设计观念。纵观可编程逻辑器件的发展史,它在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的 EDA 便应运而生了。电子设计自动化(EDA)是一种实现电子
14、系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是 20 世纪 90 年代初从 CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和 CAE(计算机辅助工程)的概念发展而来的。EDA 技术就是以计算机为工具,在 EDA 软件平台上,根据硬件描述语言 HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在 EDA 工具的帮助下和应用
15、相应的FPGA/CPLD 器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。当然,这里的所谓 EDA 主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也比较大。而仿真电子系统的 EDA 正在进入实用,其初期的 EDA 工具不一定需要硬件描述语言。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA 的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。EDA 的发展历史的发展历史EDA 技术的发展始于 70 年代,至今经历了三个阶段。电子线路的 CAD(计算机辅助计)是 EDA 发展
16、的初级阶段,是高级 EDA 系统的重要组成部分。它利用计算机的图形编辑、分析和存储等能力,协助工程师设计电子系统的电路图、印制电路板和集成电路板图;采用二维图形编辑与分析,主要解决电子线路设计后期的大量重复性工作,可以减少设计人员的繁琐重复劳动,但自动化程度低,需要人工干预整个设计过程。这类专用软件大多以微机为工作平台,易于学用,设计中小规模电子系统可靠有效,现仍有很多这类专用软件被广泛应用于工程设计。80 年代初期,EDA 技术开始设计过程的分析,推出了以仿真(逻辑模拟、定时分析和故障仿真)和自动布局与布线为核心的EDA 产品,这一阶段的 EDA 已把三维图形技术、窗口技术、计算机操作系统、
17、网络数据交换、数据库与进程管理等一系列计算机学科的最新成果引入电子设计,形成了 CAE计算机辅助工程。也就是所谓的 EDA 技术中级阶段。其主要特征是具备了自动布局布线和电路的计算机仿真、分析和验证功能。其作用已不仅仅是辅助设计,而且可以代替人进行某种思维。CAE 这种以原理图为基础的 EDA 系统,虽然直观,且易于理解,但对复杂的电子设计很难达到要求,也不宜于设计的优化。所以,90 年代出现了以自动综合器和硬件描述语言为基础,全面支持电子设计自动化的 ESDA(电子系统设计自动化),即高级 EDA 阶段、也就是目前常说的 EDA。过去传统的电子系统电子产品的设计方法是采用自底而上(Botto
18、m_Up)的程序,设计者先对系统结构分块,直接进行电路级的设计。这种设计方式使设计者不能预测下一阶段的问题,而且每一阶段是否存在问题,往往在系统整机调试时才确定,也很难通过局部电路的调整使整个系统达到既定的功能和指针,不能保证设计一举成功。EDA 技术高级阶段采用一种新的设计概念:自顶而下(Top_Down)的设计程序和并行工程(Concurrent engineering )的设计方法,设计者的精力主要集中在所要电子产品的准确定义上,EDA 系统去完成电子产品的系统级至物理级的设计。此阶段 EDA 技术的主要特征是支持高级语言对系统进行描述,高层次综合(High Level Synthesi
19、s )理论得到了巨大的发展,可进行系统级的仿真和综合。图 1.1 给出了上述三个阶段的示意图。图 1.1 EDA 发展阶段示意图1.2 基于基于 EDA 的的 FPGA/ CPLD 开发开发我国的电子设计技术发展到今天,将面临一次更大意义的突破,即 FPGA/CPLD ( Field Programmable Gate Array,现场可编程门阵列/Complex Programmable Logic Device,复杂可编程逻辑器件)在 EDA 基础上的广泛应用。从某种意义上说,新的电子系统运转的物理机制又将回到原来的纯数字电路结构,但却是一种更高层次的循环,它在更高层次上容纳了过去数字技术
20、的优秀部分,对(Micro Chip Unit ) MCU 系统是一种扬弃,在电子设计的技术操作和系统构成的整体上发生了质的飞跃。如果说 MCU 在逻辑的实现上是无限的话,那么 FPGA/CPLD 不但包括了 MCU 这一特点,而且可以触及硅片电路线度的物理极限,并兼有串、并行工作方式,高速、高可靠性以及宽口径适用性等诸多方面的特点。不但如此,随着 EDA 技术的发展和 FPGA/CPLD 在深亚微米领域的进军,它们与 MCU, MPU, DSP, A/D, D/A, RAM 和 ROM 等独立器件间的物理与功能界限已日趋模糊。特别是软/硬 IP 芯核(知识产权芯核;Intelligence
21、Property Core,一种已注册产权的电路设计)产业的迅猛发展,嵌入式通用及标准 FPGA 器件的呼之欲出,片上系统(SOC)已经近在咫尺。FPGA/CPLD 以其不可替代的地位及伴随而来的极具知识经济特征的 IP 芯核产业的崛起,正越来越受到业内人士的密切关注。FPGA/CPLDFPGA/CPLD 简介简介FPGA 和 CPLD 都是高密度现场可编程逻辑芯片,都能够将大量的逻辑功能集成于一个单片集成电路中,其集成度已发展到现在的几百万门。复杂可编程逻辑器件CPLD 是由 PAL ( Programmable Array Logic,可编程数组逻辑)或 GAL ( Generic Arr
22、ay Logic,通用数组逻辑)发展而来的。它采用全局金属互连导线,因而具有较大的延时可预测性,易于控制时序逻辑;但功耗比较大。现场可编程门阵列(FPGA)是由掩膜可编程门阵列(MPGA)和可编程逻辑器件二者演变而来的,并将它们的特性结合在一起,因此FPGA 既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。FPGA 通常由布线资源分隔的可编程逻辑单元(或宏单元)构成数组,又由可编程 I/O 单元围绕数组构成整个芯片。其内部资源是分段互联的,因而延时不可预测,只有编程完毕后才能实际测量。CPLD 和 FPGA 建立内部可编程逻辑连接关系的编程技术有三种:基于反熔丝技术的器件只
23、允许对器件编程一次,编程后不能修改。其优点是集成度、工作频率和可靠性都很高,适用于电磁辐射干扰较强的恶劣环境。基于 EEPROM 内存技术的可编程逻辑芯片能够重复编程 100 次以上,系统掉电后编程信息也不会丢失。编程方法分为在编程器上编程和用下载电缆编程。用下载电缆编程的器件,只要先将器件装焊在印刷电路板上,通过 PC, SUN 工作站、ATE(自动测试仪)或嵌入式微处理器系统,就能产生编程所用的标准 5V, 3.3V 或 2.5V 逻辑电平信号,也称为 ISP ( In System Programmable)方式编程,其调试和维修也很方便。基于 SRAM 技术的器件编程数据存储于器件的
24、RAM 区中,使之具有用户设计的功能。在系统不加电时,编程数据存储在EPROM、硬盘、或软盘中。系统加电时将这些编程数据实时写入可编程器件,从而实现板级或系统级的动态配置。用用 FPGA/CPLDFPGA/CPLD 进行开发的优缺点进行开发的优缺点我们认为,基于 EDA 技术的 FPGA/CPLD 器件的开发应用可以从根本上解决MCU 所遇到的问题。与 MCU 相比,FPGA/CPLD 的优势是多方面的和根本性的:(1).编程方式简便、先进。FPGA/CPLD 产品越来越多地采用了先进的 IEEE1149.1边界扫描测试(BST)技术(由联合测试行动小组,JTAG 开发)和 ISP(在系统配置
25、编程方式)。在+5 V 工作电平下可随时对正在工作的系统上的 FPGA/CPLD 进行全部或部分地在系统编程,并可进行所谓菊花链式多芯片串行编程,对于 SRAM 结构的 FPGA,其下载编程次数几乎没有限制(如 Altera 公司的 FLEXIOK 系列)。这种编程方式可轻易地实现红外编程、超声编程或无线编程,或通过电话线远程在线编程。这些功能在工控、智能仪器仪表、通讯和军事上有特殊用途。(2).高速。FPGA/CPLD 的时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。(3).高可靠性。在高可靠应用领域,MCU 的缺憾为 FPGA/CPLD 的应用
26、留下了很大的用武之地。除了不存在 MCU 所特有的复位不可靠与 PC 可能跑飞等固有缺陷外,FPGA/CPLD 的高可靠性还表现在几乎可将整个系统下载于同一芯片中,从而大大缩小了体积,易于管理和屏蔽。(4).开发工具和设计语言标准化,开发周期短。由于 FPGA/CPLD 的集成规模非常大,集成度可达数百万门。因此,FPGA/ CPLD 的设计开发必须利用功能强大的 EDA工具,通过符合国际标准的硬件描述语言(如 VHDL 或 Verilog-HDL)来进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用的 FPGA/ CPLD 器件的硬件结构没有关系,所以设
27、计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号的 FPGA/ CPLD 中,由此还可以以知识产权的方式得到确认,并被注册成为所谓的 IP 芯核,从而使得片上系统的产品设计效率大幅度提高。由于相应的 EDA 软件功能完善而强大,仿真方式便捷而实时,开发过程形象而直观,兼之硬件因素涉及甚少,因此可以在很短时间内完成十分复杂的系统设计,这正是产品快速进入市场的最宝贵的特征。美国 TI 公司认为,一个 ASIC 80 %的功能可用 IP 芯核等现成逻辑合成。EDA 专家预言,未来的大系统的 FPGA/ CPLD 设计仅仅是各类再应用逻辑与 IP 芯核的拼装,其设计周期最少仅数
28、分钟。(5).功能强大,应用广阔。目前,FPGA/ CPLD 可供选择范围很大,可根据不同的应用选用不同容量的芯片。利用它们可实现几乎任何形式的数字电路或数字系统的设计。随着这类器件的广泛应用和成本的大幅度下降,FPGA/ CPLD 在系统中的直接应用率正直逼 ASIC 的开发。同时,FPGA/CPLD 设计方法也有其局限性。这主要体现在以下几点:(1).FPGA/CPLD 设计软件一般需要对电路进行逻辑综合优化(Logic Synthesis & Optimization),以得到易于实现的结果,因此,最终设计和原始设计之间在逻辑实现和时延方面具有一定的差异。从而使传统设计方法中经常采用的一
29、些电路形式(特别是一些异步时序电路)在 FPGA/CPLD 设计方法中并不适用。这就要求设计人员更加了解FPGA/CPLD 设计软件的特点,才能得到优化的设计。(2).FPGA 一般采用查找表(LUT)结构(Xilinx), AND-OR 结构(Altera)或多路选择器结构(Actel),这些结构的优点是可编程性,缺点是时延过大,造成原始设计中同步信号之间发生时序偏移。同时,如果电路较大,需要经过划分才能实现,由于引出端的延迟时间,更加大了延迟时间和时序偏移。时延问题是 ASIC 设计当中常见的问题,要精确地控制电路的时延是非常困难的,特别是在像 FPGA/CPLD 这样的可编程逻辑当中。(
30、3).FPGA/CPLD 的容量和 I/O 数目都是有限的,因此,一个较大的电路必须经过逻辑划分(Logic Partition)才能用多个 FPGA/CPLD 芯片实现,划分算法的优劣直接影响设计的性能。(4).由于目标系统的 PCB 板的修改代价很高,用户一般希望能够在固定引出端分配的前提下对电路进行修改。但在芯片利用率提高,或者芯片 I/O 引出端很多的情况下,微小的修改往往会降低芯片的布通率。(5).早期的 FPGA 芯片不能实现内存、模拟电路等一些特殊形式的电路。最新的一些 FPGA 产品集成了通用的 RAM 结构。但这种结构要么利用率不高,要么不完全符合设计者的需要。这种矛盾来自于
31、 FPGA 本身的结构局限性,短期内很难得到很好的解决。(6).尽管 FPGA 实现了 ASIC 设计的硬件仿真,但是由于 FPGA 和门阵列、标准单元等传统 ASIC 形式的延时特性不尽相同,在将 FPGA 设计转向其它 ASIC 设计时,仍然存在由于延时不匹配造成设计失败的可能性。针对这个问题,国际上出现了用FPGA 数组对 ASIC 进行硬件仿真的系统(如 Quickturn 公司的硬件仿真系统)。这种专用的硬件仿真系统利用软硬件结合的方法,用 FPGA 数组实现了 ASIC 快速原型,接入系统进行测试。该系统可以接受指定的测试点,在 FPGA 数组中可以直接观测(就像软件模拟中一样),
32、所以大大提高了仿真的准确性和效率。1.3 硬件描述语言硬件描述语言(HDL)(HDL)硬件描述语言(HDL)是相对于一般的计算机软件语言如 C , Pascal 而言的。 HDL是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。设计者可以利用 HDL 程序来描述所希望的电路系统,规定其结构特征和电路的行为方式;然后利用综合器和适配器将此程序变成能控制 FPGA 和 CPLD 内部结构、并实现相应逻辑功能的门级或更底层的结构网表文件和下载文件。硬件描述语言具有以下几个优点:a.设计技术齐全,方法灵活,支持广泛。b.加快了硬件电路的设计周期,降低了硬件电路的设计难度
33、。 c.采用系统早期仿真,在系统设计早期就可发现并排除存在的问题。d.语言设计与工艺技术无关。e.语言标准,规范,易与共享和复用。就FPGA/CPLD 开发来说,VHDL 语言是最常用和流行的硬件描述语言之一。本次设计选用的就是 VHDL 语言,下面将主要对 VHDL 语言进行介绍。VHDLVHDL 语言简介语言简介VHDL 是超高速集成电路硬件描述语言的英文字头缩写简称,其英文全名是 Very-High -Speed Integrated Circuit Hardware Description Language。它是在 70 80 年代中由美国国防部资助的 VHSIC(超高速集成电路)项目
34、开发的产品,诞生于 1982 年。1987 年底,VHDL 被 IEEE(The Institute of Electrical and Electronics Engineers)确认为标准硬件描述语言。自 IEEE 公布了 VHDL 的标准版本(IEEE std 1076-1987 标准)之后,各 EDA公司相继推出了自己的 VHDL 设计环境。此后,VHDL 在电子设计领域受到了广泛的接受,并逐步取代了原有的非标准 HDL。1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了新版本的 VHDL,即ANSI/IEEE std 10
35、76-1993 版本。1996 年 IEEE 1076.3 成为 VHDL 综合标准。VHDL 主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的 HDL 相比,VHDL 具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的 EDA 工具和 VHDL 综合器而言,将基于抽象的行为描述风格的 VHDL 程序综合成为具体的FPGA 和 CPLD 等目标器件的网表文件己不成问题。VHDL 语言在硬件设计领域的作用将与 C 和 C+在软件设计领
36、域的作用一样,在大规模数字系统的设计中,它将逐步取代如逻辑状态表和逻辑电路图等级别较低的繁琐的硬件描述方法,而成为主要的硬件描述工具,它将成为数字系统设计领域中所有技术人员必须掌握的一种语言。VHDL和可编程逻辑器件的结合作为一种强有力的设计方式,将为设计者的产品上市带来创纪录的速度。1.3.21.3.2 利用利用 VHDLVHDL 语言开发的优点语言开发的优点VHDL 语言与其它 HDL 语言相比有一些自己的特色,下面作一简要说明。(1)设计功能强、方法灵活、支持广泛。VDHL 语言可以支持自上而下 ( Top_Down)的设计方法,它具有功能强大的语言结构,可用简洁明确的代码描述来进行复杂
37、控制逻辑的设计,可以支持同步电路、异步电路、以及其它随机电路的设计。其范围之广是其它 HDL 语言所不能比拟的。此外,VHDL 语言可以自定义数据类型,这也给编程人员带来了较大的自由和方便。(2)系统硬件描述能力强。VHDL 语言具有多层次的设计描述功能,可以从系统的数学模型直到门级电路,支持设计库和可重复使用的组件生成,它支持阶层设计且提供模块设计的创建。VHDL 语言能进行系统级的硬件描述是它的一个最突出的优点。(3)可以进行与工艺无关编程。VHDL 语言设计系统硬件时,没有嵌入描述与工艺相关的信息,不会因为工艺变化而使描述过时。与工艺技术有关的参数可通过 VHDL提供的类属加以描述,工艺
38、改变时,只需修改相应程序中的类属参数即可。(4)VHDL 语言标准、规范,易于共享和复用。VHDL 既是 IEEE 承认的标准,故VHDL 的设计描述可以被不同的 EDA 设计工具所支持。从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台去执行。这意味着同一个 VHDL 设计描述可以在不同的设计项目中采用,方便了设计成果的设计和交流。另外,VHDL 语言的语法比较规范,从而其可读性比较好,给阅读和使用都带来了极大的好处。(5)方便 ASIC 移植。VHDL 语言的效率之一,就是如果你的设计是被综合到一个 CPLD 或 FPGA 的话,则可
39、以使你设计的产品以最快速度上市。当产品的产量达到相当的数量时,采用 VHDL 进行的设计可以很容易转成用专用集成电路(ASIC)来实现,仅仅需要更换不同的库重新进行综合。由于 VHDL 是一个成熟的定义型语言,可以确保 ASIC 厂商交付优良质量的器件产品。此外,由于工艺技术的进步,需要采用更先进的工艺时,仍可以采用原来的 VHDL 代码。1.4 QuartusII 概述概述QuartusII 是 Altera 提供的 FPGA/CPLD 开发集成环境,Altera 是世界上最大的可编程逻辑器件供应商之一。QuartusII 在 21 世纪初推出,是 Altera 前一代 FPGA/CPLD
40、集成开发环境 MAX+PLUSII 的更新换代产品,其界面友好,使用便捷。它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera 的 QuartusII 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和 SOPC 开发的基本设计工具,并为 Altera DSP 开发包进行系统模型设计提供了集成组合环境。QuartusII 设计工具完全支持 VHDL、Verilog 的设计流程,其内部嵌有 VHDL、Verilog 逻辑综合器。QuartusII也可利用第三方的综合工具。同样,QuartusII 具
41、备仿真功能,同时也支持第三方的仿真工具,如 ModelSim。此外,QuartusII 与 MATLAB 和 DSP Builder 结合,可以进行基于 FPGA 的 DSP 系统开发和数字通信模块的开发。QuartusII 包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analsis & Synthesis) 、适配器(Fitter) 、装配器(Assembler) 、时序分析器(Timing Analyzer) 、设计辅助模块(Design Assistant) 、EDA 网表文件生成器(EDA Netlist Writer) 、编辑数据接口(Compiler Database
42、Interface)等。可以通过选择 Start Compilation 来运行所有的编译器模块,也可以通过选择 Start 单独运行各个模块。还可以通过选择 Compiler Tool(Tools 菜单) ,在 Compiler Tool 窗口中运行该模块来启动编译器模块。在Compiler Tool 窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。此外,QuartusII 还包含许多十分有用的 LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在 SOPC 设计中被大量使用,也可以与 QuartusII
43、普通设计文件一起使用。Altera 提供的 LPM 函数均基于 Altera 器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些 Altera特定器件的硬件功能,如各类片上存储器、DSP 模块、LVDS 驱动器、PLL 以及SERDES 和 DDIO 电路模块等。QuartusII 编译器支持的硬件描述语言有 VHDL(支持 VHDL87 及 VHDL97 标准)、Verilog HDL 及 AHDL(Altera HDL)。QuartusII 支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与 HDL 混合
44、输入设计的问题。在设计输入之后,QuartusII 的编译器将给出设计输入的错误报告。可以使用 QuartusII带有的 RTL Viewer 观察综合后的 RTL 图。QuartusII 作为目前 CPLD/FPGA 开发工具理想的综合、仿真软件,具有许多优良的特性。(1)继承了 MAX+PLUSII 的优点图形输入依然形象,图形符号与 MAX+PLUSII 一样符合数字电路的特点,大量 74系列器件符号使能初学者在较短的时间里利用图形编辑设计出需要的电路。文本输入几乎和 MAX+PLUSII 相同,而且在文本的每一行都有行号,使用语言编写的电路清晰易读。低层编辑仍然采用 Chipview
45、方式,引脚排列位置映射了实际器件引脚,只要简单地鼠标拖放即可完成低层编辑。(2)支持的器件更多除了支持 MAX3000、MAX7000、FLEX6000、FLEX10KE、ACEX1K 等MAX+PLUSII 已经支持的器件外,还支持PEX20K、APEX20KE、AREXII、EXCALIBUR-ARM、Mercury、Stratix 等MAX+PLUSII 下无法支持的大容量高性能的器件。(3)增加了网络编辑功能QuartusII 支持一个工作组环境下的设计要求,包括支持基于 Internet 的协作设计,与 Cadence、ExemplarLogi、MentorGraphics、Syno
46、psys 和 Synplicity 等 EDA 供应商的开发工具相兼容。(4)提升了调试能力QuartusII 增加了一个新的快速适配编译选项,可保留最佳性能的设置,加快了编译过程,可缩短 50%的编译时间,对设计性能的影响小。(5)不足之处软件结构庞大,使用复杂,不如 MAX+PLUSII 简单、易学易用。2. . 频率测量频率测量2.1 数字频率计工作原理概述数字频率计工作原理概述数字频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。采用一个标准的基准时钟
47、,在单位时间(1s)里对被测信号的脉冲数进行计数,即为信号的频率。由于闸门的起始和结束时刻对于信号来说是随机的,将会有一个脉冲周期的量化误差。进一步分析测量准确度:设待测信号脉冲周期为 Tx,频率为 Fx,当测量时间为 T=1s 时,测量准确度为=Tx/T=1/Fx。由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。 为克服低频段测量的不准确问题,采用门控信号和被测信号对计数器的使能信号进行双重控制,大大提高了准确度。当门控信号为 1 时,使能信
48、号并不为 1,只有被测信号的上升沿到来时,使能端才开始发送有效信号,两个计数器同时开始计数。当门控信号变为 0 时,使能信号并不是立即改变,而是当被测信号的下一个上升沿到来时才变为 0,计数器停止计数。因此测量的误差最多为一个标准时钟周期。当采用100MHz 的信号作为标准信号时,误差最大为 0.01s。计算每秒钟内待测信号脉冲个数。这就要求计数使能信号 TSTEN 能产生一个 1 秒脉宽的周期信号,并对频率计的每一计数器 cnt10 的 ENA 使能端进行同步控制。当TSTEN 为高电平时,允许计数;低电平时,停止计数,并保持其所计的数。在停止计数期间,首先需要一个锁存信号 LOAD 的上跳
49、沿将计数器在前 1 秒钟的计数值锁存进32 位锁存器 REG32B 中,并由外部的译码器译出并稳定显示。锁存信号之后,必须由清零信号 CLR_CNT 对计数器进行清零,为下一秒钟的计数操作做准备。当系统正常工作时,脉冲发生器提供的 1 Hz 的输入信号,经过测频控制信号发生器进行信号的变换,产生计数信号,被测信号通过信号整形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果3。2.2 测频原理及误差分析测频
50、原理及误差分析常用测频方案常用测频方案频率测量方案方案一:采用周期法。通过测量待测信号的周期并求其倒数,需要有标准倍的频率,在待测信号的一个周期内,记录标准频率的周期数,这种方法的计数值会产生最大为1 个脉冲误差,并且测试精度与计数器中记录的数值有关,为了保证测试精度,测周期法仅适用于低频信号的测量。方案二:采用直接测频法。直接测频法就是在确定的闸门时间内,记录被测信号的脉冲个数。由于闸门时间通常不是待测信号的整数倍,这种方法的计数值也会产生最大为1 个脉冲误差。进一步分析测量准确度:设待测信号脉冲周期为 Tx,频率为Fx,当测量时间为 T=1s 时,测量准确度为=Tx/T=1/Fx。由此可知
51、直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的现场可编程门阵列 FPGA 为实现高速、高精度的测频提供了保证。本设计所采用的测频方法就是等精度频率测量法,下面我们将对等精度频率测量法做进一步介绍。2.
52、3.2 等精度测频原理等精度测频原理等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,避除了对被测信号计数所产生1 个字误差,并且达到了在整个测试频段的等精度测量。其测频原理如图2.1 所示。在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间 t 与预置
53、闸门时间 t1 并不严格相等,但差值不超过被测信号的一个周期4。图 2.1 等精度测频原理波形图等精度测频的实现方法可简化为图 2.2 所示。CNT1 和 CNT2 是两个可控计数器,标准频率信号从 CNT1 的时钟输入端 CLK 输入;经整形后的被测信号从 CNT2 的时钟输入端 CLK 输入。当预置门控信号为高电平时,经整形后的被测信号的上升沿通过 D触发器的 Q 端同时启动 CNT1 和 CNT2。CNT1、CNT2 同时对标准频率信号和经整形后的被测信号进行计数,分别为 NS与 NX。当预置门信号为低电平的时候,后而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为(FS/NS
54、)*NX。则等精度测量方法测量精度与预置门宽度的标准频率有关,与被测信号的频率无关。在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变。图 2.2 等精度测频实现原理图2.3.3 误差分析误差分析设在一次实际闸门时间 t 中计数器对被测信号的计数值为 Nx,对标准信号的计数值为 Ns。标准信号的频率为 fs,则被测信号的频率如式(2-1): fx=(Nx/Ns)fs (2-1)由式 1-1 可知,若忽略标频 fs 的误差,则等精度测频可能产生的相对误差如式(2-2): =(|fxe-fx|/fxe)100% (2-2)其中 fxe 为被测信号频率的准确值。
55、在测量中,由于 fx 计数的起停时间都是由该信号的上升沿触发的,在闸门时间 t内对 fx 的计数 Nx 无误差(t=NxTx);对 fs 的计数 Ns 最多相差一个数的误差,即|Ns|1,其测量频率如式(2-3):fxe=Nx/(Ns+Ns)fs (2-3)将式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):=|Ns|/Ns1/Ns=1/(tfs) (2-4)由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。闸门时间越长,标准频率越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振荡器产
56、生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度5。本章小结本章小结本章从各个方面说明了频率计的工作原理,介绍了频率测量的原理和误差的分析,通过对各种频率测量方法的比对,对等精度频率计的实现,在理论上起到了作用。 3. 数字频率计的系统设计与功能仿真数字频率计的系统设计与功能仿真3.1 系统的总体设计系统的总体设计当系统正常工作时,由系统时钟提供的 100MHz 的输入信号,经过信号源模块,先通过 100 分频产生 1MHZ 的时钟信号,再将 1MHZ 的时钟信号分频产生多种频率输出,其中 1HZ 的输出频率被作为控制模块的时钟输入,7812HZ 的输出频率被
57、作为显示模块的时钟输入,由控制模块产生的计数使能信号 testen 和清零信号 clr 对计数模块进行控制,而由其产生的锁存信号 load 对锁存模块进行控制,一旦计数使能信号为高电平,并且时钟上升沿到来,计数器便开始正常计数,清零信号到来则计数清零,而当锁存信号为高电平时,数据便被锁存器锁存,然后将锁存的数据输出到显示模块显示出来,数据锁存保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果。数字频率计的原理框图如图 3.1 所示。主要由 5 个模块组成,分别是:信号源模块、控制模块、计数模块、锁存
58、器模块和显示器模块6。图 3.1 数字频率计的原理框图根据数字频率计的系统原理,cnt 控制信号发生器。testctl 的计数使能信号 testen能产生一个 1 s 宽的周期信号,并对频率计的每一计数器 Cnt10 的 ENA 使能端进行同步控制:当 testen 高电平时允许计数、低电平时停止计数。reg32b 为锁存器。在信号 load 的上升沿时,立即对模块的输入口的数据锁存到reg32b 的内部,并由 reg32b 的输出端输出,然后,七段译码器可以译码输出。在这里使用了锁存器,好处是可以稳定显示数据,不会由于周期性的清零信号而不断闪烁。 Cnt10 为十进制计数器。有一时钟使能输入
59、端 ENA,用于锁定计数值。当高电平时允许计数,低电平时禁止计数。将八个十进制计数器 Cnt10 级联起来实现 8 位十进制计数功能2,7 。 disply 为七段译码显示驱动电路,可以将频率计数的结果译成能在数码管上显示的相对应的阿拉伯数字,便于读取测量的结果。为了实现系统功能,测频控制信号发生器 testctl、计数器 Cnt10、锁存器 reg32b 存在一个工作时序的问题,设计时需要综合考虑。8位数字频率计的顶层框图(endfreq.bdf),设计实现包括信号源模块(F1MHZ、CNT)、频率计模块(FREQ)和显示模块(display)三大模块。下面分别介绍三个模块的结构和实现方法。
60、 3.2 信号源模块信号源模块信号源是为了产生 1MHz 的门控信号和待测的定频信号,而对输入系统时钟clk(50MHz)进行分频的模块,设计源代码 PIN1MHZ.VHD 对输入系统时钟clk(50MHz)进行分频产生 1MHz 信号。PIN1MHZ 的封装图如 3.2 所示,图中 CLKIN 为接入的 100MHZ 信号,图中CLKOUT 为接到 CNT 的 CLK 的 1MHZ 的信号。clkin clkoutPIN1MHZ_1inst图3.2 PIN1MHZ封装图PIN1MHZ 的工作时序仿真图如图 3.3 所示。图 3.3 信号源模块仿真图从 PIN1MHZ 的工作时序仿真图可以看出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下半年湖南长沙住房公积金管理中心招聘普通雇员5人重点基础提升(共500题)附带答案详解
- 2025年城乡公益岗位试题及答案
- 高效节能办公环境建设案例
- 公司内部购销合同模板范例
- 中小学教育教学质量监测方案
- 读书诵读活动方案
- 石英砂深加工项目综合可行性报告
- 装修公司赠品策划方案
- 蔬菜义卖活动方案
- 证券普法宣传活动方案
- 患者隐私保护与信息保密制度(2025年版)
- 七年级语文第三次月考卷(全解全析)(安徽专用)
- 农业现代化农村电商与农村电商产业园建设可行性研究报告
- 2025年秋统编版小学语文四年级上册期中考试测试卷及答案(共三套)
- 肿瘤科出科试卷及答案
- 创伤性休克病人的护理护理查房课件
- 1.3地球的运动公转课件-七年级地理上学期人教版
- 2026华能国际电力股份有限公司应届高校毕业生招聘笔试备考试题及答案解析
- 搅拌站操作人员安全培训试题及答案解析
- plc编程入门培训课件
- 院长发现再审申请书范文
评论
0/150
提交评论