1、沈阳理工大学学士学位论文摘 要数字信号发生器是数字信号处理中不可缺少的信号源产生设备,在生产生活中具有广泛应用,无论在科研还是教学上,信号发生器都是电子工程师仿真实验的最佳工具。本论文进行基于FPGA的数字信号发生器设计,可以为产生具有高精度、高灵活性的数字信号提供工程基础,具有较高的实际意义。本文重点对数字信号发生器进行了研究,以FPGA(现成可编程门阵列)为硬件实现平台,采用VHDL硬件描述语言进行开发。数字信号发生器可以产生正弦波、方波、三角波、锯齿波四个独立的波形,并能对所产生的四种波形的频率和幅度进行调节。采用Xinlinx公司的ISE软件进行软件程序开发,进一步在Model Tec
2、h公司的仿真工具ModelSim中完成仿真验证。仿真结果验证了,仿真实现的基于FPGA的数字信号发生器的正确性。关键词:数字信号发生器;FPGA; DDS;VHDL AbstractDigital signal transmitter as a test facility is an important part of information processing system. In the production of a wide range of application of life. Both in scientific research and in teaching signal
3、 generator are the best tool for electronic engineers to simulate experiment. The research can provide the basis for the digital processing of the signal and play a role in the research field. The main content of this paper is the research on the digital signal generator and the hardware basis of th
4、e FPGA (the programmable gate array), the whole projectbased on VHDL language,thedigital signalgenerator can generatesine wave , triangle wave,saw tooth waveFang Bo,four independentbased on the waveform,andfrequency and amplitudeoffour waveformsgenerated by the digital signalgeneratorregulator.The d
5、esign of the hardware platformof the system is based on Xinlinxs ISE platform,completed the firstprogram is developedin ISE development environment.The simulation results verify the correctness of the digital signal generator based on FPGA realized by simulation.Key words: Digital Waveform Generator
6、; FPGA;DDS;VHDL目 录1 绪论11.1 课题研究的背景意义11.2 国内外发展现状21.3 论文结构42 数字信号发生器的基础原理52.1 数字信号发生器52.1.1 数字信号发生器的定义52.1.2 数字信号发生器应用52.1.3 数字信号发生器特点62.1.4 数字信号发生器功能72.1.5 数字信号发生器历史72.2 FPGA简介82.3 VHDL简介102.4 Xilinx ise与 Modelsim简介112.4.1 Xilinx ise112.4.2 ModelSim123 数字信号发生器的设计143.1 数字信号发生器的系统组成143.2 各模块的设计过程153.2
7、.1 顶层模块的设计163.2.2 方波的设计173.2.3 三角波的设计203.2.4 锯齿波的设计213.2.5 正弦波的设计224 仿真分析264.1 方波模块仿真264.2 三角波模块仿真274.3 锯齿波模块仿真284.4 正弦波模块仿真294.5 整体模块仿真30结 论33致 谢34参考文献35附录A 英文原文37附录B 汉语翻译46491 绪论1.1 课题研究的背景意义在电子技术领域,常常需要波形、频率、幅度都可调的电信号,用于产生这种电信号的电子仪器称作信号发生器。信号发生器是一种常用的信号源,广泛运用于科学研究、生产实践和教学试验等领域。特别是在通信系统的科研实验中,常常需要
8、用到不同频率和幅度的信号,如正弦波、三角波、方波和锯齿波等。作为一种为电子测量和计量提供电信号的设备,它和万用表、示波器、频率计等仪器一样,是最普通、最基本,也是运用最广泛的电子仪器之一,几乎所有电参量的测量都需要用到信号发生器。传统的波形发生器多采用模拟分立元件实现,产生的波形种类要受到电路硬件的限制,体积大、灵活性和稳定性也相对较差。近年来,以数字技术为基础的数字信号发生器得到了飞速的发展,性能指标都达到了一个新的水平。现场可编程门阵列器件具有容量大、运算速度快、现场可编程等优点,使得许多复杂的电路有了新的实现途径,越来越被广泛地应用到实际系统中。而且随着当今电子系统的越来越复杂,毫无疑问
9、,数字信号发生器正在成为模拟复杂信号的事实标准。凡是能产生测试信号的仪器,统称为信号源,也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。信号源是根据用户对其波形的命令来产生信号的电子仪器。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表进行测量的参数。信号源有很多种分类方法,其中一种方法可分为混和信号源和逻辑信号源两种。其中混和信号源主要输出模拟波形;逻辑信号源输出数字码形。混和信号源又可分为函数信号发生器和任意波形函数发生器,其中函数信号发生器输出标准波形,如正弦波、方波等,任意波函数发生器输出用户自定义的任意波形;逻辑信号发生器又可分为脉冲信号发生器和码型
10、发生器,其中脉冲信号发生器驱动较小个数的的方波或脉冲波输出,码型发生器生成许多通道的数字码型。FPGA有如下几种优势8,9:1、FPGA运行速度快FPGA内部集成锁项环,可以把外部时钟倍频,核心频率可以到几百M,而单片机运行速度低的多。在高速场合,单片机无法代替FPGA。运算速度快,编程简易,而且有些高端的FPGA芯片内部给你集成了很多有用的模块,比如串行收发模块,这些如果不用这些FPGA,另搭电路的话很麻烦的,简化了设计。2、FPGA管脚多,容易实现大规模系统单片机IO口有限,而FPGA动辄数百IO,可以方便连接外设。比如一个系统有多路AD、DA,单片机要进行仔细的资源分配,总线隔离,而FP
11、GA由于丰富的IO资源,可以很容易用不同IO连接各外设。3、FPGA内部程序并行运行,有处理更复杂功能的能力单片机程序是串行执行的,执行完一条才能执行下一条,在处理突发事件时只能调用有限的中断资源;而FPGA不同逻辑可以并行执行,可以同时处理不同任务,这就导致了FPGA工作更有效率。4、FPGA有大量软核,可以方便进行二次开发FPGA甚至包含单片机和DSP软核,并且IO数仅受FPGA自身IO限制,所以,FPGA又是单片机和DSP的超集,也就是说,单片机和DSP能实现的功能,FPGA一般都能实现。5、FPGA 最大的特点就是灵活,实现你想实现的任何数字电路,可以定制各种电路。减少受制于专用芯片的
12、束缚。真正为自己的产品量身定做。在设计的过程中可以灵活的更改设计。通过对数字信号发生器研究,可以为信号的数字化处理提供基础,并且在电子技术试验、自动控制系统和通信、仪器仪表、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域发挥作用。 1.2 国内外发展现状采用可变时钟和计数器寻址波形存储器的任意波形发生器在一段时期内曾得到广泛的应用,其取样时钟频率较高且可调节,然而这种波形发生器对硬件要求比较高,需要高性能的锁相环和截止频率可调的低通滤波器,且频率分辨率低,频率切换速度较慢,已经逐步退出市场。目前市场上的数字信号发生器主要采用直接数字合成3(Direct Digital Syn
13、thesuzer,DDS)技术,这种波形发生器不仅可以产生可变频的载频信号、各种调制信号,同时还能和计算机配合产生用户自定义的有限带宽的任意信号,可以为多领域的测试提供宽带宽、高分辨率的测试信号。从目前发展状况来看,国外数字信号发生器的研制和生产技术已经较为成熟。以安捷伦(Agilent)和泰克(Tektronix)为代表的国际电子测量仪器公司在此领域进行了卓有成效的研究和开发,其产品无论在技术上还是市场占有率方面在国际上都享有盛誉,但其价格也相当昂贵,高端型号每台价格都在几万美金左右,低端的也要几万人民币。Tektronix公司的独立结构任意波形发生器AFG3000系列功能完善,人机界面友好
14、,操作方便,可以以多种方式连接到PC机上,其最高采样率能达到2GS/s,输出正弦信号最高频率为240MHz,任意波频率最高能达到50MHz,并配备的强大的波形编辑软件ArbExpress,用户可以方便地创建和编辑自己的波形。Agilent公司的PXI模块任意波形发生器采样率已经能达到1.25GS/s,最高输出频率500MHz。我国研制任意波形发生器是从上世纪90年代开始的,近年来有一批本土厂商奋起直追,取得了可喜的成果。例如南京盛普科技电子有限公司的SPF120型信号发生器的主波输出频率达到了120MHz,任意波最高频率为100KHz;北京普源精电科技有限公司(RIGOL)生产的DG1000/
15、2000/3000系列任意波形发生器,在性能上已经大略相当于国外中低端产品。FPGA技术正处于高速发展时期,新型芯片的规模越来越大,成本也越来越低,低端的FPGA已逐步取代了传统的数字元件,高端的FPGA不断在争夺ASIC的市场份额。本节从FPGA软、硬件来展望未来的FPGA设计技术,给读者留一个FPGA技术的宏观轮廓。电子产业瞬息万变, 随着新一代FPGA芯片工艺和设计方法的进步及新的应用领域和市场需求的变化, EDA技术也有突飞猛进的发展,总的趋势可以概括为:跨越器件组,甚至公司界限,越来越人性化的设计,越来越高的优化水平,越来越快的仿真速度,越来越高的仿真精度以及完备的分析验证手段。根据
16、Gartner Dataquest的分析报告显示:2005年ASIC和FPGA/PLD的增长率分别为3.9%和5.8%,而2006年,两者的增长率分别达到8.3%和13.4%。可以看到FPGA的发展速度明显高于ASIC。随着两大FPGA巨头Xilinx和Altera争相推出65nm工艺FPGA芯片Virtex-5以及Stratix III系列,FPGA迎来了空前繁荣的时代。同时,先进的工艺使得ASIC的开发成本不断上升,加上市场对于设计灵活性和上市时间的迫切需求,进一步促进了FPGA应用领域的不断扩大。有关统计显示,未来消费电子(包括HDTV和无线应用等)和汽车电子是FPGA应用领域中成长最快
17、的。人们期盼FPGA的成本更低、功耗更低、性能更高,这同时也意味着FPGA的设计日趋复杂,器件的密度越来越高,时序收敛问题也日益突出,这些问题都在挑战着FPGA开发工具的性能。很多设计还要集成更多的IP应用甚至是CPU或者DSP内核,FPGA向大规模系统芯片挺进,力求在大规模应用中取代ASIC。这都需要借助更为专业高效的工具来实现。 FPGA开发工具包括软件开发工具和硬件开发工具两类。其中硬件开发工具主要是FPGA厂商或第三方厂商开发的FPGA开发板及相关调试下载工具,另外,逻辑分析仪和示波器等也常常用于FPGA开发过程中的调试阶段。在软件开发工具方面,针对FPGA设计的各个阶段,FPGA厂商
18、和EDA软件公司提供了很多优秀的EDA工具。一般来说,FPGA厂商提供的开发环境可以涵盖从源代码编写到最后仿真调试的各个阶段,对于不算十分复杂的FPGA设计,可以利用这类的开发环境进行FPGA的开发设计,但是EDA厂商提供的专用工具显然具有更大的优势,可以替代厂商自带开发工具的各个设计阶段,从而充分地利用FPGA的设计资源,并加速整个设计的进展。事实上,在Xilinx发布Virtex-4/Virtex-5系列产品的同时,也推荐客户使用专业的EDA工具,例如Synplicity的综合工具Synplify Pro和物理综合工具Synplify Premier,以便充分发挥芯片的性能。 1.3 论文
19、结构本论文的主要目的是在广泛参考相关文献的基础上,从理论上研究数字信号发生器的原理、结构及相关的关键技术,以FPGA器件为核心,用VHDL硬件描述语言,设计一个集成度高、灵活性强、并具有较强的数据处理能力的数字信号发生器。论文包括以下几个方面:第一部分:绪论。介绍了课题的研究背景,信号发生器的发展现状以及设计所需完成要求。第二部分:数字信号发生器的基础原理。主要介绍了数字信号发生器,FPGA技术以及实验所需软件。第三部分:数字信号发生器的具体设计过程。基于数字信号发生器的基本原理,深入探究了数字信号发生器的实现方法,提出了信号发生器的设计方案,并在中进行仿真,论证方案的可行性。第四部分:数字信
20、号发生器的仿真。根据上个部分的设计,根据所需要求在Modelsim进行仿真,验证设计方案的正确性。第五部分:总结。通过对Modelsim软件的仿真结果,进一步验证信号发生器设计方案的合理性。最后,阐述了信号发生器所产生信号的特点。 2 数字信号发生器的基础原理 2.1 数字信号发生器2.1.1 数字信号发生器的定义数字信号指幅度的取值是离散的,幅值表示被限制在有限个数值之内。二进制码就是一种数字信号。二进制码受噪声的影响小,易于有数字电路进行处理,所以得到了广泛的应用。凡是产生测试信号的仪器,统称信号源也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。在测试、研究或调整电子电路及设
21、备时,为测定电路的一些电参量,如测量频率响应、 噪声系数,为电压表定度等,都要求提供符合所定技术条件的电信号,以模拟在实际工作中使用的待测设备的激励信号。当要求进行系统的稳态特性测量时,需使用振幅、频率已知的正弦信号源。当测试系统的瞬态特性时,又需使用前沿时间、脉冲宽度和重复周期已知的矩形脉冲源。并且要求信号源输出信号的参数,如频率、波形、输出电压或功率等,能在一定范围内进行精确调整,有很好的稳定性,有输出指示。2.1.2 数字信号发生器应用数字信号发生器是电子电路设计、自动控制系统和仪表测量校正调试中应用很多的一种信号发生装置和信号源。广泛地应用在电子技术试验、自动控制系统和通信、仪器仪表、
22、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。2.
23、1.3 数字信号发生器特点(1)抗干扰能力强、无噪声积累。在模拟通信中,为了提高信噪比,需要在信号传输过程中及时对衰减的传输信号进行放大,信号在传输过程中不可避免地叠加上的噪声也被同时放大。随着传输距离的增加,噪声累积越来越多,以致使传输质量严重恶化。对于数字通信,由于数字信号的幅值为有限个离散值(通常取两个幅值),在传输过程中虽然也受到噪声的干扰,但当信噪比恶化到一定程度时,即在适当的距离采用判决再生的方法,再生成没有噪声干扰的和原发送端一样的数字信号,所以可实现长距离高质量的传输。(2)便于加密处理。信息传输的安全性和保密性越来越重要,数字通信的加密处理的比模拟通信容易得多,以话音信号为例
24、,经过数字变换后的信号可用简单的数字逻辑运算进行加密、解密处理。(3)便于存储、处理和交换。数字通信的信号形式和计算机所用信号一致,都是二进制代码,因此便于与计算机联网,也便于用计算机对数字信号进行存储、处理和交换,可使通信网的管理、维护实现自动化、智能化。(4)设备便于集成化、微型化。数字通信采用时分多路复用,不需要体积较大的滤波器。设备中大部分电路是数字电路,可用大规模和超大规模集成电路实现,因此体积小、功耗低。便于构成综合数字网和综合业务数字网。采用数字传输方式,可以通过程控数字交换设备进行数字交换,以实现传输和交换的综合。另外,电话业务和各种非话业务都可以实现数字化,构成综合业务数字网
25、。占用信道频带较宽。一路模拟电话的频带为4kHz带宽,一路数字电话约占64kHz,这是模拟通信目前仍有生命力的主要原因。随着宽频带信道(光缆、数字微波)的大量利用(一对光缆可开通几千路电话)以及数字信号处理技术的发展(可将一路数字电话的数码率由64kb/s压缩到32kb/s甚至更低的数码率),数字电话的带宽问题已不是主要问题了。以上介绍可知,数字信号具有很多优点,所以各国都在积极发展数字通信。近年来,我国数字通信得到迅速发展,正朝着高速化、智能化、宽带化和综合化方向迈进。2.1.4 数字信号发生器功能数字信号发生器既具有其他信号源的信号生成能力,又可以通过各种编辑手段产生任意的波形采样数据,方
26、便地合成其他信号源所不能生成的任意波形,从而满足测试和实验的要求。任意波形发生器的主要功能包括:(1)函数发生功能基础实验中,为了验证电路功能、稳定性和可靠性,需要给它施加理想波形,任意波形发生器能替代函数发生器提供正弦波、方波、三角波、锯齿波等波形,还具有各种调制和扫频能力。利用任意波形发生器的这一基础功能就能满足一般实验的信号需求。(2)任意波形生成,运行在实际电子环境中的设备,由于各种干扰的存在以及环境的变化,实际电路中往往存在各种信号缺陷和瞬变信号,例如过脉冲、尖峰、阻尼瞬变、频率突变等。任意波形发生器可以模拟这些特殊信号,以测试系统的实际性能。(3)信号还原功能在一些军事、航空等领域
27、,有些电路运行环境很难估计,在设计完成之后,在现实环境中还需要更进一步的实验验证,而有些实验的成本很高或者风险性很大(如飞机试飞时发动机的运行情况),人们不可能重复作实验来判断所设计产品的可行性和稳定性。此时,可以利用任意波形发生器的信号还原功能。在做一些高耗费、高风险实验时,可以通过数字示波器把现实中的实际波形记录下来,再通过计算机接口下载到任意波形发生器,通过任意波形发生器还原实验中的实际波形并加到设计电路中,做进一步的实验验证工作。2.1.5 数字信号发生器历史信号发生器又称信号源或振荡器,它能产生不同幅度、频率和波形的信号来源。通常情况下,多数电路需要的信号形式是幅度随时间变化的那种波
28、形,信号可以是真正的双极AC(系Alternating Current即交流)信号(峰值在接地参考点上下振荡),也可以在一定范围的DC(系Direct current即直流)偏移电压之上变化。信号形式可以是正弦波或其他模拟函数、数字脉冲、二进制码型或任意波形。测量仪器从宏观上看,可分为激励与检测两大类别。而激励测量仪器主要指各类信号发生器。在上世纪八十年代以前,因为数字电子技术发展比较滞后,信号发生器主要借助电感电容、电阻电容、谐振腔、同轴线作为振荡回路产生正弦或其他函数波形,这些几乎全部属于用模拟方式产生信号波形。频率的调节由机械驱动谐振腔或电容器等可变元件完成,调节范围受限制,因此划分为音
29、频(20Hz-20kHz )、视频(20kHz-lOMHz ),射频及高频(200k-3000MHz )、微波(大于3000MHz)等信号发生器。随着无线电领域不断发展与扩展,专用信号发生器也获得了极大地发展,载波调制方式的多样化是它突出的特点所在,从调幅、调频、调相到脉冲调制,这些主要应用到电视、广播、通信、雷达等领域。在八十年代以后,数字电子技术发展与逐渐成熟,信号发生器己经从主要使用机械驱动到采用数字电路技术的转变来产生信号,后者是从一个频率基准由数字合成电路产生可变频率信号。然而这也是有代价的,就是调制方式复杂化,出现同相正交调制乃至宽屏数字调制。九十年代以后虚拟仪器进入了人们的视野。
30、这种完全以计算机软件为核心,辅以相应的硬件设备的测试系统代表了未来测试仪器的发展方向。人们可以在友好的人机见面环境中轻松地进行各种复。数字合成技术的发展,给信号发生器带来变革,主要表现在轻便、频率调节范围宽、输出动态范围大、容易编程控制、适用性强和使用方便等。现在一台高档信号发生器可提供1MHz到65GHz宽带的波形信号,而且全部程控操作,它的可选择余地也比较大:实验室的台式,生产车间的便携式直至现场的手持式等应用都有大量信号发生器。除了能产生正弦波的激励源的信号发生器外,还有合成信号发生器、信号合成器、合成扫频器等不同名称,这些都是指信号发生器,即专指采用电压控制振荡器作为射频和微波频率一次
31、源的信号发生器。2.2 FPGA简介 数字集成电路从产生到现在,经过了早期的电子管、晶体管、小中规模集成电路,到大规模、超大规模集成电路(VLSIC)以及许多既有特定功能的专用集成电路的发展过程。但是,随着为电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(Application Special Integrated Circuit, ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在 实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(Field Programmable Log
32、ic Device, FPLD),其中应用最广泛的当属CPLD和FPGA7。CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称。两者的功能基本相同,只是实现原理略有不同,但有时可以忽略这两者的区别。不同厂家对可编程逻辑器件的叫法也不尽相同。Altera公司把自己的可编程逻辑器件产品中的MAX系列(乘积项技术,EEPROM技术)、FLEX系列(查找表技术,SRAM工艺)都叫做CPLD;而把也是SRAM工艺、基于查找表技术、要外挂配置用的FLEX系列
33、的EPROM叫做FPGA。早期的可编程逻辑器件都属于低密度PLD(Programmable Logic Device),结构简单,设计灵活,但规模小,难以实现复杂的逻辑功能。1985年Xilinx公司首先推出了现场可编程门阵列FPGA,这是一种新型的高密度PLD,采用CMOS-SRAM工艺制作,其结构和阵列型PLD不同,内部由许多独立的可编程模块组成,逻辑模块之间可以灵活地相互连接,具有密度高、编程速度快,设计灵活和可再配置设计能力等许多优点。FPGA一般由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。每个单元简介
34、如下:(1)可编程输入/输出单元(I/O单元)。目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电气标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等;(2)基本可编程逻辑单元。FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带 同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一
35、定的差异,而且寄存器和查找表的组合模式也不同。(3)嵌入式块RAM。目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。(4)丰富的布线资源。布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分:A全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线;B长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线;C短线资源:用来完成基本逻辑单元间的逻辑互连与布线;D其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线
36、。(5)底层嵌入功能单元。由厂商及芯片型号决定。(6)内嵌专用硬核。与“底层嵌入单元”有区别,这里指的硬核主要是那些通用性相对较弱的芯片,不是所有FPGA芯片都包含硬核。2.3 VHDL简介VHDL1的全称是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982 年。1987年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序
37、结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来 ,VHDL 语言主要具有以下优点:(1) VHDL 语言功能强大 , 设计方式多样。VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程
38、序就可以描述十分复杂的硬件电路。同时, 它还具有多层次的电路设计描述功能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。(2) VHDL 语言具有强大的硬件描述能力。VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确
39、地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。(3) VHDL 语言具有很强的移植能力。VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。(4) VHDL语言的设计描述与器件无关。采用VHDL语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计
40、的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。(5) VHDL语言程序易于共享和复用。VHDL语言采用基于库 ( library) 的设计方法。在设计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块, 将这些模块存放在库中 , 就可以在以后的设计中进行复用。由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言 , 因此它可以使设计成果在设计人员之间方便地进行交流和共享
41、, 从而减小硬件电路设计的工作量, 缩短开发周期。 2.4 Xilinx ise与 Modelsim简介2.4.1 Xilinx iseISE的全称为Integrated Software Environment,即“集成软件环境”,是Xilinx公司的硬件设计工具。相对容易使用的、首屈一指的PLD设计环境 ! ISE将先进的技术与灵活性、易使用性的图形界面结合在一起,不管您的经验如何,都让您在最短的时间,以最少的努力,达到最佳的硬件设计。ISE的基本开发流程以及在开发过程中的各个阶段需要用到的工具软件:Xilinx公司的ISE开发设计软件的工程设计流程,具体分为五个步骤:即输入(Design
42、 Entry)、综合(Synthesis)、实现(Implementation)、验证(Verification)、下载(Download)。如图2.1所示为ise界面。图2.1 xilinx ise 界面2.4.2 ModelSimMentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿
43、真软件。ModelSim特点: RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真; 单内核VHDL和Verilog混合仿真; 源代码模版和助手,项目管理; 集成了性能分析、波形比较、代码覆盖、数据流ChaseX、Signal Spy、虚拟对象Virtual Object、Memory窗口、Assertion窗口、源码窗口显示信号值、信号条件断点等众多调试功能; C和Tcl/Tk接口,C调试; 对SystemC的直接支持,和HDL任意混合; 支持SystemVerilog的设计功能; 对系统级描述语言的最全面支持,SystemVerilog,SystemC,PSL; ASIC S
44、ign off。 可以单独或同时进行行为(behavioral)、RTL级、和门级(gate-level)的代码。ModelSim的版本: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行
45、的设计,ModelSim SE要比ModelSim XE快近40倍。ModelSim SE支持PC、UNIX和LINUX混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛的标准;Mentor Graphics公司提供业界最好的技术支持与服务。本设计采用的是ModelSim SE。图2.2 Modelsim 10.0 界面3 数字信号发生器的设计本章在第二章所述的原理与相关知识的基础上,通过VHDL语言实现信号类型为锯齿波、三角波,方波,正弦波的产生并且频率可控,振幅可控。其中 ,波形数据运用VHDL语言编写 。并通过xilinx ise 12.1.2与Modelsim 10.0软件进
46、行波形的仿真,从而完成整个设计。3.1 数字信号发生器的系统组成该数字信号发生器系统主要由输入部分、FPGA部分、振幅的控制部分 APSELC,波形选择部分SELC,频率选择部分FSELC部分组成。如图3.1所示。选择波形形形三角波方波时钟输出正弦波调频锯齿波调幅振幅图3.1数字信号发生器系统组成输入部分包含以下功能按键:时钟、波形、调幅、调频。1时钟:标准的50MHZ时钟输入。2波形:为波形输出选择开关,可以选择单波形的输出。3调幅:可以改变正弦波、三角波、锯齿波、方波的幅度。4调频:可以改变正弦波、三角波、锯齿波、方波的频率。本文采用自顶向下的设计方法,从系统总体功能要求着手,自顶向下逐步
47、的将设计内容细化,直到达到有效设计的硬件层次,最终完成硬件设计的方法具体流程如图3.2所示图3.2 系统流程图3.2 各模块的设计过程本文设计的基于ISE的直扩信号载频估计处理过程研究与仿真实现的设计有4个子模块,各个子模块在ISE软件上用硬件描述与亚VHDL来编程,最后用Modelsim仿真实现并验证。3.2.1 顶层模块的设计将4个模块(正弦波、锯齿波、三角波、方波)封装成为模块文件,供顶层电路调用可以得到以下顶层文件电路: 主控制模块完成了频率调节、幅度调节和波形选择三个控制功能。其中CLK为标准频率50M输入。图3.3 顶层模块图表3.1 分频模块端口列表名称类型位宽功能ClkSELCAPSELCFSELCWAVEOUT输入输入输入输入输出12228时钟驱动输入选择波形输入选择振幅输出选择频率输出输出波形3.2.2 方波的设计方波是一种非正弦曲线的波形,通常会与电子和讯号处理时出现。理想方波只有高和低这两个值。电流或电压的波形为矩形的信号即为矩形波信号,高电平在一个波形周期内占有的时间比值称为占空比,占空比为50%的矩形波称之为方波。方波有低电平为零与为负之分,必要时,可加以说明低电平为零、