基于FPGA的DSP开发技术-毕业设计


X X 大学本科毕业设计

基于 FPGA 的 DSP 开发技术的研究

学生姓名 学 号

FUXL XXXXXXXXXX 电子工程学院 电子信息工程 2008 级 1 班 X X X

所 在 院 专业名称 班 级

指导教师

X X 大 学 二○一二年五月

基于 FPGA 的 DSP 开发技术的研究
学生: 指导教师:

内容摘要:本文介绍了基于 FPGA 的 DSP 开发技术的一系列研究。通过分析传统的 DSP
开发技术和基于 FPGA 的 DSP 开发技术, 从中可以发现基于 FPGA 的开发技术的结构比较 灵活,有较强的通用性和能够进行较强的模块化设计,同时这种设计的开发周期也比较 短,系统的维护和扩展也比较方便,特别适合于实时的信号处理的系统。如果充分发挥 基于 FPGA 的 DSP 开发技术核心所具有的优点,系统设计人员不但可以缩短系统设计的 周期,还可以获得高性能的,满足成本要求的,并快速有效地对系统进行优化的设计。 比如通过 DSP Builder 工具实现模块的调用,就能轻松的实现基于 FPGA 的 DSP 系统的 设计,本文还将以正弦信号发生器为例介绍这种理论研究的可行性和优越性。因此, 基 于 FPGA 的开发技术将是 DSP 技术发展的一个新的方向,将会促进 DSP 技术的不断向前 迈进。

: 关键词:开发技术 模块化设计 信号处理 正弦信号发生器

I

The research of DSP technology based on FPGA
Abstract: This article describes a series of the research of DSP technology
based on FPGA. The development of the technology about traditional DSP and the DSP technology based on FPGA , which can be found the technology based on FPGA is more flexible , stronger , more capable of modular design , the time of this design is relatively short , the maintenance and expansion is also more convenient , especially suitable for the real-time signal processing system. If you full ues of the advantages of DSP technology based on FPGA , the designers can save much time to do the design , also can get high performance to meet the cost requirements , quickly and efficiently optimize the design of the system. For example , the module calls through the DSP Builder tool , you can easily achieve the design of DSP technology based on FPGA. Through the design of sinusoidal signal generator , it is feasibility and superiority , therefore, the DSP technology based on FPGA is a new research , and promotes the DSP technology to develop.

Keywords: development of technology
sinusoidal signal generator
.

modular design

Signal processing

II





前言.............................................................................................................................................1 1 EDA 技术的概述....................................................................................................................1 1.1 EDA 技术及其发展.....................................................................................................1 1.2 硬件描述语言 VHDL...................................................................................................2 1.3 FPGA 的结构与工作原理...........................................................................................2 1.4 FPGA 的设计流程.......................................................................................................3 1.4.1 设计输入与综合.............................................................................................3 1.4.2 适配与仿真.....................................................................................................3 1.4.3 编程下载与硬件测试.....................................................................................4 1.5 Quartus II 软件的介绍...........................................................................................4 2 DSP 技术的概述....................................................................................................................6 2.1 DSP 的概述.................................................................................................................6 2.2 DSP 的开发工具.........................................................................................................6 3 传统的 DSP 技术开发..........................................................................................................8 3.1 DSP 的设计方法.........................................................................................................8 3.2 DSP 最小系统的硬件设计.......................................................................................10 4 基于 FPGA 的 DSP 开发技术...............................................................................................10 4.1 IP 核的概述.............................................................................................................10 4.2 基于 FPGA 的 DSP 设计方案....................................................................................11 4.3 基于 FPGA 的 DSP 研究方案....................................................................................12 4.4 基于 FPGA 的 DSP 开发技术....................................................................................13 5 基于 FPGA 的 DSP 的优点...................................................................................................14 5.1 基于 FPGA 的 DSP 技术发展的优势........................................................................14 5.2 基于 FPGA 的 DSP 技术应用的优势........................................................................14 6 基于 DSP Builder 的数字信号处理器设计.....................................................................16 6.1 DSP Builder 的设计流程.......................................................................................16 6.2 正弦发生器模块的设计..........................................................................................18 6.2.1 正弦波的硬件电路的设计...........................................................................18 6.2.2 Simulink 模型仿真电路的设计..................................................................22
III

6.2.3 使用 Signal Compiler 进行硬件的设计...................................................24 6.2.4 使用 Quartus II 进行时序的仿真............................................................25 7 结束语.................................................................................................................................26 参考文献...................................................................................................................................27

IV

基于 FPGA 的 DSP 开发技术的研究
前言
随着计算机、信息技术、大规模集成电路的飞速发展,数字信号处理已经成为了一 门独立的技术,并且在理论研究和实现技术方面都获得了高速的发展。数字信号处理也 是一门采用数值计算方法对信号进行处理的学科,而数字信号处理器 DSP(digital signal processor ) 是 一 种 专 为 数 字 信 号 处 理 而 设 计 的 微 处 理 器 [1] 。 FPGA(Filed Programmable Gate Array)是 EDA( Electronic Design Automation )技术发展的产物, 而 FPGA 芯片发展趋势主要是向高容量,高密度,低成本,低电压,微封装,微功耗等 方向发展,基于 FPGA 的 DSP 开发技术是 DSP 技术发展的趋势。 DSP Builder 是 Altera 公司开发的一个具有 DSP 功能的软件,将系统级和 RTL 级 的两个设计工具连接在一起,应用在 MATLAB Simulink 这个开发平台上。MATLAB 是一 种可以进行复杂的数字信号处理系统的建模、仿真、参数评估和性能分析的一种工具软 件,通过 Quarutus II 软件就可以将这三个工具完美的融合。通过 Simulink 的图形化 操作界面,从 DSP Builder 工具箱中实现宏观模块调用,就能够通过 FPGA 来完成 DSP 的设计,还可以完成数字信号处理的仿真功能。 由于 FPGA 的设计较灵活、性能较强大、速度很快,在很多 DSP 的应用领域, FPGA 就成为了数字通信和视频处理优选选择的方案。采用现场可编程器件进行设计,不仅可 以缩短产品的上市时间,还可以满足设计的性能、成本、尺寸等要求。所以基于 FPGA 的 DSP 开发技术的研究就成为了 DSP 技术发展的一个新的理论研究, DSP 技术发展的 是 必然结果。

1 EDA 技术的概述
1.1 EDA 技术及其发展 在 20 世纪末和 21 世纪初,在计算机技术的推进下,电子技术获得了飞速的发展, 现代电子产品几乎渗透到了社会的各个领域, 有力的推动了社会生产力的发展和社会信 息化程度的提高,同时也使现代电子产品性能进一步的提高,产品更新换代的频率越来 越快。可编程逻辑器件应用得到了很大的普及,为系统的设计带来了很大的灵活性。 这 些器件可以通过软件编程对其硬件结构进行修改, 这种设计理论改变了传统的系统设计 方法和过程,促进了 EDA 技术的高速发展 。 EDA 开发技术是以可编程逻辑器件为系统的设计载体,以硬件描述语言为系统的主 要表达方式,以计算机的开发软件为系统设计开发的工具,自动实现电子线路系统功能
1
[2]

的全过程。EDA 技术的出现,大大提高了电路设计的效率,同时也减轻了设计者的工作。 利用 EDA 工具,设计者们可以从算法、概念以及协议等设计系统的方案,整个系统可以 通过计算机进行自动化的处理完成。 通过 EDA 工具进行系统开发的目标是完成专用集成 电路 ASIC(Application Specific Integrated Circuit)的设计,作为 EDA 技术来实现 目标的 ASIC 可以通过超大的可编程逻辑器件、办定制或者全定制的 ASIC、混合的 ASIC 等三种最有效的途径来完成。 从目前的 EDA 技术的发展来看,EDA 技术已经应用到很多的行业中。在机械、电子、 矿产、生物、医学、通信、航空航天、化工、军事等各个领域中都有 EDA 的影子。在电 子技术设计方面,可编程逻辑器件的应用得到了广泛的普及,为系统的设计带来了极大 的方便性和灵活性。EDA 技术的发展得到了社会和政府的高度重视,在电子设计行业中 也得到了广泛的普及,EDA 软件的功能也变得逐渐强大起来,在中国,EDA 技术的市场 已经变得越来越成熟。EDA 的技术已经逐渐向高密度、超高速、低功耗、低电压等方面 不断的向前发展。 1.2 硬件描述语言 VHDL EDA 技术可以用 VHDL、Verilog VHDL、System Verilog、System C 作为系统的描述 语 言 。 VHDL 的 英 文 全 称 是 VHSIC(Very High Speed Integrated Circuit Hardware Description Language),甚高速集成电路的硬件描述语言。 在 EDA 中, VHDL 综合就是把某些东西组合成为一个整体, 把设计抽象层中的一种表 达方式转化成为另外的一中表达方式的全过程,换句话说,综合也就是用行为和功能层 次表达电子系统转化为低层次的语言的过程。基于传统的电子设计的方法是自底向上, 而我们 EDA 设计的方式是自顶向下。首先是确定系统的最底层的电路模块,然后实际需 要的要求,将它们组合成更大的功能块,以使它们满足更高层次系统的需要,直到整个 系统的完成的设计过程。 1.3 FPGA 的结构与工作原理 现场可编程门阵列(FPGA)是一种可编程的逻辑器件,与传统的门阵列相比,FPGA 采用的是小型的查找表 LUT(Look Up Table)结构来实现组合逻辑功能,每一个查找表 都是连接到一个 D 触发器的输入端,就能够构成实现组合电路的逻辑功能,还能够实现 时序的逻辑功能单元模块。FPGA 的逻辑原理就是在内部存储单元中加载适合的编程数 据,在存储器单元中的不同的值就能够实现不同的逻辑功能,各模块间与输入输出端口 间的不同的连接,就可以决定 FPGA 的不同功能,其中 FPGA 包括可配置逻辑模块和输出 输入模块等这几个部分组成。
2

现在主流的 FPGA 都是通过查找表结构组成最小逻辑构成单元,将常用功能模块的 硬核整合在一起, 在很大程度上都超出了以前版本的基本性能。 FPGA 芯片主要是由可编 程的输入输出单元、 可编程的逻辑单元、 时钟管理单元、 丰富的布线资源、 嵌入式的 RAM、 内嵌的底层功能单元、内嵌专用硬件模块等七个模块构成 。FPGA 芯片采用的是高速 CMOS 工艺,可与 CMOS、TTL 电平进行兼容。 FPGA 设计的 ASIC(专用集成电路)开发周 期最短,风险最小,开发费用最低。FPGA 也可以做成其它全定制或者是半定制 ASIC 电 路的中样片,可以提高系统的集成度和可靠性。 FPGA 在芯片工作的时侯需要对片内的 RAM 区进行编程操作, 可以根据不同的配置模 式采用不同的编程方法。 在芯片上电的时候, FPGA 就能够将 EPROM 中的数据读入到片内 RAM 区中,配置完成以后,FPGA 就进入到了工作状态。当让芯片掉电以后,FPGA 的 RAM 区就变成了空白区域,清除了内部的逻辑关系,因此,FPGA 就可以反复的使用。FPGA 的编程只需要用 EPROM 或 PROM 编程器就可以进行编程操作, 而不需要用专用的 FPGA 编 程器。所以,当需要修改 FPGA 的功能时,只需要修改 EPROM 芯片就能够实现了。所以 同样的 FPGA 芯片,通过不同的编程数据就能够产生不同的功能电路,因此,FPGA 芯片 的使用就会变得非常的灵活和方便。 1.4 FPGA 的设计流程 1.4.1 设计输入与综合 FPGA 的设计输入包括图形输入和 VHDL 语言输入, 其中图形输入又分为原理图输入, 状态图输入和波形图的输入。状态图输入是根据电路的状态,用画图的方式在 FPGA 的 工具上绘出状态图,然后由编译器和综合器编译成电路网表。波形图是直接在输入框内 绘制时序波形图。原理图就类似于传统的电路原理图,是由逻辑器件和连接线构成。 综合是将电路图中的高级语言转化为低级的语言,它可以和 FPGA 的基本结构相映 射的程序或者是网表文件。通过综合,生成的网表文件就可以很好的阐释电路的结构。 它的功能就是文件的软件和硬件描述结合起来,成为相关的的一种联系。 1.4.2 适配与仿真 适配器在 FPGA 中也叫结构综合器,它是将综合过程中生成的网表文件通过指定的 目标器件,最终产生下载文件。在整个设计过程中,可以通过软件进行时序的仿真和电 路图功能的仿真,以方便我们检测设计的正确性。也是为了更好的在硬件电路下运行设 计的过程。 1.4.3 编程下载与硬件测试 在通过综合和适配后, 我们可以把生成的网表文件通过下载器下载到我们的硬件电
3
[3]

路中,以便进行硬件的调试和验证,最后通过下载器的程序下载,我们可以在硬件电路 中进行设计的测试,以验证设计的合理性,以及电路的不断完善。 1.5 Quartus II 软件的介绍 Quartus II 软件是 Altera 公司开发的一个基于 FPGA 或者 CPLD 的一个软件开 发环境,提供了一个完整的多平台的设计环境,能够同时满足很多的特定器件的 设计需要,也是单芯片可编程系统设计综合性环境的一种集成设计工具,并 为 Altera DSP 的开发提供了一个综合性的环境。启动 Quartus II 软件,出现如 图 1.5-1 所示的操作界面。

图 1.5-1

Quartus II 软件界面图

单击 FILE,选择 New project wizard 新建新的工程文件,我们就可以在工程 中编辑我们所需要的设计内容, 单击 NEXT,进入下一步, 编辑设计工程所放的位置, 以及设计工程的名字,如图 1.5-2 所示:

4

图 1.5-2

Quartus II 新建工程图

单击 NEXT,然后再单击 NEXT, 选择目标器件, 我们这里所用的是 EP2C5T144C8, 这里的 EP2C5 表示的是 Cyclone II 系列及器件的规模,如图 1.5-3 所示:

图 1.5-3

Quartus II 选择目标器件图 5

单击 NEXT 后,弹出的 EDA 工具的设置窗口, 如果不做选择就表示默认 Quartus II 自含的所有开发工具,然后再单击 NEXT,弹出工程设计统计窗口,显示所设置 的情况,最后再单击 FINISH,就设置好了一个工程文件。我们可以就可以在这个 环境下进行原理图的绘制或者 VHDL 语言的编写。

2 DSP 技术的概述
2.1 DSP 的概述 数字信号处理是把经典的理论作为依据, 将快速算法和各类滤波技术应用于不同的 研究领域,其中有图像技术,语音处理和音频处,信息的编码,信号的调制调解,一点 通信,智能控制等模块中,通过硬件实现是指采用 DSP 芯片,或者其他的微处理芯片构 建成应用系统去实现高速的数字信号处理任务。 DSP(Digital Signal Processor)是一种通过数字信号来处理大量的信息的一种 微处理器。工作原理是将模拟信号转换成为 0 或 1 的数字信号,然后再对数字信号进行 处理的一种过程 。DSP 不仅具有可编程性,而且它的速度能够达到每秒钟数以千万条 复杂指令的读取, 并超过一般的微处理器, 所以它是非常重要的一个数字信号处理芯片。 DSP 拥有强大数据处理能力和高运行的速度, DSP 微处理器通常具有以下几个特点: ★ DSP 在一个指令周期内可以进行一次加法和一次乘法。 ★ DSP 芯片内具有快速的 RAM,可以在不同的 RAM 中同时访问。 ★ 它的程序空间和数据空间是分开的,可以同时访问不同的指令和数据。 ★ 它有快速的中断服务程序和硬件输入输出端口的支持。 ★ 它可以并行的执行多个操作,提高系统的运行效率。 ★ 它支持流多水线操作,取指、译码、执行等在相同的时间可以同时执行。 2.2 DSP 的开发工具 DSP 芯片作为一种可编程的专用级芯片, 在数字信号处理过程中发挥了重要的作用, 在语音的处理和图像处理等方面得到了广泛的应用。 对程序设计人员来说, 通过 C 语言 或者汇编语言进行 DSP 的功能开发,它的开发周期长、效率也比较低,不利于程序的验 证和产品的快速开发。 TI 公司推出的用于开发的 DSP 芯片的环境是 CCS,可以实现编辑,编译,仿真, 硬 件电路调试等功能,支持汇编语言和 C 语言的混合式编程,很方便 DSP 芯片的编程, 是 一种使用很广泛的 DSP 开发工具。它有两种模式,一种是软件仿真模式,一种是在线编 程模式。CCS 开发环境如图 2.2-1 所示:
6
[4]

图 2.2-1

ccs 软件界面图

TI 公司的 CCS 集成开发环境可以为用户提供环境配置,源文件配置,程序的调试, 结果的仿真等工具,用户可以在这个环境下进行 DSP 的开发设计,它包括软件设计, 程 序编辑和编译连接,程序调试和结果分析这几个操作步骤,通过修改编程的错误和修改 程序设计的错误就能够很好的完成 CCS 的设计过程,CCS 集成开发环境设计的流程如图 2.2-2 所示:

修改程序设计错

软件设计

程序编辑和编译链接

程序调试

结果分析

修改编程错误

图 2.2-2

ccs 设计流程图

7

3

传统的 DSP 技术开发
3.1 DSP 的设计方法 DSP 技术是一种无处不在的技术, 应用在很多的电子产品、 汽车产品与电话产品中,

还应用在了越来越先进的设备中,如无线基站、指纹识别系统、雷达信号的处理等要求 具有极高的处理能力的产品中。高性能的 DSP 的应用推动了独立处理器的发展,系统性 能的提升,硬件解决的方案也在不断的向前发展 。 在实现数字信号处理的过程中,一般是根据任务的不同,分为软件设计和硬件电路 的设计,软件设计是指在计算机上通过软件仿真来研究某种算法,这种方法速度较慢, 无法实时的实现任务, 硬件电路实现是指通过采用专用的 DSP 芯片或者通用 DSP 芯片去 实现高速的数字信号的处理。DSP 系统通过如图 3.1-1 所示的设计结构:
[5]

传感器

预处理器

A/D 转 换

DSP

模拟输出

重建滤波

D/A 转 换

图 3.1-1

DSP 系统基本结构图

通过传感器将非物理量转换为模拟店信号, 预处理器一般包括放大器和滤波器两部 分,信号经过放大器的放大以后,变成具有一定幅值的模拟输入信号,而滤波器的作用 则是滤除模拟信号中的无用频率成分和噪声,避免采样后发生频率的失真,A/D 转换器 的任务是在采样频率下, 将模拟信号转换为数字信号。 DSP 是对数字信号进行某些算法, 如卷积,滤波,快速傅里叶变换(FFT)等。结果处理之后的数字信号在进行数字模拟 信号的转换,由于转换输出的模拟信号中含有许多的高频信号成分,因此还要通过重建 滤波器滤除高频信号,以获得平滑的模拟输出信号。 还需要在 DSP 系统中配置人机接口,存储器,测试接口,通信接口,测试接口等。 开发者不需要在外面接很多的器件就能够组成独立的应用系统,DSP 芯片具有很强的扩 展接口功能,可无缝连接片外存储器,由于 DSP 芯片具有高速的数字信号处理能力, 又 有强大的嵌入式接口能力,所以在嵌入式的领域中获得了广泛的应用 。通用 DSP 的片 内结构如图 3.1-2 所示:
8
[6]

主机接口

系统时钟

Bootloader

串行接口 DSP CPU 内核

JTAT

电源控制

程序存储器

外部存储器

定时/计数器

数据存储器

图 3.1-2

DSP 片内硬件结构图

早期的 DSP 主要应用在军事等高技术领域,后来 DSP 逐渐用在了数字通信领域, 如 数字移动手机,调制调解器,多媒体网关等,大大推进了数字网络化的发展。随后,DSP 渐渐用在工业领域上面,如工业控制等。现在,DSP 已经成为了数字音频和视频,宽带 连接的新的应用平台上面,在信息化社会的发展中起到了举足轻重的作用。DSP 系统的 设计步骤如图 3.1-3 所示:

根据设计需要确定设计目标

算法研究和系统模拟确定系统的技术指标

硬件设计

选择合适的 DSP 芯片

软件编

硬件调试 系统集成和测

软件调试

图 3.1-3

DSP 系统设计

9

3.2 DSP 最小系统的硬件设计 DSP 硬件电路的设计是 DSP 开发的基础,DSP 芯片内部有 CPU,存储器,外设接口, 如果构成一个最小的 DSP 系统还需要电源电路,JTAT 接口电路,复位电路,时钟电路等 这几部分。 在实际的应用中还需要扩展通信接口, 输入输出接口或者人机交互式接口等。 DSP 最小系统的功能及其有限,但是也是 DSP 硬件电路设计中最重要的一个步骤,因为 所以的设计都是从最小系统的设计开始的,DSP 最小系统的设计与 DSP 芯片的关系相当 的密切,与具体的应用没有太直接的关系,相同型号的 DSP 的最小系统都是一样的, 具 有良好的可移植性。

4 基于 FPGA 的 DSP 开发技术
4.1 IP 核的概述 IP 核(Intellectual Property core)是一种具有特殊电路功能的硬件描述语言, 它可以移植到不同的半导体中去生产集成电路的一种专用芯片。IP 核分为软 IP,硬 IP 和固 IP。 软 IP 就是用 VHDL 等硬件描述语言描述的功能模块, 并没有涉及用什么的具体电路 元件实现这些功能模块。软 IP 是以硬件描述语言 HDL 源文件的表现形式,软 IP 的设计 周期时间短,设计投入的资金少。由于没有涉及物理的实现,为以后的设计留有很大的 空间,增加了 IP 核的灵活性和适应性。它的主要缺点就是在一定条件上使后续工序无 法适应整体的设计,而需要在一定程度的软 IP 核进行修正,在性能上也就不可能获得 全面的系统优化。硬 IP 提供设计阶段最终阶段的产品:掩模。随着设计深度的提高, 后续工作需要做的事情越来越少,当然,系统的灵活性也就变得越来越小,不同的客户 根据自己的需求订购不同的 IP 产品。固核则是软核和硬核的折衷,它是完成了综合的 功能块。它有很大的设计深度,以网表文件的形式提交客户使用 。如果客户与固 IP 使用一个 IC 生产线的单元库,IP 应用的成功率会高很多。 当 IP 核开始普遍使用的时候,提供该 IP 核的支持是必要的。核基的设计是 由核(MCU、RAM 等)和用户自己定义的逻辑电路两个部分组成。根据系统设计的 要求,将这些功能模块连在一起就可以完成芯片的设计。选择合适的核主要是从 核的功能、性能可靠性、实现技术等几个方面来选择的,设计核还需要具有核的 基本功能的描述文件, 如:用于描述核的功能,时序要求,设计实现,设计验证 等文件, 还要有用于验证逻辑功能正确性的仿真模型。IP 核设计的输入语言一般 是采用 VHDL 语言或者 Verilog VHDL 语言,当完成仿真模型后就可以进行功能的
10
[2]

仿真,完成功能的仿真以后就可以进行逻辑电路的综合。软核的综合和逻辑要加 上合理的时序约束,完成设计输入后就进入了设计实现阶段,将这些设计文件一 起输入给 FPGA 的布局布线工具, 就可以完成 FPGA 的最后实现。随之 FPGA 的硬 件技术的不断发展 , 硬件资源变得越来越丰富 , 速度也变得越来越快 ,软核资源 的利用率和工作速度也得到了很大的提高,因此,软核在核基设计中的作用将变 得越来越大。 通过这种方法,就可以设计出具有 DSP 功能的 IP 核。如:FFT,IIR,FIR, CODEC 等等,利用相关的工具,比如:DSP Builder,就可以将这些具有 DSP 功能的 IP 核添加到 FPGA 芯片中去,从而,通过 FPGA 芯片就能够实现 DSP 的功能。用户 可以通过硬件描述语言来定制适合设计需求的 IP 核,也可以通过调用其他的 IP 核来实现 DSP 的功能。在一个 FPGA 上定制 DSP 模块和 MCU 处理器,SOPC 技术可以 将 DSP,FPGA,MCU 完美的结合,如果 4.1-1 所示:

FFT

FFT

FFT

FFT

NIOS II (MCU)

总线

用户自定义模块 1

用户自定义模块 2

图 4.1-1

DSP Builer 结构图

4.2 基于 FPGA 的 DSP 设计方案 在选择数字信号处理系统核心部分的方案时,需要考虑充分利用已有软件、硬件资 源,还需要考虑到系统的工作时钟速率,系统的取样速率,系统的数据率,系统的条件 操作等。FPGA 可以为需要 DSP 功能的复杂应用提供低成本的,快速有效的解决方案。 可 以通过采用知识产权核(IP)进行设计,采用硬件描述语言(HDL)的传统方法进行设计, 使用一些工具把 C 语言直接编译到硬件中去等方法。 在一些设计中,有一些应用要求性能可能需要再进一步的提升,而采用其他方法不 能达到要求的,通过 FPGA 就可以提供更高的性能。如:FPGA 可以生成一个定制的硬件 设计,它的控制逻辑能够在硬件中实现,不需要用精确的时钟周期来实现系统的控制。
11

现在,用 FPGA 来实现 DSP 功能最常见的就是关于视频处理方面的应用。 现在市场上有许多的关于 FPGA 设计软件,每种软件有不同的应用场合,创建 FPGA 的设计也有相当多的方法。可以使用 IP 核来进行设计,由于内核已经是设计好的并且 经过优化处理的,专家在设计内核的时候就已经对系统的应用和 FPGA 的架构采用了最 佳的方式,它能够提供最优化的的结果。在市场上还有一些工具的生产商和 FPGA 生产 商提供传统的 DSP 系统设计软件(如 Matlab 软件)来实现内核的设计,这种方式就比较 复杂。在网上有很多常见的内核对用户是免费的,如 FIR 滤波器和乘法器,还有一些内 核需要付费。如果设计人员不能找到一个合适系统设计的内核,就必须通过 HDL 语言来 进行系统的硬件设计,定制一个适合系统设计的 IP 核。 4.3 基于 FPGA 的 DSP 研究方案 在 DSP 的发展过程中,系统的设计者所面临的挑战是如何采用多个处理器达到更 高的处理能力,满足性能的不断提高。在协调多个处理器的功能的时候,系统设计就会 变得相当的困难。当出现第一种能够实现 DSP 的 FPGA 时,DSP 设计者就开始用 FPGA 来 提升处理器的能力。因为 FPGA 可以通过改进 DSP 算法的关键部分,弥补处理器的不足。 所以基于 DSP 的 FPGA 技术比其它方案具有更高的性能优势。 随着不断强大的硬件能力的提升,设计者面临的是如何更有效实现这些基于 FPGA 的 DSP 开发技术研究的问题。对基于 FPGA 的 DSP 开发技术研究来说,快速设计与自动 化技术相结合,就能够提供不同的算法。如系统的性能优先于面积的应用,需要数百个 乘法器的实现方案,但是会消耗大量硅片面积,但是会提升系统的性能要求。对面积更 敏感的应用来说,会采用性能较低和数量较少的乘法器来实现方案,以得到面积更小的 算法。高效的 DSP 开发的关键因素是需要构建合适的 IP 核,最主要的要求是可移植性 和可扩展性。可扩展性就是使设计者不放弃效率的前提下就能够构实现 IP 核功能,可 移植性是在不需要进行修改的情况下就可以在任何的 FPGA 产品上运行。 最新发展的设计技术为解决 DSP 的挑战提供了最有效地解决方案。Mathworks 公司 开发的 Simulink 是一种基于数学模型的系统设计工具,它可以提供功能强大的建模与 仿真功能。对于 FPGA 的设计来讲 DSP 综合是一种关键技术。将 DSP 综合与 Simulink 一 起使用,就可以将系统的架构与硬件的设计结合到一起。DSP 的综合,Simulink 软件功 能的完善,可移植库的创新是改进 DSP 设计的关键。在允许进行资源共享的时候,有些 时候以牺牲某些性能为代价换取资源利用上的改进, 这种技术将会使系统的性能得到显 著的提升。 FPGA 芯片中有很多门电路,将这些门结合起来就会形成乘法器、寄存器、地址发生
12

器等。可以从简单的门到 FIR(有限冲激响应)或着是 FFT(快速傅里叶变换)等更高级别 的门来完成。 FPGA 中有大量的实现组合逻辑的资源, 可完成较大规模的组合逻辑电路的 设计,FPGA 中还有很多的触发器等资源,就又能够完成复杂的时序逻辑功能。在 EDA 开发工具下,设计者们就可以在 FPGA 中实现复杂的电路。许多的 FPGA 芯片都可以无限 的重新编程,通过重新配置芯片就可以减少开销。 4.4 基于 FPGA 的 DSP 开发技术 基于 FPGA 的 DSP 结构最大的特点就是结构灵活,适于模块化设计,有较强的通用 性,开发周期也较短,系统易于维护和易于扩展。例如,在一个基于 FPGA 的 DSP 结构 中实现数字信号的处理,底层信号处理的数据量大,处理速度的要求较高,但是运算结 构相对简单,用 FPGA 进行系统的硬件设计就可以同时兼顾速度和灵活性。高层信号的 处理数据量较少,算法控制结构复杂,就可以用运算速度高和寻址方式灵活的 DSP 芯片 来进行系统的设计。 FPGA 可以完成模块化的设计, 具有了很高的灵活性和专用集成电路 的速度。DSP 具有软件的灵活性,FPGA 有硬件的高速性,从系统的设计上,就能够满足 处理复杂算法的要求,根据不同的应用场合,设计者需要选择不同的设计方法。 FPGA 可以内部实现累加器,加法器,乘法器,ALU,FIFO,SRAM,FFT,PWM,DDR 等数字电路,要实现一个硬件功能模块仅仅通过 HDL 语言就能够实现。目前 FPGA 都可 以直接在内部嵌入 ARM7,C8051,CoretexM1 等微处理器,也有一些 FPGA 的厂商将一些 硬件模块直接做到 FPGA 芯片中去,就可以构成 FPGA 内部的硬核。DSP 最核心工作的是 对算法进行处理,内部主要是由加法器和乘法器之类的资源组成,内部的资源都可以直 接使用, 根据系统设计的不同需要而进行不同的配置。 FPGA 基本上能够实现传统的数字 功能模块,以及特定的需求的数字处理模块。任何数字功能电路的实现,高速信号的处 理能力,控制信号处理能力都可以通过数字信号处理进行完成。另外用 FPGA 实现 ASIC 的设计验证,用 FPGA 实现 DSP 的功能,如内存控制器,VGA 控制,数据的编码和解码, 上 Gbps 信号的处理等都是 DSP 难以胜任的。 将能够实现基本的数字信号处理功能的 DSP 模块嵌入到 FPGA 芯片中,是数字信号 处理电路设计的另一种设计方法。有些生产商已经把基于 ASIC 的微处理器或者 DSP 与 可编程逻辑阵列集成集成在了一块芯片上, FPGA 提供的 DSP 性能远高于传统 DSP 的性能。 我们可以估计在不久的将来,单一的 DSP 或者是 FPGA 实现的数字化系统会被基于 FPGA 的 DSP 的结构和嵌入 DSP 模块的 FPGA 结构所取代。

13

5 基于 FPGA 的 DSP 的优点
5.1 基于 FPGA 的 DSP 技术发展的优势 FPGA 在功耗、成本、架构上有很大的优势,为其在原先很多未进入的新兴市场打开 了局面,而这些市场恰恰是通用 DSP 技术已经占据的市场。Xilinx 公司,Altera 公司 和 Lattice 公司推出的多款芯片都打破了 FPGA 的旧标准,在消费类,通信类,嵌入式 领域,这些 FPGA 芯片开始行具有了 DSP 的功能。这种架构具有 DSP 滤波器功能和复杂 的算术功能,不仅降低了系统的功耗,还可以提升系统的性能,高效率地利用了 FPGA 的片上资源。 虽然说 FPGA 与 DSP 之争闹得是沸沸扬扬,但是从 FPGA 厂家不断推出的产品中, 可 以看到了 FPGA 技术的进步带来的价值和广阔的市场应用空间。 但更多的业内专家认为, FPGA 和 DSP 之间是互补和并存关系,只有将 FPGA 和 DSP 结合在一起才会是一个最优化 的系统解决方案。FPGA 的发展填补了对高性能 DSP 的需求,采用基于 FPGA 的 DSP 解决 方案, FPGA 系统设计者就可以设计出高度并行的架构, 它可支持与时钟频率一样的采样 速率,就可以处理极高的计算工作量。 FPGA 的可重配置等特点就能够让设计者快速的构建和修改设计的架构。FPGA 开发 环境还支持集成其它组件,因此可以降低系统的成本和系统的功耗。与传统的 DSP 器件 相比, FPGA 能够提供一个高达几个数量级的性能优势, 这就是 DSP 芯片所不具有的特点, 预计,基于 FPGA 的 DSP 开发技术将会得到飞速的发展。 5.2 基于 FPGA 的 DSP 技术应用的优势 在图像处理和数据通信等需要很强大的处理能力的应用环境中, 当最快的数字信号 处理器还不能够达到速度要求的时候,唯一的办法就是通过增加处理器的数目这个渠 道,或者采用客户定制的门阵列这个方法。而现在,系统的设计人员们有了一个新的选 择,就是采用现场可编程门阵列来完成系统的设计。采用现场可编程器件不仅可以缩短 产品的上市时间,还可以满足设计所需要的性能,成本,尺寸等要求,并提供系统级的 技术支持。 现在 FPGA 芯片开始考虑到成本竞争力, 优选的 FPGA 方案可以用来处理计算量复杂 的高端 DSP 算法,还可以提供复杂的可编程的逻辑解决方案的灵活性特点,以及定制门 阵列解决方案的系统的高集成度和系统的高性能等特点。 而增强 DSP 处理能力的方法是 采用多个处理器,这类方案的缺点就是成本很高,功耗也很大,开发和调试周期也会大 大推迟产品上市的时间。定制门阵列和标准单元方案可以提供强大的 DSP 处理能力, 而 这种方案是以损失系统的灵活性为代价,还需要很昂贵的成本。
14

FPGA 与传统的逻辑电路和门阵列不同,FPGA 是利用查找表来实现组合逻辑。每一 个查找表都连接到 D 触发器的输入器,再由触发器来驱动其它逻辑,或者驱动输入输出 端口。 FPGA 的逻辑是通过向存储器单元加载配置数据来实现的, 逻辑单元的逻辑功能和 模块间的连接是由存储在存储器单元中的数值决定的,还可以最终决定 FPGA 实现的功 能。这种结构下,FPGA 允许无限次的重复编程 。FPGA 还具有可扩展性等优点,FPGA 产品本身性能的提高超过了最终产品要求的复杂性。 通信领域的设计人员都很清楚及时 推出产品是产品设计的原则。如果能够达到成本要求,达到所需要的性能,可以加快上 市时间将具有重要的优势。 与专用的集成电路相比,FPGA 可使产品的上市时间更快,投资风险更小。FPGA 库 中的 IP 核不断增加,有很多的 IP 核随时都可以使用,所以设计人员可以利用 IP 核来 解决方案,这种方案所需要的时间要短得多。加快 FPGA 的实现和编程的一个重要的方 法就是采用知识产权。 很多标准的 DSP 功能都在 Xilinx 的库中通过可参数配置的 IP 核 来实现,包括正弦/余弦表、离散傅里叶变换、积分器、乘法器、平方根电路、有限脉 冲响应滤波器、 快速傅里叶变换、 离散余弦变换等。 核的使用促进了设计的再次利用, IP 同时也可以在生产周期中可节约很宝贵的时间。FPGA 的生产厂商和 ASIC 的生产厂商正 在密切的协作,争取使得设计的再利用变得更加的容易。 与传统的数据处理方法不同的是,DSP 采用了高度流水线化的并行操作技术。FPGA 具有成千上万的触发器和查找表,所以 FPGA 可以以更低的成本达到比通用的 DSP 更快 的速度。目前市场的两百万门的 FPGA 可以达到每秒钟 1280 亿 MAC 的性能,比目前市场 上最快的 DSP 的性能还要高出一个数量级。对于多 DSP 处理器的解决方案,需要较大的 功率才能驱动多个处理器, 而且成本也是相当的高。 FPGA 则可以创建具有定制数据通道 的处理器,在较低的时钟频率下可以达到较高的性能,而且这种 FPGA 方案可以大大减 小系统的功耗。 虽然 FPGA 的可编程性带来了明显的灵活性,但是也需要编程技巧。FPGA 生产商通 过不断改进流程,开发专门的设计软件,和第三方软件供应商建立良好的合作关系, 简 化了编程的过程,提供了最大的灵活性。目前系统的设计人员可以采用自动化的工具来 完成设计 FPGA, 采用这种方法, 软件可以自动的将模块转换成相应的 FPGA 的 DSP 核心。 为了更加的简化 FPGA 的设计流程,设计人员可以用系统生成器工具快速的建立和验证 一个 DSP 的系统,软件会自动的生成一个 HDL 表格,然后再构建相应的模块。 由于 FPGA 具有很大的灵活性、性能较强大、设计方法较简单等优势,在很多 DSP 的应用领域,如 FPGA 成为了数字通信和视频处理优选的解决方案。通过 FPGA 这种解决
15
[8]

方案, 不需要添加额外的资源就能够改变数据的处理速率, FPGA 不仅能够提供良好的滤 波器设计,还能够完成 DSP 的高级数据处理的功能。它可以充分的发挥 FPGA 中 DSP 核 所具有的优点,使得系统的设计可以缩短很长的设计周期。采用这种 FPGA 技术,还可 以获得高性能的,满足成本要求的,和享有快速有效地,对新的设计进行系统优化的灵 活性等优势。 在我们的实际应用中,以满足客户的需求为目的,任何的技术都有很多的方法可以 实现数字信号处理的算法, 但是它可能会受到系统硬件的影响。 当目标的设计是一个 DSP 硬件平台时,实现方法首先选择系统最合适的硬件器件,然后再确定最适合这种器件的 设计方法。在可以配置的 DSP 的硬件平台上,数字信号处理器 DSP 以主处理单元身份控 制 FPGA 的实现, FPGA 则是以协处理器或者是预处理器身份实现。 而 FPGA 的最佳使用方 法取决于系统数据的速率,格式,参数等。在设计方案中,设计者们可以充分利用 FPGA 和 DSP 的结合去创建更多领域中的应用。

6 基于 DSP Builder 的数字信号处理器设计
6.1 DSP Builder 的设计流程 DSP Builder 是一个系统级的设计工具,同时,DSP Builder 把系统级和 RTL 级(硬件实现)的设计工具组合在一起,使算法开发到硬件的实现可以很好的相 联系 。使 用 Matlab 软件 和 DSP Builder 进行 DSP 系统 的开 发, 首先 必须 要安 装 Matlab 软件和 DSP Builder 软件。利用 DSP Builder,设计者可以通过 simnlink 的图形化界面实现宏观模块的调用,它提供了 Quarutus II 软件和 MATLAB 工具之 间的接口连接,具有以下特性: ★ 用于连接 MATLAB 和 Quarutus II 软件环境。 ★ 支持 SignaltapII 嵌入式逻辑分析功能。 ★ 包含 PLL 时钟模块。 ★ 支持 Altera 的 DSP 核。 ★ 自动调用 VHDL 综合器和 Quartus II 软件的编译器。 DSP Builder 的设计包括两套个流程:一个是自动流程,一个是手动流程。 如 图 6.1-1 所示:

16

图 6.1-1

DSP Builder 设计流程图

在 Matlab 软件和 Simulink 中进行设计的输入, 首先要在 Matlab/Simulink 中建立 一个模型文件,然后通过图形方式调用 DSP Builder 和其它的 Simulink 库中的模块, 就可以构成系统级或者算法级的设计框图。利用 Simulink 的图形化仿真、分析功能就 可以分析该设计模型的正确性。就能够完成模型的仿真。 通过 Signal Compiler 工具把 Simulink 的模型文件转化成为硬件描述语言文件, 需要 DSP Builder 中的 Signal Compiler 模块用于完成模型文件到硬件描述语言文件的 转换,转换之后的 HDL 文件是 RTL 级的。当执行 RTL 级的仿真,DSP Builder 就支持自 动流程的 ModelSim 仿真。用户也可以通过 VHDL 文件使用其它的仿真工具软件,通过手 动地方式进行仿真。使用 Signal Compiler 产生的 VHDL 文件进行 RTL 级的综合以及网 表产生和适配等相关的处理。DSP Builder 工具支持自动流程,手动流程这两种方式: 自动流程中可以通过 DSP Builder 自动调用 Quartus II 软件来完成相应的操作;手动 模式允许用户选择相应的软件来完成相应的操作,手动模式提供了更大的灵活性。
17

在 Quartus II 软件中编译所做的设计,最后将设计下载,进行仿真测试。通过测 试设计就可单独执行相应的 DSP 的功能。如果 DSP Builder 产生的 DSP 模型只是一个子 模块,那么就可以调用 DSP Builder 产生的 VHDL 文件,以方便下一步的设计。 6.2 正弦发生器模块的设计 6.2.1 正弦波的硬件电路的设计 设计一个简单的正弦波发生器, 主要由四个部分构成: IncCount 是一个阶梯信号发 生模块,可以产生一个按时钟信号线性递增的地址信号,送往 SinLUT 模块。SinLUT 模 块是一个正弦函数值的查找表模块,通过地址的递增可以获得正弦波的离散值的输出。 由 SinLUT 模块输出的一个 8 位正弦波数据经过一个延时模块 Delay 后,送往 Product 乘法模块,与 SinCtrl 模块相乘,SinCtrl 模块是一位信号的输入,SinCtrl 模块可以 通过 Product 模块完成对正弦波输出信号有无的控制。 SinOut 是模块整个正弦波发生器 模块的输出部分,送往数模转换器就可以获得正弦波的模拟输出信号。正弦波信号发生 器的流程图如图 6.2.1-1 所示:

图 6.2.1-1

正弦波发生器设计流程图

运 行 Matlab 软 件 , Matlab 的 主 窗 口 由 Command Window 、 Command History 和 Workspace3 个部分构成。在建立一个新的设计模型前,需要建立一个新的文件夹,作为 工作目录,用来保存相应的设计。在工作目录中可以在命令窗口中使用 Matlab 命令, 也可以在 Current Directory 窗口中使用 Matlab 命令。在命令窗口中,启动 Matlab 图形化仿真工具 Simulink,就会出现一个 Simulink Library Browser 的窗口,在窗口 的左侧就是 Simulink Library 列表,右侧窗口显示的是被选中库中的组件和子模块列 表。可以在 Simulink 库列表中找到 Altera DSP Builder 的库出现在该列表中。
18

选择菜单栏的 File 菜单,然后单击 new,在弹出的子菜单中选择 Model,就出现了 一个未命名的模型窗口。单击 Simulink 库列表中的 Altera DSP ,再单击 Altlab,就 可以展开相关的文件。选中右侧窗口中的 Signal Compiler,按住鼠标左键就可以拖放 到新模型的窗口中。所以 Signal Compiler 是进行任何 DSP 系统设计必须要添加的一个 模块。Increment Decrement 模块是 DSP Builder 库中 Arithmetic 子库中的一个模块, 可以按照添加 Signal Compiler 的方法将 Increment Decrement 模块添加到模型文件中。 In Count 模块属性图如图 6.2.1-2 所示:

图 6.2.1-2 INC COUNT 模块属性图

添加正弦查找表,在 Altera DSP Builder 的库中找到查找表模块 LUT,把 LUT 添加 到新建模型窗口,并将 LUT 模块的名字重新命名为 SinLUT。再双击 SInLUT 模块,打开 对话框“Block Parameters: SinLUT”。把输出位宽设置为 8 位;查找表地址设置为 6 位;总线的数据类型设置为有符号整数 Signed Integer;在 Matlab Array 的框中输入 计算式 127*sin([0:2*pi/2^6:2*pi])。SinLUT 模块属性图如图 6.2.1-3 所示:

19

图 6.2.1-3

SINLUT 模块属性图

上面的计算式 SinLUT 是一个输入的地址为 6 位,输出值的位宽为 8 位的正弦查找 表模块,输入地址总线是有符号数,并设置起始值为 0,结束值为 2 。 127*sin([0:2*pi/2^6:2*pi])的数值范围是-127~+127, 8 位二进制数可表示的最大 是 值,所以 8 位的位宽就可以表示相应的正弦波形。在 Altera DSP Builder 的库中,选 中 Storage 子库下的一个叫 Delay 的模块, 添加到新建模型窗口中。 如图 6.2.1-4 所示:

图 6.2.1-4

DELAY 模块属性图 20

在 Delay 模块的参数设置菜单中,参数 Depth 是一个描述信号延时深度的参数。 当 Depth 的值为 1 的时候,模块的传输函数为 1/Z,通过 Delay 模块的信号就被延长了一 个时钟周期;当 Depth 的值为整数 N 时,它的传输函数为 1/ZN,通过 Delay 模块的信 号就会被延长 N 个时钟周期。Clock Phase Selection 主要是控制采样周期的,当设置 的值为 1,表示 Delay 模块处于使能状态。如果设置的值为 10,则表示每隔一个脉冲才 处于使能状态。在 Altera DSP Builder 库中选择 IO BUS 子库,找到 AltBus 这个模块, 添加到新建模型窗口之中。可以把 AltBus 模块的名字重新命名为 SinCtrl。双击 SinCtrl 模块, 打开参数设置的对话窗。 SInCtrl 的 Bus Type 的参数设置为 Single Bit, 将 将 Node Type 的参数设置为 Input Port,如图 6.2.1-5 所示:

图 6.2.1-5

altbus 模块属性图

在 Altera DSP Builder 的库中选择 Arithmetic 子库,找到一个叫做 Product 的模 块。将它添加到新建模型窗口中,Product 模块中有两个输出,一个是经过 Delay 模块 的 SinLUT 输出, 另外一个是 SinCtrl 一位端口, Product 模块可以实现 SinCtrl 对 SinLUT 查找表输出的控制。在 Altera DSP Builder 这个库中,选择 IO BUS 子库,找到 AltBus 模块, 再添加到信件模型窗口中, AltBus 的名字重新改为 Out, 的属性如图 6.2.1-5 把 OUT 所示:

21

图 6.2.1-6

out 属性图

Out 是一个 8 位的输出端口, 它连接到 FPGA 的输出引脚上, 与片外的 8 位数模转换 器相连接,数模转换模块就将数字信号转化成为相应的模拟信号。双击 Out 模块,打开 对话框,将 Out 的 Bus Type 设置为 Signed Integer, Node Type 设置为 Output Port, 再单击 Apply,将 Number of bits 的值修改为 8。将新建模型中的 DSP Builder 模块连 起来后,就完成了一个正弦波发生器的 DSP Builder 模型的设计。 6.2.2 Simulink 模型仿真电路的设计 Matlab 软件中的 Simulink 环境有强大的图形化仿真功能。用 DSP Builder 模块设 计好的模型就可以在 simulink 环境中进行算法级、系统级的仿真。在我们的设计中先 加入一个 step(阶跃模块),用来实现模拟 SinCtrl 的使能功能。在 simulink 的基本 库中,选择 Source 子库,把 Step 模块添加到 Sinout 窗口中,然后把它和 SinCtrl 的 输入端口连在一起。当双击这个模块,打开的就是一个 Scope 窗口,可以添加多个观察 记录信号,也可以修改 Scope 的参数,就可以实现 Scope 模块中的观察窗口数。用鼠标 单击 Scope 模块窗口上侧工具栏的 Parameters 按钮,就会弹出了一个参数设置的对话 框,通过对话框就可以设置相应的参数,SCOPE 的属性框图如图 6.2.2-1 所示:

22

图 6.2.2-1 scope 属性图

在 Scope 的参数设置的对话框中将 General 中的 Number of axes 设置为 2。单击 OK 后, 就可以看到 Scope 窗口中出现了两个波形的观察窗。 每一个观察窗都可以输出不 同的信号波形。设置模型的仿真激励,在 SinOut 模型中,只有一个输入端口 SinCtrl 需要设置 Step 模块,需要将输入端口 SinCtrl 施加激励,如图 6.2.2-2 所示:

图 6.2.2-2 step 属性图 23

在 SinOut 模型的窗口中,单击 Simulation 菜单下的 Start,就可以进行仿真了。 当仿真结束以后,打开 Scope 观察窗就可以看到仿真的结果。 6.2.3 使用 Signal Compiler 进行硬件的设计 在 Matlab 软件中完成仿真以后,就需要把设计转换到相应的硬件上进行实现。通 过 DSP Builder 就可以获得 HDL 代码。当双击 SinOut 模型中的 Signal Compiler 就能 够启动 DSP Builder,单击 Analyze,Signal Compiler 就会对模型进行一定的分析, 检 查模型是否正确。 Signal Compiler 这个窗口中, 在 需要进行一些设置。 Signal Compiler 窗口是由 Project Setting Options、Hardware Compilation、和 Messages 这三个部分 组成的,如图 6.2.3-1 所示:

图 6.2.3-1

signalcompiler 属性图

在 Device 的下拉选择框中选择目标器件的系列,在 Synthesis 下拉选择框中选择 综合器。Altera 公司的 Quartus II 是 FPGA/CPLD 的集成开发工具,它的内部有综合这 个功能。在 Optimization 下拉选择框,可以设置在综合和适配过程中的优化策略。 然后我们需要把模型文件 Mdl 转化成为相应的 VHDL 文件, 点击 Convert MDL to VHDL 的这个图标,就可以执行 mdl 模型文件到 VHDL 文件的转换。执行综合过程,将综合后 生成 Atom Netlist 文件可以在适配过程使用。调用 Quartus II 的编译适配功能,就会 生成 pof 和 sof 这两种编程文件。
24

6.2.4 使用 Quartus II 进行时序的仿真 ModelSim 软件只是能够实现所设计电路的功能仿真, 但是不能够反映出电路硬件的 实际情况。为了使设计与实际电路更加真实,我们很有必要进行时序的仿真。 Signal Compiler 已经生成了用于时序仿真的 sinout.vec 激励文件和 sinout_quartus.tcl 仿真 文件,就可以在 quartus II 软件中实现时序的仿真了。首先是启动 quartus II 软件, 然后单击 File 菜单的 Open Project…,选择 sinout.vhd 文件。在 Signal Compiler 中的编译过程中,将器件设置为 Cyclone II 系列,单击 Assignments 菜单的 Device…, 选择 EP2C35F672C8 这个目标芯片。 再单击 Processing 菜单的 Start Compilation, 就 可以对 sinout.vhd 文件进行相关的编译。当编译完成以后,单击 Processing 菜单的 Start Simulation,就能够启动时序的仿真。就可以显示下面这个仿真结果,如 图 6.2.4-1 所示:

图 6.2.4-1

仿真波形图

我们可以通过观察仿真波形来检查设计是否满足我们的要求。还可以运行 Time Quest Timing Analyzer,生成一份时序分析报告,就能够得到时序仿真的数据。 DSP 技术应用在很多的领域, 但是传统的数字信号处理器是以顺序方式工作使数据处理的速 度比较的低,而且在功能重构上和应用目标的修改上缺乏一定的灵活性。通过使用具有

25

并行方式处理特性的 FPGA 实现数字信号的处理系统,具有很强的灵活性和实时性,所 以利用 FPGA 的技术实现数字信号处理已经成为了数字信号处理领域里面一种新的趋势。 基于 FPGA 的数字信号处理系统的模型和算法通常采用的是 VHDL 语言或者是 Verilog HDL 等硬件描述语言。但是这些硬件描述语言通常是比较复杂的,如果采用 Altera 公司推出的专门针对数字信号处理器设计的 DSP BuildIer 工具就可以简化设计 的过程,提高设计的效率,也能够更方便的完成设计。 通过上面的设计过程,我们可以知道基于 Matlab、DSP Builder、Simulink、 OuartusⅡ等开发工具, 可以帮助我们更快捷的完成基于 FPGA 的数字信号处理系统的设 计。当我们使用相对独立功能的电路模块进行模块化的设计,能够避免复杂的 VHDL 语 言的编程。设计者们只需要对 DSP Builder 模块库中相应的模块的基本参数进行一定的 设置,极大缩短了设计开发的周期。而且随着技术的不断的发展,FPGA 的性能将会变得 越来越高,价格也会逐渐的降低,芯片的处理速度能力将会变得更快,片内的资源也将 会变得更大,这就会给 FPGA 在数字信号处理领域的应用提供了更加广阔的空间。基于 FPGA 的 DSP 开发技术的研究也将会不断的深入,科技在进步,社会在发展,我们期待着 这个新的领域蓬勃的向前发展。

7 结束语
首先,衷心的感谢我的导师 XXX 老师对我的的悉心指导。在大学期间,是 X 老师带 着我走进了 EDA 这个领域,让我对 FPGA 这个行业充满浓厚的兴趣与爱好。在学习上, X 老师一直是严格要求我们,希望我们能够学好理论知识,也能够掌握扎实的动手技能; 在生活上,X 老师很关心我们的成长,也时刻鼓励着我不断着探索新的知识,学习新的 技能,度过了一个充实与完美的大学生活。 这次的毕业设计,是 X 老师给我指出了方向,让我分析了传统的 DSP 的开发技术和 基于 FPGA 的 DSP 的开发技术之间的不同,学会了基于后者的一个开发过程的研究,以 及了解了 DSP 这个领域不断向前发展的一个方向。在设计的撰写过程中,X 老师一次一 次不厌其烦的指导我设计的修改,不断的完善,让我及时的完成了这次设计的写作。 X 老师对事业的执着追求,诲人不倦的育人风格给我留下了及其深刻的印象,X 老师的那 种孜孜不倦的精神也时刻激励着我不断的向前发展。 在此,我要向尊敬的学院领导和一直带着我走过大学四年生活学习的老师们致以最 诚挚的谢意!并衷心的感谢指导、帮助和鼓励我完成大学学业的老师和同学们!祝愿敬 爱的老师们身体健康、工作顺利,亲爱的同学们前程似锦、一帆风顺!
26


相关文档

第7章 基于FPGA的DSP开发设计
基于FPGA的DSP开发技术
基于FPGA的DSP开发技术的研究
基于DSP和FPGA的图像处理系统设计毕业设计
第五章 基于FPGA的DSP开发技术
第5章 基于FPGA的DSP开发技术
第7章 基于FPGA的DSP开发
第 五讲 基于FPGA的DSP开发技术
ARM+DSP+FPGA设计开发技术讲座
第5章 基于FPGA的DSP开发(一)
电脑版