基于FPGA的调制信号发生器设计研究

上传人:QQ40****828 文档编号:442660 上传时间:2018-10-02 格式:DOC 页数:49 大小:1.12MB
返回 下载 相关 举报
基于FPGA的调制信号发生器设计研究_第1页
第1页 / 共49页
基于FPGA的调制信号发生器设计研究_第2页
第2页 / 共49页
基于FPGA的调制信号发生器设计研究_第3页
第3页 / 共49页
点击查看更多>>
资源描述
I基于 FPGA 的调制信号发生器设计研究摘 要直接数字频率合成技术在通信系统中被广泛采用。在研究直接数字频率合成技术的基本原理的基础上,利用 FPGA 的 DSP 开发工具 DSP Builder 对直接数字频率合成器进行了建模设计,仿真结果显示该 DDS 频率及相位可灵活调整,具有较高的频率分辨率,能够实现频率及相位的快速切换,并将其应用在模拟调制和数字调制系统中。通过仿真分析证明设计方法的正确性和实用性。本文对通信信号中的 AM 信号、FM 信号、ASK 信号、FSK 信号、PSK 信号等根据 DDS 的基本原理,利用 Matlab/DSP Builder 进行建模,然后用 Altera 公司提供的 Signal Compiler 工具对其进行编译,产生 Quartus II 能够识别的VHDL 源程序,并且给出了采用 Altera 公司的 Cyclone 系统的 FGPA 芯片EP1C3T144C8 进行仿真,并用 ModelSim 进行功能仿真及用 Quartus II 进行时序仿真,以验证所设计的信号满足要求,通过仿真分析设计方法的正确性和实用性,并用 EDA 实验设备实现,在示波器上观测所设计的信号。文中还简单应用了 DSP Builder 设计中的层次化设计来完成调制集成系统的研究,有助于设计复杂的 DSP Builder 模型。关键字 现场可编程门阵列,直接数字频率合成,模拟调制,数字调制,DSP BuilderIIIIABSTRACTDirect digital synthesizer technology is widely applied in communication system. Based on studying the basic theory of direct digital synthesizer technology, this passage makes model design of DDS with DSP Builder of FPGA and applies DDS to digital modulation system. This DDSs parameters can be adjusted flexibly, simulation result shows DDS has high resolution and fast setting time. The correctness and feasibility of DDS will be proved through simulation analysis.This article to signals in the signal corresponds which is AM、 FM、ASK 、 FSK、PSK signal is according to the DDS basic principle, established the DDS basic model using Matlab/DSP Builder, then the Signal Compiler tool which provided using the Altera Corporation to it carries on the translation, has VHDL source program which Quartus II could distinguish and produce uses Altera Corporation cyclone series FPGA chip EP1C3T144C8 carries the simulation. Using ModelSim makes the simulation of function, and using Quartus II makes the simulation of order when carries on verify the signal design meet the requirement. Correctness and practicality to design method is analyzed by the simulation And test with EDA the equipment realize and observe and analyze on the oscilloscope signal design. In the article also simply applied DSP Builder design hierarchical design to complete the modulation integrative systems research. it was helpful in design complex DSP the Builder model.Keywords FPGA, DDS,Analog Modulation,Digital Modulation,DSP Builder1目 录摘要 .IABSTRACTII1 绪论 11.1 课题背景 11.2 设计要求 22 DDS 的基本原理 .43 设计工具 73.1 FPGA 性能结构 .73.2 基于 EDA 工具的 FPGA 设计流程 .93.2.1 EDA 技术 .93.2.2 基于 EDA 的 FPGA 开发流程 103.3 基于 FPGA 的 DSP 系统设计流程 123.4 DSP Builder 及其设计流程 .123.4.1 DSP Builder 概述 .123.4.2 现代 DSP Builder 设计流程 .133.5 QuartusII 简述 .164 模拟调制信号发生器设计 184.1 DDS 模块设计 .184.2 幅度调制(AM)信号发生器的设计 .194.2.1 AM 的调制原理 .194.2.2 AM 设计模型 .204.2.3 Simulink 仿真 .204.2.4 使用 Modelsim 实现功能仿真 214.2.5 使用 QuartusII 实现时序仿真 224.3 频率调制信号(FM)的设计 224.3.1 调频信号(FM)的原理 224.3.2 FM 设计模型 .234.3.3 仿真 235 数字调制信号发生器设计 255.1 振幅键控(ASK)信号发生器的设计 .2525.1.1 振幅键控(ASK)的基本原理 255.1.2 ASK 设计模型 .265.1.3 仿真图 265.2 频移键控(FSK)信号发生器的设计 275.2.1 FSK 调制基本原理 .275.2.2 FSK 设计模型 .285.2.3 仿真结果 285.3 相移键控(PSK)信号发生器设计 295.3.1 PSK 调制基本原理 .295.3.2 PSK 设计模型 .305.3.3 仿真 306 调制集成设计 .336.1 DSP Builder 的子系统 .336.1.1 模拟调制集成系统 336.1.2 数字调制集成系统 346.2 调制集成系统 347 结束语 .35参 考 文 献 36致谢 3811 绪 论1.1 课题背景无线电技术进行信息传输在现代电子应用中占有及其重要的地位,无线电通信,电视,雷达,遥控遥测等,都是利用无线电技术传输各种不同信息的方式。在这些信息的传递过程中,都要用到调制技术。所谓调制是在传送信号的一方将所要传送的信号“附加”在高频振荡波上,再由发送装置进行传送。本设计对通信信号中的 AM 信号、FM 信号、ASK 信号、FSK 信号、PSK 信号、正交幅度调制电路等进行设计,在设计中选用 ALTERA 公司现场可编程门阵列CYCLONE 系列的器件。通过近 20 年的发展,通信己成为市场最活跃、份额最高的产业,也成为国际上市场竞争最激烈的部分。随着调制技术在仪表和通信系统中的广泛应用,一种从参考频率源生成多种频率的数字控制方法应运而生,这种技术就是 DDS (即直接数字合成)。DDS 技术是一种从相位概念出发直接合成所需波形的一种新的全数字频率合成技术。目前, 各大芯片制造厂商都相继推出采用先进 CMOS 工艺生产的高性能、多功能 DDS 芯片,为电路设计者提供了多种选择。然而在某些场合,专用 DDS 芯片在控制方式、置频速率等方面与系统的实际要求存在很大差距,这时可以采用高性能 FPGA 来设计符合具体需要的 DDS 电路。DDS (直接数字合成) 是近年来迅速发展起来的一种新的频率合成方法。这种方法简单可靠、控制方便,且具有很高的频率分辨率和转换速度,非常适合快速跳频通信的要求。 目前不断发展的数字信号处理(DSP,Digital Signal Processing)技术迅速地扩展到了其应用领域,如 3 G 移动通信、网络会议、多媒体系统、雷达卫星系统、医学仪器、实时图像识别与处理、联合战术无线电系统、智能基站以及民用电器等。所有这一切在功能实现、性能指标与成本方面都在不断增加其要求。 在过去很长一段时间,DSP 处理器(如 TI 的 TMS320 系列)是 DSP 应用系统核心器件的惟一选择。尽管 DSP 处理器具有通过软件设计能适用于实现不同功能的灵活性,但面对当今迅速变化的 DSP 应用市场,特别是面对现代通信技术的发展,DSP 处理器早已显得力不从心。例如其硬件结构的不可变性导致了其总线的不可改变性,而固定的数据总线宽度,已成为 DSP 处理器一个难以突破的瓶颈。DSP 处理器的这种固定的硬件结构特别不适合于当前许多要求能进行结构特性随时变更的应用场合,即所谓面向用户型的 DSP 系统,或者说是用户可定制型,或可重配置型的 DSP 应用系统(Customized DSP 或 Reconfigurable 2DSP 等),如软件无线电、医用设备、导航、工业控制等方面。至于在满足速度要求方面,由于采用了顺序执行的 CPU 架构,DSP 处理器则更加不堪重负。FPGA 器件集成度高、体积小,具有通过用户编程实现专门应用的功能。使用 FPGA 器件可以大大缩短系统的研制周期,减少资金投入,更吸引人的是,采用 FPGA 器件可以将原来的电路板级产品集成为芯片级产品,从而降低了功耗,提高了可靠性,同时还可以很方便地对设计进行在线修改,因此有时人们也把FPGA 称为可编程的 ASIC 在这些 FPGA 中,一般都内嵌有可配置的高速RAM、PLL、LVDS、LVTTL 以及硬件乘法累加器等 DSP 模块。今天大容量、高速度的 FPGA 的出现,克服了上述方案的诸多不足。它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,知道达到预期的结果。用 FPGA 来实现数字信号处理可以很好地解决并行性和速度问题,而且其灵活的可配置特性,使得 FPGA 构成的 DSP 系统非常易于修改、易于测试及硬件升级。在利用 FPGA 进行 DSP 系统的开发应用上,已有了全新的设计工具和设计流程。DSP Builder 就是 Altera 公司推出的一个面向 DSP 开发的系统级工具。它是作为 MATLAB 的一个 Simulink 工具箱(Tool Box)出现的。MATLAB 是功能强大的数学分析工具,广泛应用于科学计算和工程计算,可以进行复杂的数字信号处理系统的建模、参数估计、性能分析。Simulink 是 MATLAB 的一个组成部分,用于图形化建模仿真。 随着数字技术在仪表和通信系统中的广泛应用,一种从参考频率源生成多种频率的数字控制方法应运而生,这种技术就是DDS(即直接数字合成)。DDS技术是一种从相位概念出发直接合成所需波形的一种新的全数字频率合成技术。目前,各大芯片制造厂商都相继推出采用先进CMOS工艺生产的高性能、多功能DDS芯片,为电路设计者提供了多种选择。然而在某些场合,专用DDS芯片在控制方式、置频速率等方面与系统的实际要求存在很大差距,这时可以采用高性能FPGA来设计符合具体需要的DDS电路。现场可编程门阵列(FPGA)设计无线电和调制解调器与 DSP 芯片比较,虽然FPGA 可轻而易举地实现如卷积编码器等复杂逻辑功能,但在实现大量复杂计算方面却有很大的缺陷。FPGA 在通信领域的应用,大大改善了现代通信系统的性能,FPGA 的应用也极大的推动了 SOC 的发展,随着 DSP 和 FPGA 技术的不断发展,无线电技术必将成为移动通信中的主流技术,其发展远景非常可观。1.2 设计要求课题根据直接数字频率合成原理对通信信号中的 AM 信号、FM 信号、ASK信号、FSK 信号、PSK 信号、用 DSP Builder 进行建摸,并用 ModelSim 进行功3能仿真及用 Quartus II 进行时序仿真,以验证所设计的信号满足要求,并用EDA 实验设备实现,在示波器上观测所设计的信号。基于 FPGA 的调制信号发生器的设计主要采用了 FPGA 的硬件设计和 DSP Builder 系统级(或算法级)设计工具来实现。利用 DSP Builder 进行建摸, 同时又通过 Signal Compiler 可以把 Matlab/Simulink 的设计文件(.mdl)转成相应的硬件描述语言 VHDL 设计文件(.vhd),以及用于控制综合与编译的 TCL脚本,而对后者的处理可以由 FPGA/CPLD 开发工具 QuartusII 来完成。这样我们就可以用 ModelSim 进行功能仿真及用 QuartusII 进行时序仿真,以验证所设计的信号满足要求。并用 EDA 实验设备实现,在示波器上观测所设计的信号。452 DDS 的基本原理实现调幅调频信号的核心是正弦波信号的产生。频率控制、模拟幅度调制信号、模拟频率调制信号等功能都是围绕该信号展开的。在设计中采用 DDS 技术产生不同频率的正弦波,以实现调幅调频信号。DDS(Direct Digital Synthesizer)即直接数字合成器,是一种新型频率合成技术,具有较高的频率分辨率,可以实现快速的频率切换,并且在频率改变时能够保持相位的连续,很容易实现频率、相位和幅度的数控调制。以正弦信号发生器为例进行讨论,它的输出可以用下式来描述: 式(2.1)其中 是指该信号发生器的输出信号波形, 指输出信号对应的频率。outS outf上式的表述对于时间 t 是连续的,为了用数字逻辑实现该表达式,必须进行离散化处理。用基准时钟 进行抽样,令正弦信号的相位:clkf式(2.2)在一个 周期 内,相位的变化量为:clkfclkT式(2.3)其中 指基准时钟频率,对于 ,可以理解成“满”相位。为了 对进clkf 2行数字量化,把切割成 2N 份,由此,每个 周期的相位增量可用量化值来表clkf述为:式(2.4)且 为整数,可得:B式(2.5)信号发生器的输出可描述为: out outsini(2).Atfout2foutoutclkclffT2NBoutclk2NfB6式(2.6)其中, 指前一个 clk 周期的相位值,同样可以得出:1k式(2.7)由上面的推导可以看出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前相位值,而用于累加的相位增量量化值 决定了信号B的输出频率 ,并呈现简单的线性关系。直接数字合成器 DDS 就是根据上述原outf理而设计的数字控制频率合成器。DDS 是以数控的方式产生频率、相位和幅度可以控制的正弦波,图 2.1 所示是一个基本的 DDS 结构,主要由相位累加器、相位调制器、正弦 ROM 查找表和D/A 构成。图中的相位累加器、相位调制器、正弦 ROM 查找表是 DDS 结构中的数字部分,由于具有数控频率合成的功能,又合称为 NCO(Numerically Controlled Oscillators)。频 率控 制 字相 位控 制 字同 步寄 存 器相 位 累 加 器寄 存 器相 位 调 制 器正 弦R O M查 找 表同 步寄 存 器D / A信 号输 出图 2.1 基本 DDS 结构DDS 系统的核心是相位累加器,它由一个累加器和一个 N 位相位寄存器组成。每来一个时钟脉冲 fr,相位寄存器以步长 M 增加。相位寄存器的输出与相位控制字相加,其结果作为正(余)弦查找表地址。当相位累加器累加满量程,就会产生一次溢出,完成一个周期性的动作,这个周期就合成信号的一个周期,累加器的溢出频率也就是 DDS 的合成信号频率。在原理框图中,正(余)弦查找表由 ROM 构成,内部存有一个完整周期正(余)弦波的数字幅度信息,每个查找表的地址对应正(余)弦波幅度信号,同时输出到数模转换器(DAC)输入端,DAC输出的模拟信号经过低通滤波器(LPF)可以得到一个频谱纯净的正(余)弦波。相位累加器是整个 DDS 的核心,在这里完成上文原理推导中的相位累加功能。相位累加器的输入是相位增量 ,又由于与输出频率 是简单的线性关Boutf1 1out1 sin2sin()sink kkNSAABAfB 12kN7系:式(2.8)故相位累加器的输入又可称为频率字输入,事实上,当系统基准时钟 是clkf时, 就等于 。频率字输入还经过了一组同步寄存器,使得当频率字改2NBoutf变时不会干扰相位累加器的正常工作。相位调制器接收相位累加器的相位输出,在这里加上一个相位偏移值,主要用于信号的相位调制,如 PSK(相移键控)等。在不使用时可以去掉该部分,或者加一个固定的相位字输入。相位字输入也需要用同步寄存器保持同步。需要注意的是,相位字输入的数据宽度 M 与频率字输入 N 往往是不相等的,一般MN。正弦 ROM 查找表完成 的查表转换,也可以理解成相位到幅度的转换,sin()fB它的输入是相位调制器的输出,事实上就是 ROM 的地址值,输出送往 D/A,转化成模拟信号。由于相位调制器的输出数据位宽 M 也是 ROM 的地址位宽,因此在实际的 DDS 结构中 N 往往很大,而 M 总为 10 位左右。 M 太大会导致 ROM 容量的成倍上升,而输出精度受 D/A 位数的限制未有很大改善。因此,在实际应用中,对于 ROM 容量的缩小,人们提出了很多解决方法。基本 DDS 结构的常用参量计算。1) DDS的输出频率由 DDS 工作原理推导的公式中很容易得出输出频率的计算:式(2.9)是频率输入字, 是系统基准时钟的频率值, N 是相位累加器的数据Bclkf位宽,也是频率输入字的数据位宽。2) DDS 的频率分辨率或称频率最小步进值,即 为时,可用频率输入值步进一个最小间隔B对应的频率输出变化量来衡量。 式(2.10)3) DDS的频率输入字的计算的计算公式如下: B式(2.11)outclk2/NBfoutclk2NBffclkout2Nfoutclk2NfB873 设计工具3.1 FPGA 性能结构随着微电子技术的飞速发展,可编程逻辑器件的发展取得了长足的进步,FPGA(现场可编程门阵列)与CPLD(复杂可编程逻辑器件)都是可编程逻辑器件。CPLD(Complex Programmable Logic Device)和FPGA (Field Programmable Gate Array)已成为目前在电子系统设计中应用最广泛的可编程逻辑器件。它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。与同门阵列等其它ASIC(Application Specific Integrated Circuit)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产之中。本文的设计中用到了Altera公司的FPGA芯片,因此以下将主要介绍FPGA的结构、原理及设计。FPGA 器件是由大量逻辑宏单元构成的。通过配置可以使这些逻辑宏单元形成不同的硬件结构,从而构成不同的电子系统,完成不同的功能。正是 FPGA 的这种硬件重构的灵活性,使得设计者能够将硬件描述语言(如 VHDL 或 Verilog)描述的电路在 FPGA 中实现。这样以来,同一块 FPGA 能实现许多完全不同的电路结构和功能。如 DSL 布线器、数字调制解调器、JPEG 编码器、数字通信系统以及网络接口等等。简化的FPGA的结构由4部分组成:输入/输出模块、二维逻辑阵列模块、连线资源和内嵌存储器模块。输入/输出模块是芯片与外界的接口,完成不同电气特性下的输入输出功能要求。二维逻辑阵列模块是可编程逻辑的主体,可以根据设计灵活地改变连接与配置,以完成不同的逻辑功能,FPGA的二维逻辑阵列模块是基于可编程的查找表(Look Up Table, LUT)结构的,LUT是可编程的最小逻辑构成单元,连线资源连接所有的二维阵列模块和输入输出模块线长度和工艺决定着信号在连线上驱动能力和传输速度。内嵌存储器结构可以在芯片内部存储数据。现场可编程门阵列(FPGA)是由掩膜可编程门阵列(MPGA)和可编程逻辑器件二者演变而来的,将它们的特性结合在一起,既有门阵列的高逻辑和通用性,又有可编程逻辑器件的用户可编程特性。FPGA 通常由布线资料分隔的可编程逻辑单元(或宏单元)构成阵列,又由可编程 YO 单元围绕阵列构成整个芯片。其内部资源是分段互连的,因而延时是不可预测的,只有编程完毕后才能实际测量。FPGA 建立内部可编程逻辑连接关系的编程技术有三种:81)基于反熔丝技术的器件只允许对器件编程一次, 编程后不能修改。 其优点是集成度、工作频率和可靠性都很高,适用于电磁辐射干扰比较强的恶劣环境。2)基于 EEPROM 存储器技术的可编程逻辑芯片能够重复编程 100 次以上,系统掉电后编程信息也不会丢失,编程方法分为在编程器上编程和用下载电缆编程。用下载电缆编程的器件,只要先将器件装焊在印刷电路板上,通过PC、SUN 工作站、ATE(自动测试仪)或嵌入式微处理系统,就能产生编程所用的标准 5V、3.3V 或 2.5V 的逻辑电平信号,也称为 ISP(In System Programmable)方式编程,其调试和维护也很方便。3)基于 SRAM 技术的器件编程数据存储于器件的 RAM 中,具有用户设计的功能。在系统不加电时,编程数据存储在 EPROM、硬盘或软盘中;系统加电时将这些编程数据即时写入可编程器件中,从而实现板级或系统级的动态配置。FPGA作为新一代的可编程逻辑器件,由于其基本原理的特殊性,除了具有一般可编程逻辑器件的特点之外,在电子系统设计中还具有一些自己的特点:1)编程方式简便灵活。对于基于SRAM LUT结构的FPGA器件由于SRAM 的掉电易失性, 其编程采用ICR方式即在线可重配置方式。对于ICR方式的实现有多种选择,在调试时可使用PC机并行口实现,在实际应用中可使用专用配置器件或者微处理器等来实现ICR。2)开发工具和设计语言标准化,开发周期短。由于EDA开发工具的通用性、设计语言的标准化以及设计过程几乎与所用的FPGA器件的硬件结构没有关系,所以从而使得片上系统的产品设计效率大幅度提高,开发周期大大缩短。3)功能强大,应用广阔。目前,FPGA可供选择范围很大,可根据不同的应用选用不同容量的芯片。利用它们可实现几乎任何形式的数字电路或数字系统得设计。随着达数百万门高密度的 FPGA 的出现,FPGA 在原有的高密度的逻辑宏单元的基础上嵌入了许多面向 DSP 的专用硬核模块,结合大量可配置于 FPGA 硬件结构中的参数化的 DSP IP 软核,DSP 开发者能十分容易地将整个 DSP 应用系统实现在一片 FPGA 中,从而实现了所谓的可编程 SOC 系统,即 SOPC。现代大容量、高速度的 FPGA 的出现,克服了上述方案的诸多不足。FPGA器件集成度高、体积小,具有通过用户编程实现专门应用的功能。它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,知道达到预期的结果。使用 FPGA 器件可以大大缩短系统的研制周期,减少资金投入。更吸引人的是,采用 FPGA 器件可以将原来的电路板级产品集成为芯片级产品,从而降低了功耗,提高了可靠性,同时还可以很方便地对设计进行在线修改,9因此有时人们也把 FPGA 称为可编程的 ASIC 在这些 FPGA 中,一般都内嵌有可配置的高速 RAM、PLL、LVDS、LVTTL 以及硬件乘法累加器等 DSP 模块。用 FPGA 来实现数字信号处理可以很好地解决并行性和速度问题,而且其灵活的可配置特性,使得 FPGA 构成的 DSP 系统非常易于修改、易于测试及硬件升级。在利用 FPGA 进行 DSP 系统的开发应用上,已有了全新的设计工具和设计流程。DSP Builder 就是美国 Altera 公司推出的一个面向 DSP 开发的系统级工具。它是作为 MATLAB 的一个 Simulink 工具箱(Tool Box)出现的。MATLAB是功能强大的数学分析工具,广泛应用于科学计算和工程计算,可以进行复杂的数字信号处理系统的建模、参数估计、性能分析。Simulink 是 MATLAB的一个组成部分,用于图形化建模仿真。 现场可编程门阵列(FPGA)设计无线电和调制解调器与 DSP 芯片比 较,虽然 FPGA 可轻而易举地实现如卷积编码器等复杂逻辑功能,但在实现大量复杂计算方面却有很大的缺陷。FPGA 在通信领域的应用,大大改善了现代通信系统的性能,FPGA 的应用也极大的推动了 SOC 的发展,随着 DSP 和 FPGA 技术的不断发展,无线电技术必将成为移动通信中的主流技术。FPGA 在通信领域的应用,大大改善了现代通信系统的性能,FPGA 的应用也极大的推动了 SOC 的发展。FPGA 在通信领域的应用,大大改善了现代通信系统的性能,FPGA 的应用也极大的推动了 SOC 的发展。FPGA 中的面向 DSP 的嵌入式模块有可配置 RAM、DSP 乘加模块和嵌入式处理器等,使 FPGA 能很好地适用于 DSP 功能的实现。乘法器的带宽决定了整个DSP 的带宽,而 FPGA 的 DSP 带宽比 DSP 处理器要宽得多。此外,绝大部分的DSP 处理器应用系统是用外部存储器来解决大数据量的处理的。然而 FPGA 的嵌入式高速可配置存储器在大多数情况下都能满足相类似的数据处理要求。FPGA中的嵌入式处理器进一步提高了 FPGA 的系统集成和灵活性,使之成为一个软件与硬件联合开发和灵活定制的结合体,可使设计者既能在嵌入式处理器中完成系统软件模块的开发和利用,也能利用 FPGA 的通用逻辑宏单元完成硬件功能模块的开发。Altera 的 FPGA 器件还为用户提供了嵌入式处理器软核与硬核的选择。现代的 FPGA 中含有十分灵活的、针对特定算法的加速器模块。与传统的DSP 处理器中的加速器模块不同,FPGA 中实现的硬件加速器是可以针对不同应用的,这可以使设计者针对不同的 DSP 任务实现硬件功能。3.2 基于 EDA 工具的 FPGA 设计流程3.2.1 EDA技术现代电子技术的核心是EDA (Electronic Design Automation电子设计自动10化)技术。 EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线)以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。EDA技术在硬件实现方面融合了大规模集成电路制造技术:IC版图设计技术、ASIC测试和封装技术、FPGA/CPLD编程下载技术、自动测试技术等。在计算机辅助工程方面融合了计算机辅助设计(CAD),计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念,而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等等。因此EDA技术为现代电子理论和设计的表达与实现提供了可能性。当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也比较高。而模拟电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。EDA技术的发展历程同天规模集成电路设计技术、计算机辅助工程、可编程逻辑器件以及电子设计技术和工艺的发展是同步的。20世纪80年代,集成电路设计进入了CMOS(互补场效应管)时代,复杂可编程逻辑器件已进入商用阶段,而在80年代末,出现了FPGA(Field programmable Gate Array现场可编程门阵列)和CPLD(Complex Programmable Logic Device复杂可编程逻辑器件),其特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,电子系统设计工程师可以在实验室中设计出专用的IC, 实现系统的集成,从而大大缩短了产品上市时间,降低了开发成本。进入20世纪90年代,集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件陆续面世,促进了FDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,这些都有效地将EDA技术推向成熟。3.2.2 基于 EDA 的 FPGA 开发流程图 3.1 基于 EDA 工具的 FPGA 开发流程框图,对于目前流行的 EDA 工具软件,其设计流程具有一般性,以下将依次各部分的功能。11图3.1 基于EDA的FPGA设计流程设计输入是设计者将所要设计的电路以开发软件要求的某种形式表达出来,并输入到相应软件中的过程。设计输入有多种表达方式,最常用的是图形输入中的原理图输入方式和HDL文本输入方式两种。原理图输入方式的特点是适合描述连接关系和接口关系,而描述逻辑功能则比较繁琐;而用HDL文本来描述设计,其逻辑描述能力强,但描述接口和连接关系则不如图形方式直观。目前有些EDA输入工具可以把图形的直观与HDL的优势结合起来。但总体上看,纯粹的HDL文本输入设计仍然是最基本、最有效和最通用的输入方法。综合(Synthesis)指的是将行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。适配器也称为结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如对FPGA器件,产生Bit stream位流数据文件。通常,EDA软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA供应商提供。仿真就是让计算机根据一定的算法和一定的仿真库对EDA设计进行模拟,以验证设计,排除错误。仿真是在EDA设计过程中的重要步骤,它包括功能仿真和时序仿真。不考虑信号时延等因素、不涉及任何具体器件的硬件特性的仿真称12为功能仿真,又叫前仿真;时序仿真又称后仿真,它是在选择了具体器件并完成了布局布线后进行的包含定时关系的仿真。把适配后生成的下载或配置文件,通过编程器或编程电缆装入FPGA中的过程称为下载。通常将对基于SRAM工艺结构的FPGA器件的下载称为配置(Configure)。如上一小节所述,FPGA器件的配置方式灵活,有多种的方式可供选择。3.3 基于 FPGA 的 DSP 系统设计流程在早些时候,DSP 开发者只能直接使用 VHDL 或 Verilog HDL 语言进行FPGA 的 DSP 系统设计,难度比较大。现在已经出现了许多新的基于 FPGA 的 DSP开发工具。如 DSP Builder、SOPC Builder、System Generator 等,以及完整的软件开发平台。从而使得设计者能遵循一条类似于软件设计流程的开发方法进行 FPGA 的 DSP 设计,设计效率大为提高。图 3.2 所示的流程则表明基于 FPGA 的 DSP 开发流程中,顶层的开发工具就是 MATLAB /Simulink,整个开发流程几乎完全可以在同一环境中完成。真正实现了自顶向下的设计流程,包括 DSP 系统的建模、系统级仿真、设计模型向VHDL 硬件描述语言代码的转换、RTL 级功能仿真测试、编译适配和布局布线、时序实时仿真,直至对 DSP 目标器件的编程配置。整个设计流程一气呵成地将系统描述和硬件实现有机地融为一体,充分显示了现代电子设计自动化开发的特点与优势。图 3.2 基于 FPGA 的系统级开发流程MATLB/Simulink建 模 /仿 真VHD转 换 逻 辑 综 合 功 能 仿 真 /编 译 适 配 /时 序 实 时 仿 真 /硬 件 配 置DSP系 统 建 模DSP Buildet综 合 、 适 配布 线 、 布 局( Quarts )基 于 IP核 的DS库FPGADS系 统 实 现133.4 DSP Builder 及其设计流程3.4.1 DSP Builder 概述DSP Builder 是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级和 RTL 级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。DSP Builder 依赖于 Math Works 公司的数学分析工具MATLAB/Simulink,以 Simulink 的 Blockset 出现,可以在 Simulink 中进行图形化设计和仿真,同时又通过 Signal Compiler 可以把 MATLAB/Simulink 的设计文件(.mdl)转成相应的硬件描述语言 VHDL 设计文件(.vhd),以及用于控制综合与编译的 TCL 脚本。而对后者的处理可以由 FPGA/CPLD 开发工具 QuartusII来完成。由于在 FPGA 上设计一个 DSP 模块的复杂性,设计的性能(包括面积、速度、可靠性、设计周期)对于不同的应用目标将有不同的要求,涉及的软件工具也不仅仅是 Simulink 和 Quartus II。DSP Builder 针对不同情况提供了两套设计流程,即自动流程和手动流程。DSP Builder 设计流程的第一步是在 MATLAB/Simulink 中进行设计输入,即在 MATLAB 的 Simulink 环境中建立一个.mdl 模型文件,用图形方式调用Altera DSP Builder 和其它 Simulink 库中的图形模块(Block),构成系统级或算法级设计框图(或称 Simulink 设计模型)。第二步是利用 Simulink 强大的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。在这两步中,与一般的 MATLAB Simulink 建模过程几乎没有什么区别,所不同的是设计模型库采用 Altera DSP Builder 的 Simulink 库,也不涉及到其它 EDA 软件,没有自动流程和手动流程的区别。第三步是 DSP Builder 设计实现的关键一步,通过 Signal Compiler 把Simulink 的模型文件(后缀为.mdl)转化成通用的硬件描述语言 VHDL 文件(后缀为.vhd)。由于 EDA 工具软件(诸如 QuartusII、ModelSim)不能直接处理 MATLAB的.mdl 文件,这就需要一个转换过程。转换获得的 HDL 文件是基于 RTL 级(寄存器传输级)的 VHDL 描述。3.4.2 现代 DSP Builder 设计流程设计流程从利用 MATLAB 建立 DSP 电路模型开始。电路模型的建立可以是图形化的,可以方便地利用 Simulink 与 DSP Builder 中提供的丰富的功能块和IP 核进行设计。DSP Builder 包括比特和周期精度的 Simulink 模块,还涵盖了诸如算术和存储功能的基本设计模块以及 IP 库中的许多复杂的功能模块。电路中的功能块和 IP 的技术参数、数据格式、数据类型和总线宽度等都可以直接设14置。电路模型设计完成后,可以进行系统级的模型仿真,属于系统功能仿真,与目标器件和硬件系统没有关系,是基于算法的仿真。接下去是利用置于 Simulink 电路模型界面的 DSP Builder 的 Signal Compiler,将电路模型文件即 Simulink 模块文件转换成 RTL 级的 VHDL 代码表述和 Tcl 脚本。这种转换是基于 Simulink 模型的结构化分析的。RTL 级 VHDL代码通俗的解释就是在 FPGA 中完成硬件电路实现的 VHDL 程序。Tcl 脚本主要是用于对后续的 VHDL 综合与仿真的控制与规范。 一旦获得了转换好的 VHDL 描述,在 Simulink 中即可调用 VHDL 综合器了。目前可选择的综合器主要有 Quartus II、Synplify 和 Leonardo Spectrum。由它们生成底层网表文件。注意,只有在此时才能真正确定 DSP 硬件实现的目标器件的选择,包括 FPGA 器件的系列和型号。因为对 RTL 级的 VHDL 综合,必须确定底层元件的工艺特性和结构特性,但不必了解硬件时序特性,只有在适配时才需要时序信息。下一步是调用 Quartus II 中的编译器,根据网表文件及设置的优化约束条件进行布线布局和优化设计的适配操作。最后生成编程文件和仿真文件,即生成 POF 和 SOF FPGA 配置文件,可用于对目标器件的编程配置和硬件实现;同时生成可分别用于 Quartus II 的门级仿真文件和 ModelSim 的 VHDL 时序仿真文件,以及配套的 VHDL 仿真激励文件,可用于实时测试 DSP 系统的工作性能。上面的 Signal Compiler 生成的 VHDL,在进入 ModelSim 仿真流程获得的结果与硬件时序没有关系,属于功能仿真结果;而当由 Quartus II 生成的VHDL 仿真文件,进入 ModelSim 仿真流程后获得的仿真结果属于时序仿真,即是对系统的实时测试结果。图 3.3 是 DSP Builder 的设计流程图:M a t l a bS i m u l i n k建立模型S i m u l i n k模型仿真m d l 转成v h d lH D L 仿真( M o d e l S i m )综合 ( Q u a r t u s ,L e o n a r d o S p e c t r u m, S y n p l i f y )综合( Q u a r t u s , L e o n a r d o S p ec t r u m , S y n p l i f y )A T O M N e t l i s t 产生Q u a r t u s Q u a r t u s 生成编程文件 ( . p o f , . s o f )下载至硬件自动流程15图 3.3 DSP Builder 设计流程再接下来的几个步骤是对以上设计产生的 VHDL 的 RTL 代码和仿真文件进行综合、编译适配以及仿真。为了针对不同用户的设计目的和设计要求,DSP Builder 提供了两种不同的设计流程,主要可以分为自动流程和手动流程。如果采用 DSP Builder 的自动流程,几乎可以忽略硬件的具体实现过程,可以选择让 DSP Builder 自动调用 Quartus II 等 EDA 设计软件,完成综合(Synthesis)、网表(ATOM Netlist)生成和 Quartus II 适配,甚至在 Matlab 中完成 FPGA 的配置下载过程。如果希望使用其它第三方的 VHDL 综合器和仿真器(除 Synplify、Leonardo Spectrum 和 Quartus II 综合器及 ModelSim 外) ,或是希望完成特定的适配设置,如逻辑锁定、时序驱动编译、ESB 特定功能应用等,可以选用手动流程设计。在手动流程中,设计者可以灵活地指定综合、适配条件。不过,需要手动地调用 VHDL 综合器进行综合,调用 Quartus II 进行适配,调用 ModelSim 或者Quartus II 进行仿真,最后用 Quartus II 产生相应的编程文件用于 FPGA 的配置。采用手动流程时,除了行为级仿真验证和设计输入外,其它过程与标准的基于 VHDL 的 EDA 设计流程是完全一致的。由上一步 DSP Builder 设计流程得到VHDL 文件(由 Simulink 模型文件*.mdl 通过 Signal Compilder 转换而成),送入综合器进行综合。综合器可以是 Synplify Pro,也可以是 Leonardo Spectrum,或者采用 Altera 自己的 Quartus II。在综合时,可能需要对综合器进行配置或者提供综合的约束条件。由于这个过程操作可能比较繁琐,所以DSP Builder 的 Signal Compiler 相应提供了一个接口,针对设计,自动产生一个 TCL 脚本与综合器 Synplify 或者 Leonardo Spectrum 相接。 综合器在综合操作后会产生一个网表文件,以供下一个流程使用。这里产生的网表文件称为 ATOM 网表文件(如图 3.3 所示),主要是 EDIF 网表文件(.edf 电子设计交换格式文件)或 VQM(.vqm Verilog Quartus Mapping File),它们是一种参数可设置的,并含有具体器件系列硬件特征(如逻辑宏单元 LCs、I/O单元、乘积项、嵌入式系统块 ESB 等)的网表文件。Quartus II 可以利用这些ATOM 网表文件针对选定的具体器件进行适配,包括布线、布局、结构优化等操作,最后产生时序仿真文件和 FPGA 目标器件的编程与配置文件。在这一步,设计者可以在 Quartus II 中完成对 Pin(引脚)的锁定,更改一些约束条件。如果用 DSP Builder 产生的 DSP 模型只是庞大设计中的一个子模块,则可16以在设计中调用 DSP Builder 产生的 VHDL 文件,以构成完整的设计。同时,一样可以使用 Quartus II 强大的 Logic Lock 功能和 Signal Tap 测试技术。在 DSP Builder 设计流程的最后一步,可以在 DSP Builder 中直接下载到FPGA 用户开发板上,或者通过 Quartus II 完成硬件的下载、测试。其中有个流程在 DSP 设计中是不可或缺的,那就是 HDL 仿真。与 DSP Builder 可以配合使用的 HDL 仿真器是 ModelSim。DSP Builder 在生成 VHDL 代码时,可以同时生成用于测试 DSP 模块的 Test Bench(测试平台)文件,DSP Builder 生成的 Test Bench 文件采用 VHDL 语言,测试向量与该 DSP 模块在Simulink 中的仿真激励相一致。通过 ModelSim 仿真生成的 Test Bench 可以验证生成的 VHDL 代码与 Simulink 中 DSP 模型的一致性。另外,DSP Builder 在产生 Test Bench 的同时,还产生了针对 ModelSim 仿真的 Tcl 脚本来简化用户的操作,掩盖 ModelSim 仿真时的复杂性。在大部分情况下,Quartus II 对 DSP 模块适配后,需要再次验证适配后网表与 Simulink 中建立的 DSP 模型的一致性。这就需要再次使用 ModelSim 进行仿真,这时仿真采用 Quartus II 适配后带延时信息的网表文件(EDIF 格式或者VHDL、Verilog 格式)。3.5 Quartus II 简述设计中用到 Quartus来实现时序仿真,这里对其做一个简单的阐述,以便在掌握了其原理后运用起来更得心应手。Quartus为 Altera DSP 开发包进行系统模型设计提供了集成综合环境。Quartus是 Altera 提供的 FPGA/CPLD 开发集成环境, Altera 是世界最大可编程逻辑器件供应商之一。Quartus在 21 世纪初推出,是 Altera 前一代FPGA/CPLD 集成开发环境 MAX+plus的更新换代产品,其界面友好,使用便捷。在 Quartus上可以完成图 3.1 所示的整个基于 EDA 的 FPGA 设计流流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。Quartus设计工具完全支持 VHDL、Verilog 的设计流程,其内部嵌有VHDL、Verilog 逻辑综合器。Quartus也可以利用第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA Compiler,并能直接调用这些工具。同样,Quartus具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,Quartus与 MATLAB 和 DSP Builder 结合,可以进行基于FPGA 的 DSP 系统开发,是 DSP 硬件系统实现的关键 EDA 工具。Quartus包括模块化的编译器。编译器包括的功能模块有分析/综合器17(Analysis &Synthesis) 、适配器(Fitter) 、装配器(Assembler) 、时序分析器(Timing Analyzer) 、设计辅助模块(Design Assistant) 、EDA 网表文件生成器(EDA Netlist Writer)和编辑数据接口(Compiler Database Interface)等。可以通过选择 Start Compilation 来运行所有的编译器模块,也可以通过选择 Start 单独运行各个模块。还可以通过选择 Compiler Tool(Tools 菜单) ,在 Compiler Tool 窗口中运行该模块来启动编译器模块。在 Compiler Tool 窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。此外,Quartus还包含许多十分有用的 LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在 SOPC 设计中被大量使用,也可在 Quartus普通设计文件一起使用。Altera 提供的 LPM 函数均基于 Altera 器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些 Altera 特定器件的硬件功能。例如各类片上存储器、DSP 模块、LVDS 驱动器、PLL 以及 SERDES 和 DDIO 电路模块等。图 3.4 所示是 Quartus开发设计流程。图 3.4 Quartus设计流程图 3.4 上排是 Quartus编译设计主控界面,它显示了 Quartus自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编(装配) 、时序参数提取以及编程下载几个步骤。图 3.4 下排的流程框图,是与上面的 Quartus设计流程相对照的标准的 EDA 开发流程。Quartus编译器支持的硬件描述语言有 VHDL(支持 VHDL87 及 VHDL97标准) 、Verilog HDL 及 AHDL(Altera HDL) ,AHDL 是 Altera 公司自己设计、制定的硬件描述语言,是一种
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


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

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


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