基于DDS技术的信号发生器设计.doc
毕业设计(论文)基于DDS技术的信号发生器设计系 别自动化工程系专 业自动化班 级50605姓 名吴温龙指导教师任良超2010年6月18日 摘 要 频率合成技术广泛应用于通信、航空航天、仪器仪表等领域,目前,常用的频率合成技术有直接频率合成、锁相频率合成和直接数字频率合成(DDS)等。其中DDS是一种新的频率合成方法,是频率合成的一次革命。全数字化的DDS技术由于具有频率分辨率高、频率切换速度快、相位噪声低和频率稳定度高等优点而成为现代频率合成技术中的佼佼者。随着数字集成电路、微电子技术和EDA技术的深入研究,DDS技术得到了飞速的发展。DDS是把一系列数字量化形式的信号通过D/A转换形成模拟量形式的信号的合成技术。主要是利用高速存储器作查寻表,然后通过高速D/A转换产生已经用数字形式存入的正弦波(或其它任意波形)。一个典型的DDS系统应包括以下三个部分:相位累加器可以时钟的控制下完成相位的累加:相位一幅度码转换电路一般由ROM实现;D/A转换电路,将数字形式的幅度码转换成模拟信号。现场可编程门阵列(FPGA)设计灵活、速度快,在数字专用集成电路的设计中得到了广泛的应用。本论文主要讨论了如何利用FPGA来实现一个DDS系统,该DDS系统的硬件结构是以FPGA为核心实现的,使用Altera公司的Cyclone系列FPGA。文章首先介绍了频率合成器的发展,阐述了基于FPGA实现DDS技术的意义;然后介绍了DDS的基本理论;接着介绍了FPGA的基础知识如结构特点、开发流程、使用工具等;随后介绍了利用FPGA实现直接数字频率合成(DDS)的原理、电路结构、优化方法等。重点介绍DDS技术在FPGA中的实现方法,给出了部分VHDL源程序,还有有关于单片机的各外围电路的硬件构成及滤波的原理及应用电路等。本次毕业设计采用单片机和FPGA设计了任意波形发生器,能够产生三角波、正弦波、方波,完成了软件和硬件的设计,以及实物的制作。关键词:直接数字频率合成,现场可编程门阵列,单片机,滤波Signal Generator Design Based DDS TechnologyAuthor:Wu WenlongTutor:Ren LiangchaoAbstractFrequency synthesis technique is widely used in communications, aerospace, instrumentation and other fields, now commonly used in frequency synthesis technology has a direct frequency synthesis, PLL frequency synthesizer and direct digital synthesis (DDS) and so on. DDS which is a new frequency synthesis method is a revolutionary synthesizer. Fully digital DDS technology as a high frequency resolution, frequency switching speed, low phase noise and frequency stability of the advantages and become a modern high frequency synthesis technology leader. As digital integrated circuits, microelectronics and EDA technology, in-depth research, DDS technology has developed rapidly. DDS is to quantify the form of a series of digital signal through D / A converter analog form of signal the formation of synthesis technology. Mainly used for high-speed memory lookup table, and then through the high-speed D / A Converter generated in digital form have been deposited with the sine wave (or other arbitrary waveforms). A typical DDS system should include the following three parts: the phase accumulator can be under the control of clock phase of accumulation: the phase of a range of code switching circuit generally realized by the ROM; D / A converter circuit, the digital code into the form of rate analog signals. Field programmable gate array (FPGA) design flexibility, speed, in digital ASIC design has been widely used. This paper focuses on how to use FPGA to implement a DDS system, the hardware structure of the DDS core is based on FPGA implementation, use Altera's Cyclone series FPGAThe article first describes the development of frequency synthesizers, which are based on FPGA technology to achieve the significance of DDS; then introduced the basic theory of DDS; then introduces the basics of FPGA, such as structural characteristics, development processes, tools, etc.; then introduced the use of FPGA realization of direct digital frequency synthesis (DDS) in principle, circuit structure, optimization methods. DDS technology focuses on the implementation method in the FPGA, VHDL source code is given some, there are various peripherals on the MCU hardware configuration of the circuit and filter theory and application circuit.The graduation project was designed with MCU and FPGA arbitrary waveform generator, can generate triangle wave, sine wave, square wave, completed the design of hardware and software, as well as in-kind production.Key words:Direct Digital Frequency Synthesis,FPGA,MCU,Filter目 录1 绪论11.1频率合成技术的发展11.1.1直接模拟频率合成11.1.2锁相环频率合成21.1.3直接数字频率合成21.2频率合成器的性能指标41.3本文的主要内容51.4本课题的研究意义52 DDS技术的原理72.1 DDS的工作原理72.2 DDS的基本结构82.3本章小结103 CPLD/FPGA的发展及其应用113.2 VHDL硬件描述语言介绍123.3 CPLD/FPGA设计流程及工具133.3.1 CPLD/FPGA设计流程143.3.2 CPLD/FPGA的开发工具QuartusII简介163.4 Cyclone II 的各种性能指标173.5 FPGA的配置方式183.5本章小结194 基于DDS技术的信号发生器的设计204.1信号发生器的方案选择204.2系统总体的硬件框图204.3功能模块的介绍及电路介绍214.3.1系统稳压电源模块214.3.2单片机子系统224.3.4 FPGA的芯片EPC8简介244.3.5 D/A转换模块254.3.6 RMS模块264.3.7 滤波电路模块264.3.8抗干扰处理294.3.9 印刷电路板设计304.4单片机各模块软件设计314.4.1 系统初始化324.4.2 LCD的程序334.4.3 键盘输入程序334.4.4 SPI通信子程序354.4.5 RMS子程序354.5. 基于FPGA系统结构设计和模块的划分364.5.1系统时钟模块364.5.2.SPI通信数据接收模块374.5.3频率控制模块374.5.4调频控制模块404.5.5波形数据文件的生成414.6本章小结415 调试42总 结45工作总结45工作展望45致 谢47参考资料48附录491 绪论1.1频率合成技术的发展传统移动通信设备中,接受机的本振和发射机的激励信号源通常使用晶体振荡器,这种方案电路简单、稳定可靠,但当需要信道数目较多时,晶振的种类和数量就要相应增多,体积和成本就会增加,无法实现小型化、模块化和智能化。无线电技术的发展,对信号源提出了越来越高的要求,既要求射频信号源的频率稳定度和准确度高,而且要求可以方便的转换频率。石英晶体振荡器的频率稳定度和准确度很高,但转换频率不方便,而LC振荡器转换频率方便,但稳定度和准确度不高。近年来迅速发展的频率合成技术,结合了以上两种振荡器的优点,满足了以上两个方面的要求1。频率合成技术开始于上世纪30年代,到现在已有近80年的历史了。所谓频率合成就是将具有低相位噪声、高精度和高稳定度等综合指标的参考频率源经过电路上的混频、倍频或分频等信号处理以便对其进行数学意义上的加、减、乘、除等四则运算,从而产生大量具有同样精确度的频率源。实现频率合成的电路叫频率合成器,频率合成器是现代电子系统的重要组成部分。频率合成器是电子系统的重要组成部分。在通信、雷达和导航等设备中,频率合成器既是发射机的激励信号源,又是接收机的本地振荡器;在电子对抗设备中,它可以作为干扰信号发生器;在测试设备中,可作为标准信号源,因此频率合成器被人们称为许多电子系统的“心脏”。2DDS是一项充满生命力的技术,其发展速度和应用范围之广是惊人的,从七十年代到今天,西方国家从未间断过对DDS技术及其应用的研究,一批批成功的DDS芯片和DDS应用产品正在逐步获得国际市场的青睐。我国对DDS的研究刚刚起步,存在大量的艰巨的工作要做。5合成技术从开始到现在的发展,大概可以分成4种技术:直接模拟频率合成(DAS)技术,锁相环频率合成(PLL)技术,直接数字合成(DDS)技术,混合式频率合成(HFS)技术。1.1.1直接模拟频率合成 所谓的直接模拟频率合成,采用模拟分离元件或者以压控函数发生器(例如L8038、MAX036)为核心,对模拟信号进行频率合成。直接模拟频率合成器是最先出现的的一种合成器类型的的频率信号源2。具有频率合成速度快、噪声低的优点,但不足的是要引入大量的分频、倍频、混频和滤波,使电路更加复杂、体积庞大、成本高、电路调试困难等。而且,只能实现标准波形的频率合成,灵活性差,造成了实现复制、频率、相位的精确调节相当繁琐。1.1.2锁相环频率合成所谓的锁相环频率合成,采用锁相环合成器对模拟信号进行合成。锁相环频率合成器是目前频率合成器的主流,分为整数频率合成器和分数频率合成器。最简单的锁相环频率合成器是单环锁相环频率合成器,如图1-1所示。在压控振荡器与鉴相器之间的锁相环反馈回路上增加整数分频器,就形成了一个整数频率合成器;通过改变分频系数N,压控振荡器就可以产生不同频率的输出信号,其频率是参考信号频率的整数倍,因此称为整数频率合成器。输出信号之间的最小频率间隔等于参考信号的频率,而这一点也正是整数频率合成器的局限所在。由于锁相环本身就是一个惰性环节,频率转换滞后时间较长,通过模拟手段产生的信号幅值、频率等参数稳定性比较差,虽然能方便地实现幅值、频率、相位的调节,但是快速、准确的要求难于达到。图1-1 锁相式整数频率合成器的原理框图Fig1-1 Schematic Diagram of Phase-locked-loop Frequency Synthesizer1.1.3直接数字频率合成 1971年,美国学者J.Tiemcy,C.M.Rader和B.Gold首次提出了直接数字频率合成(DDSDirect Digital Synthesis)技术。这是一种从相位概念出发直接合成所需要的波形的新的全数字频率合成技术。同传统的频率合成技术相比,DDS技术具有极高的频率分辨率、极快的变频速度,变频相位连续、相位噪声低,除了DAC和滤波器之外,几乎所有的部件都属于数字信号处理器件,易集成,不需要任何调整,功耗低、体积小、重量轻、可靠性高,且易于控制,使用相当灵活,容易实现对输出信号的多种调制等优点,满足了现代电子系统的许多要求,因此得到了迅速的发展。如图1-2所示图1-2 DDS 原理框图Fig.1-2. Schematic Diagram of DDS 当然,DDS也有局限性,主要表现在:31输出频带范围有限由于DDS内部的DAC和波形存储器(ROM)的工作存在一定的速度限制,使得最高频率有限。目前市场采用的COMS、TTS工艺制作的DDS芯片,工作频率一般在几十兆赫兹到四百兆赫兹左右。采用GaAs工艺的DDS芯片工作频率可达2GHz左右。2输出杂散大由于是全数字结构,不可避免地引入了杂散。其来源主要有三个:相位累加器相位舍位误差造成的杂散、幅度量化误差(由存储器有限字长引起)造成的杂散和DAC非理想特性造成的杂散。杂散是DDS本身固有和缺点,且随着输出带宽的扩展,杂散将越来越明显地成为限制DDS发展的重要因素。3混合式频率合成技术2PLL技术具有高频率、宽带、频谱质量好等优点,但其频率转换速度低。DDS技术则具有高速频率转换能力、高度的频率和相位分辨能力,但巨前尚不能做到宽带,频谱纯度也不如PLL。混合式频率合成技术利用了上述两种技术各自的优点,将两者结合起来,其基本思想是利用DDS的高分辨率来解决PLL中频率分辨率和频率转换时间的矛盾。通常有DDs激励PLL和DDs附加PLL两种基本方案。在DDS激励PLL方案中,使DDS在某个频率附近产生精细的频率步进,并且DDS的输出作为PLL的标准输入信号,同时将PLL设计成倍频环,将DDS产生的信号倍频到所需的频率范围内。该方案通过采用高的鉴相频率(DDs的输出频率)来提高PLL的转换速度,并利用DDs的高分辨率来保证小频率间隔。DDS附加PLL方案是在环路中插入混频器,使DDS和PLL的输出相加,其输出频率为。为了使PLL具有很小的频率转换时间,PLL可采用高鉴相频率,而DDS小的频率间隔则可保证输出频率的精细变化。的上限频率取决于,频率分辨率取决于DDS。1.2频率合成器的性能指标4频率合成器的性能指标主要有以下几个:1.频率的稳定度指的是输出的频率在一定时间间隔内和标准的频率偏差的数值,它分长期和短期还有瞬时稳定度三种。2.频率转换时间指的是输出由一种频率转换成另一种频率的时间。3.频率分辨率 指的是输出频率的最小间隔。4. 输出频率的范围指的是输出最小频率和最大频率之间的变化范围。5. 频谱纯度 频谱纯度以杂散分量和相位噪声来衡量,杂散分为谐波分量和非谐波分量两种,主要由频率合成过程中的非线性失真产生;相位噪声是衡量输出信号的抖动大小的参数。6.调制性能 指的是指的是频率合成器是否具有调幅(AM)、调频(FM)、调相(PM)等功能。1.3本文的主要内容本文的主要内容如下: 第一章绪论。主要阐述课题的意义和背景,还有频率合成技术的发展史等等。第二章DDS技术的原理。主要是论述DDS技术的原理,及DDS如何实现的理论等。第三章FPGA的发展及其应用。主要介绍FPGA的发展历程,和VHDL语言的发展,还有FPGA的编程。第四章DDS信号源的实现。主要介绍DDS信号源的实现,即利用数字电路的组成来实现,利用FPGA和单片机的配合使用来实现,以及有关的外围电路和相关的程序。第五章调试。主要介绍整个调试过程,以及数据的处理。最后对全文的工作进行了总结,并对工作中尚待改进和完善的地方进行了展望。1.4本课题的研究意义本次的毕业设计师利用单片机和FPGA来完成一个DDS系统。利用FPGA实现DDS技术在某些方面存在着DDS芯片不可取代的优势,例如利用FPGA实现DDS的技术比较灵活,可以产生多种调制方式,多种组合方式,并且可以实现多个DDS芯片的功能,有利于集成化。专用的DDS芯片在控制方式、置频速率等方面与系统的要求有一定的差距,如果利用高性能的FPGA器件设计符合所需要的DDS电路就就是一个很好的解决方法,而且可以降低国外对高性能的DDS芯片的禁运的风险。 市场上目前利用专用DDS芯片开发的信号源比较多,它们输出频率高、波形好、功能也较多,但采用FPGA设计的DDS信号源与之相比较,具有如下优势:专用DDS芯片实现的信号源需要微控制器的协助,才能发挥其优势;而基于FPGA的DDS信号源,可在一片FPGA芯片上实现信号源的信号产生和控制,并且只要改变存储波形信息的ROM数据,就可以灵活地实现任意波形发生器。专用DDS芯片实现的信号源功耗大、价格高;而将DDS信号源设计嵌入到FPGA芯片所构成的系统中,其系统成本不会增加多少,可以实现很多更加复杂的功能,因此,采用FPGA设计的DDS信号源具有很高的性价比。此外,FPGA芯片支持在线可编程,只要根据设计需求,对系统进行在线分析。就可以设计出符合要求的最佳设计。2 DDS技术的原理 直接数字频率合成(Direct Digital Frequency Synthesis,DDS)技术是从相位出发直接合成所需要波形的一种频率合成技术。它是以一个固定频率精度的时钟作为参考时钟源,通过数字信号处理技术产生一个频率和相位可调的输出信号。本根本来说,它是由可编程的二进制控制字对参考时钟做除法运算。控制字一般为24到48位字长。所以可以认为DDS就是数字信号处理理论的延伸,是数字信号中信号综合的硬件实现问题。9根据奈奎斯特定理,DDS中相位累加器输出所寻址的波形数据并非一定是正弦信号的,只要该波形所包含的高频分量小于取样频率的一半,那么这个波形就可以由DDS产生,而且由于DDS为模块化的结构,输出波形仅由波形存储器中的数据来决定,因此,只需要改变存储器中的数据,就可以利用DDS产生正弦、方波、三角波、锯齿波等任意波形。92.1 DDS的工作原理12以产生正弦信号的DDS技术来解释DDS的基本原理。设有一个频率为的正弦信号: (2.1.1)只要它的幅值U和初始相位保持不变,它的频谱就是位于的一条谱线。为了方便起见,我们设U=1,=0,这不会影响对频率的研究。即: (2.1.2)如果对(2.1.1)式的信号进行采样,采用的周期为Tc(即采样频率为fc),则可以得到离散的波形序列: (2.1.3)相应的离散相位序列为: (2.1.4)式中: (2.1.5)是连续两次采样之间的相位增量。根据采样定理: (2.1.6)只要从式(2.1.3)出来的离散序列即可唯一的恢复出式(2.1.2)的模拟信号。从式(2.1.2)可知,是相位函数的斜率决定了信号的频率;从式(2.1.5)可知,决定相位函数斜率的是两次采样之间的相位增量。因此,只要控制这个相位增量,就可以控制合成信号的频率。现在将整个周期的相位2分成M份,每一份为,若每次的相位增量选择为为K倍,既可以得到信号的频率: (2.1.7) 相应的模拟信号为: (2.1.8)式中K和M都是正整数,该信号频率为,这便是直接数字频率合成(DDS)的方程,根据采样定理的要求,K的最大值应小于M的1/2,所以一般M=2N,,DDS的方程可以写为。综上所述,在采样频率一定的情况下,可以通过控制两次采样之间的相位增量(不得大于)来控制所得离散序列的频率,经保持、滤波之后可唯一恢复出此频率的模拟信号。2.2 DDS的基本结构2DDS的基本结构如图2-1所示。其中相位累加器和波形储存器合称数控振荡器。相位累加器是DDS最基本的组成部分,用于实现相位的累加并储存其累加结果。若当前的相位累加器的值为,经过一个时钟周期后变成。则满足: (2.2.1)图2-1 DDS的基本结构Fig.2-1. Structure Diagram of DDS由式(2.2.1)可知,为一个等差数列,即可得到: (2.2.2)其中为相位累加器的初始相位值。相位累加器是由一个N-bits数字全加器和一个N-bits数字寄存器构成,寄存器通常采用N个D触发器来构成。波形储存器或者叫波形查询表所存储的数据是每个相位所对应的二进制数字正弦值和三角波对应的幅值。每一个时钟周期内,相位累加器输出的系列的高L位对其进行寻址,最后输出该相位所对应的二进制的幅值。数模转换器(DAC)的作用就是将数字信号转换成模拟信号,而实际上由于数模转换器的分辨率有限,其输出的信号并不能真正的连续可变,所以只能输出阶梯模拟信号。DAC有电压和电流输出两种。在这里数模转换器是将波形存储器送出的二进制幅值转换成量化的阶梯化的正弦波或者三角波输出。正弦波通过过低通滤波器的滤除高频率分量,平滑后放大得到理想的正弦波。目前这种直接数字式频率合成器,可以实现对频率、相位、幅度、波形等分辨力极高的快速数字控制。随着大规模集成电路的发展,可以使合成器的体积越来越小,完成的功能也越来越多。52.3本章小结本章在具体说明DDS系统工作的原理的基础,然后介绍DDS系统基本结构及各个模块的划分和功能。3 CPLD/FPGA的发展及其应用3.1 CPLD/FPGA的发展历程6可编程逻辑器件(Programmable Logic Devices,PLD)是上世纪70年代发展起来的一种新的集成器件。PLD是一种半定制的集成电路,利用计算机软件技术可以快速、方便地构建数字系统。这里主要介绍复杂可编程逻辑器件(Complex Programmable Logic Devices,CPLD)和现场可编程门阵列(Field Programmable Logic Array,FPGA)。 可编程逻辑器件经历了从PROM(Programmable Read Only Memory)、PLA(Programmable Logic Array)、PAL(Programmable Array Logic)、可重复编程的GAL(Generic Array Logic),到采用大规模集成电路技术的EPLD直至CPLD和FPGA的发展过程。其结构、工艺、集成度、功能、速度和性能方面都不断地改进和提高。 上世纪70年代,熔丝编程的PROM和PLA器件是最早的可编程器件。PROM由全译码的与阵列和可编程的或阵列组成,由于阵列规模大、速度低,它的主要用途还是作存储器。PLA由可编程的与阵列和可编程的或阵列组成,虽然其阵列规模减少,提高了芯片的利用率,但由于编程复杂,开发支持PLA的软件有很大的难度,未得到广泛应用。 20世纪70年代末,美国MMI(Monolithic Memories Inc,单片存储器公司)对PLA进行改进,率先推出了PLA。PLA由可编程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极型工艺制造。由于PLA的输出种类很多,设计灵活,成为第一个得到普遍应用的可编程逻辑器件。 20世纪80年代初,Lattice公司发明了比PLA使用更为灵活的GAL,它采用了输出逻辑宏单元(OLMC)的形式和E2CMOS工艺结构,具有可电擦除、可重复编程、数据可长期保存和可更新等优点,在20世纪80年代得到了广泛应用。PLA、PAL和GAL都属于低密度PLD,结构简单、设计灵活,但规模小,难以实现复杂的逻辑功能。随着集成电路工艺水平的不断提高,PLD从传统的单一结构,向着高密度、高速度、低功耗及结构体系更加灵活和适用范围更加广泛的方向。 20世纪80年代中期,Xilinx公司提出了现场可编程概念,同时推出了世界上第一片FPGA器件,采用了CMOS-SRAM工艺制作,结构和阵列与PLD不同,内部由许多独立的可编程逻辑模块组成,逻辑模块之间可以灵活地相互连接,具有密度高、编程速度快、设计灵活和再配置等许多优点。同一时期,Altera公司推出了可擦除、可编程器件(Erasable Programmable Logic Devices,EPLD),采用了CMOS和EPROM工艺制作,较GAL器件有更高的集成度,可以用紫外线或电擦除,但其内部互连能力较弱。 20世纪80年代末,Lattice公司又提出在系统可编程技术,并相继推出一系列具备在系统可编程能力的CPLD器件,采用了工艺制作,增加了内部连线,改进了内部体系结构,将可编程器件的性能和应用技术推向了一个新的高度。 20世纪90年代后,高密度PLD在生产工艺、器件编程和测试技术等方面飞速的发展。器件的可用逻辑门数超过百万门,并且出现了内嵌复杂功能模块(如加法器、乘法器、RAM、CPU核、DSP核、PLL等)的SOPC(System On Programmable Chip)。 目前世界上著名半导体公司,如Xilinx、Altera、Lattice、AMD和Atmel等公司都生产不同类型的CPLD、FPGA等产品,可编程集成电路技术逐渐提高,性能不断提高,产品日益丰富,可编程器件在结构、密度、功能、速度和性能等各方面得到进一步发展,在现代电子系统设计中得到更广泛的应用。3.2 VHDL硬件描述语言介绍 硬件描述语言(Hardware Description Language,HDL)可以描述硬件电路的功能,信号连接关系及定时关系。在HDL语言领域,目前广泛应用的有VHDL、Verilog HDL,越来越多的EDA工具都使用HDL作为设计输入。6 VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit Hardware Description Language),于1983年由美国国防部发起创建,由IEEE(The Institute of Electrical and Eletronics Engineers)进一步发展,并在1987年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。自IEEE公布了标准版本(IEEE Std 1076)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDL。从此VHDL语言在电子设计领域得到广泛应用,并逐步取代了原有的非编准硬件描述语言。7 VHDL作为一个规范语言和建模语言,随着它的标准化,出现了一些支持该语言的行为仿真器。由于创建VHDL的最初目标是用于标准文档的建立和电路功能模拟,其基本想法是在高层次上描述系统和元件的行为。但到了20世纪90年代初,人们发现,VHDL不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具;可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网表文件。客中方法显然对于电路自动设计是一个极大的推进。很快,电子设计领域出现了第一个软件设计工具,即VHDL逻辑综合器,它可以标准地将VHDL的部分语句描述转化为具体电路实现的网表文件。 1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展了VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076一1993版本。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言8。 VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。一个完整的VHDL语言的程序的基本结构通常包含实体(Entity)、结构体(Architecture)、库(Library)、程序包(Package)和配置(Configuration)5部分。VHDL允许有三种描述方式即:行为描述(Behavior Description)、数据流描述(Dataflow Description)和结构描述(Structural Description)。61.行为描述:表示输入与输出间转换的行为,是基本设计单元的数学模型描述,描述设计单元的硬件结构,即硬件能做事什么。该方法主要用于系统数学模型的仿真或系统工作原理的仿真。当仅知道输入(控制)信号和输出(被控制)信号的关系,而不知道具体结构时,一般采用这种描述方法。 2.数据流描述:描述设计单元的传输和变换,即硬件是如何工作。在对设计电路逻辑关系非常熟悉的情况下,常采用这种方法。 3.结构描述:描述设计单元的硬件结构,即硬件如何构成。类似于画逻辑图时用线将各个元件连接起来。该方法一般用在主模块与子模块的调用中,支持层次化的设计。3.3 CPLD/FPGA设计流程及工具6 3.3.1 CPLD/FPGA设计流程了解利用EDA技术进行CPLD/FPGA设计开发的流程对于正确选择和使用EDA软件,优化设计项目,提高设计效率十分有益。完整的CPLD/GPGA设计流程与输入、功能仿真、综合、综合后仿真、实现、布线后仿真、板级仿真验证与调试等主要步骤,如图3-1所示。图3-1 CPLD/FPGA设计流程图1.电路设计与输入电路设计与输入是指通过某种规范的描述方式,将电路构思输入至EDA工具。常用的设计输入方法有硬件描述语言和图形设计输入方法等。2.功能仿真电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求。功能仿真有时也称为前仿真。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。3.综合优化 综合优化是指将HDL语言、原理图等设计输入翻译成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑网表,并根据目标与要求(约束条件)优化所生成的逻辑连接,输出EDIF和VHDL等标准格式的网表文件,供CPLD/FPGA厂家布局布线器进行实现。4.综合后仿真 综合完成后需要检查综合结果是否与原设计一致,在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中,估计门延时带来的影响。综合后仿真虽然比功能仿真精确一些,但是只能估计门延时,不能估计线延时,仿真结果与布线后的实际情况还有一定的差距,并不十分准确。仿真的主要目的在于检查综合器的综合结果是否与设计输入一致。5.实现与布局布线 综合结果的本质是一些由与门、或门、非门、触发器、RAM等基本逻辑单元组成的逻辑网表,与芯片实际的配置情况还有较大差距。在实现过程中最主要的布局布线(Place And Route,PAR):所谓的布局(Place)是指将逻辑网表中的硬件描述或者底层单元合理地适配到CPLD/FPGA内部的固有硬件结构上,布局的优劣对设计的最终实现结果(在速度和面积两方面)影响很大。所谓的布线(Route)是指根据布局的拓扑结构,利用CPLD/FPGA内部的各种连线资源,合理正确连接各个元件的过程。一般情况下,通过参数设置指定布局布线的优化准则,总的来说优化目标主要有两个方面:面积和速度。一般根据设计的主要矛盾,选择面积或者速度或者平衡两者等优化目标,但是当两者冲突时,一般满足时序约束要求更重要些,此时选择速度或时序优化目标效果更佳。6.时序仿真与验证 将布局布线的延时信息反标注到设计网表中,所进行的仿真称时序仿真或布局布线后仿真,简称后仿真。布局布线之后生成的仿真延时文件包含的延时信息最全,不仅包含门延时,还包含实际布线延时,所以布线后仿真最准确,能较好地反映芯片的实际工作情况。布局布线后仿真的主要目的在于发现时序违规(Timing Violation),即不满足时序约束条件或者器件固有时序规则(建立时间、保持时间等)的情况。功能仿真的主要目的在于验证语言的电路结构和功能是否和设计意图相符;综合后仿真的主要目的在于验证综合后的电路结构是否与设计意图相符,是否存在歧义综合结果;布局布线后仿真,即时序仿真的主要目的在于验证是否存在时序违规。这些不同阶段不同层次的仿真配合使用,能够更好地确保设计的正确性,明确问题定位,节约调试时间。7.板级仿真与验证在高速设计情况下还需要使用第三方的板级验证工具进行仿真与验证,如Mentor Tau,Forte Design-Timing Designer等。这些工具通过对设计的IBIS、HSPICE等模型的仿真,能较好地分析高速设计的信号完整性、电磁干