PowerPoint ????

Shared by: 0l2Mu8eZ
Categories
Tags
-
Stats
views:
3
posted:
6/7/2012
language:
Chinese
pages:
95
Document Sample
scope of work template
							第1章   概述



              第1章 概述


           1.1 DSP实现方案及设计流程
           1.2 现代DSP设计流程概述
           1.3 两类DSP解决方案的比较
第1章   概述



       1.1 DSP实现方案及设计流程

      不断发展的数字信号处理(DSP,Digital Signal
Processing)技术迅速地扩展到了其应用领域,如3 G移
动通信、网络会议、多媒体系统、雷达卫星系统、医
学仪器、实时图像识别与处理、联合战术无线电系统、
智能基站,以及民用电器等。所有这一切在功能实现、
性能指标与成本方面都在不断增加其要求。
第1章   概述

   在过去很长一段时间,DSP处理器(如TI的
TMS320系列)是DSP应用系统核心器件的惟一选择。尽
管DSP处理器具有通过软件设计能适用于实现不同功
能的灵活性,但面对当今迅速变化的DSP应用市场,
特别是面对现代通信技术的发展,DSP处理器早已显
得力不从心。例如其硬件结构的不可变性导致了其总
线的不可改变性,而固定的数据总线宽度,已成为
DSP处理器一个难以突破的瓶颈。DSP处理器的这种固
定的硬件结构特别不适合于当前许多要求能进行结构
特性随时变更的应用场合,即所谓面向用户型的DSP
系统,或者说是用户可定制型,或可重配置型的DSP
应用系统(Customized DSP或Reconfigurable DSP 等),
第1章   概述

如软件无线电、医用设备、导航、工业控制等方面。
至于在满足速度要求方面,由于采用了顺序执行的
CPU架构,DSP处理器则更加不堪重负。
      面向DSP的各类专用ASIC芯片虽然可以解决并行
性和速度的问题,但是高昂的开发设计费用、耗时的
设计周期及不灵活的纯硬件结构,使得DSP的ASIC解
决方案日益失去其实用性。
第1章   概述


      现代大容量、高速度的FPGA的出现,克服了上述
方案的诸多不足。在这些FPGA中,一般都内嵌有可配
置的高速RAM、PLL、LVDS、LVTTL以及硬件乘法
累加器等DSP模块。用FPGA来实现数字信号处理可以
很好地解决并行性和速度问题,而且其灵活的可配置
特性,使得FPGA构成的DSP系统非常易于修改、易于
测试及硬件升级。
第1章   概述

      在利用FPGA进行DSP系统的开发应用上,已有了
全新的设计工具和设计流程。DSP Builder就是Altera公
司推出的一个面向DSP开发的系统级工具。它是作为
MATLAB的一个Simulink工具箱(ToolBox)出现的。
MATLAB是功能强大的数学分析工具,广泛应用于科
学计算和工程计算,可以进行复杂的数字信号处理系
统的建模、参数估计、性能分析。Simulink是
MATLAB的一个组成部分,用于图形化建模仿真。
第1章   概述


      DSP Builder作为Simulink中的一个工具箱,使得
用FPGA设计DSP系统完全可以通过Simulink的图形化
界面进行,只要简单地进行DSP Builder工具箱中的模
块调用即可。值得注意的是,DSP Builder中的DSP基
本模块是以算法级的描述出现的,易于用户从系统或
者算法级进行理解,甚至不需要了解FPGA本身和硬件
描述语言。
第1章   概述

      为了满足DSP 技术领域 中的各种需求以及顺应
DSP市场的发展,DSP应用系统的实现方式和目标器件
的品种类型、结构特点乃至开发技术本身都经历着不
断的改善和变革。
1.1.1 常用DSP应用器件及其性能特点
      如前所述,DSP作为数字信号的算法的实现方案
有多种,对于不同的应用领域、适用范围和指标要求,
可以选用不同的解决方案和DSP系统的实现器件。目
前,为了完成DSP的开发与应用,可选的目标器件有
如下4类:
第1章   概述

  ● DSP Processor DSP处理器;
 ● ASICs(Application-Specific Integrated Circuits) 专
用集成电路;
 ● ASSPs(Application-Specific Standard Proucts) 专
用标准电路模块;
  ● FPGA。
   DSP Processor主要是指目前最常用的基于CPU架构
的器件,通过软件指令的方式完成DSP算法。早期的
DSP处理器(如大多数DSP实验室中采用的
TMS320VC5402)中只有一个乘法器,而现在的处理器
(如C6000系列)中,有的已达8个乘法器,工作性能有
了很大的提高。
第1章   概述


      Processor在硬件结构上的不断改进,并没有摆脱传
统CPU的工作模式。因而,尽管拥有多个硬件乘加器,
使用了环形叠代的方法进行乘法操作,且许多DSP处
理器还拥有使用多乘法器的并行指令,用于加速算术
运算,然而由于其顺序的工作方式、较低的数据处理
速率,以及缺乏实时工作的性能,使其至今仍只适合
于低端的数字信号处理。
第1章   概述


      传统的DSP开发者通常都选用DSP处理器来构成
DSP应用系统。DSP处理器的优势主要是具有很好的通
用性和灵活性,有适用于各种DSP算法实现的通用硬
件结构。图1-1所示的是一种比较典型的DSP系统电路
图,除了选用的是DSP处理器以及应用程序加载工作
方式外,与普通单片机应用系统十分相似,只要将调
试好的机器码放在程序ROM中,就能使系统正常工作。
因此通过这种硬件结构,能对实现各种数据处理的程
序进行有效的执行。由此可知,这种灵活性几乎是没
有限制的,因为,只要能用对应指令程序表达出DSP
算法,其硬件结构都能接受并执行。
第1章    概述
                        ͨÓÃDSP´¦ÀíÆ÷½á¹¹

            ³ÌÐòROM                     Êý¾ÝRAM
            µØÖ·×ÜÏß³ÌÐò¼Ä´æÆ÷ Êý¾ÝRAMµØÖ·×ÜÏß
                    µØÖ··¢ÉúÆ÷ µØÖ··¢ÉúÆ÷

      ³ÌÐòRAM                                  Êý¾ÝRAM
             ³ÌÐòROM                       RAM
             Êý¾Ý×ÜÏß   Ö¸ÁîÒëÂëÐòÁз¢ÉúÆ÷
                                         Êý¾Ý×ÜÏß
                        Ö¸ÁîCache



                           Êý¾Ý¼Ä´æÆ÷          I/O¿ØÖÆÆ÷
            ³ÌÐò´úÂë                             (DMA)

                            ³Ë·¨Æ÷
      ³ÌÐòROM

                             ALU              ¸ßËÙI/O½Ó¿Ú
            Boot¿ØÖÆ
                                             (´®ÐС¢²¢ÐС¢
                                             ADC¡¢DACµÈ)
                            ÒÆÎ»Æ÷



       图1-1 基于通用DSP处理器的DSP系统
 第1章   概述

  然而,各种算法可实现的灵活性与各种技术指标的可
实现性,以及硬件结构的可变性完全是两回事。
    ASSP和ASIC是专门针对完成某种DSP算法的集成电路
器件,因此在性能指标、工作速度、可靠性和应用成本上
优 于 DSP 处 理 器 。 如 卷 积 相 关 器 IMSA100 、 FFT 处 理 器
A41102、复乘加器组PDSP16116、求模/相角器PDSP16330、
下变频/信号解调器HSP50214等等。其优秀的工作性能主要
源于特定的算法全部由ASSP和ASIC中的硬件电路完成。
ASSP是半定制集成电路,在许多DSP算法的实现方面(如
FIR,IIR滤波器)都优于DSP处理器,但在功能重构,以及
应用性修正方面缺乏灵活性;ASIC虽然有一定的可定制性,
但开发周期长,而且有一个最小定制量,因此应用风险和
开发成本过高,正在逐渐失去其实用性。
第1章   概述

  但若直接使用FPGA完成DSP功能,则能在许多实用领
域综合DSP处理器与ASIC/ASSP器件的优点,再加上FPGA
本身的诸多优势,即能有效克服传统DSP系统的弱点。
  由FPGA构成的DSP电路可以同样以并行或顺序方式工
作。如图1-2所示,在并行工作方面,FPGA与ASIC/ASSP
相当,远优于DSP处理器。对DSP处理器需要大量运算指令
完成的工作,FPGA只需一个时钟周期的时间就能完成。而
在顺序执行方面,FPGA也比DSP处理器快,因为FPGA中
可以使用各种状态机,或使用嵌入式微处理器来完成,并
且,每一顺序工作的时钟周期中都能同时并行完成许多执
行,而DSP处理器却不能。就灵活性而言,FPGA的灵活性
远胜于ASIC/ASSP,也胜于DSP处理器。
 第1章       概述


´«Í³DSP´¦ÀíÆ÷                 FPGAÆ÷¼þ
(˳Ðò¹¤×÷·½Ê½)              (²¢Ðй¤×÷·½Ê½)


                 ³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷

 DSPÒýÇæ         ³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷


                 ³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷
  ´æ´¢Æ÷
                 ³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷

    ˳Ðò(´®ÐÐ)²Ù×÷
                            ³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷³Ë¼Ó²Ù×÷   ³Ë¼Ó²Ù×÷
           n¸öʱÖÓ              1¸öʱÖÓ²¢ÐвÙ×÷




  图1-2 DSP处理器顺序工作方式与FPGA的并行工作方式
第1章   概述

  DSP处理器的灵活性主要表现在软件更改的容易性
以及对各种算法的处理和复杂算法的实现上,而对于系
统硬件本身的更改,DSP是没有任何灵活性可言的。
  现代大容量FPGA以其相关的开发技术在可重配置
的DSP应用领域,以及DSP数据大吞吐量和数据的纯硬
件处理方面,有独特的优势。FPGA面对传统的DSP处
理器诸多难以克服的技术瓶颈,已有了突破性的应用。
在各种DSP应用场合,FPGA具有全硬件的用户可定制
性以及重配置性,即可根据需要随时通过改变FPGA中
构成DSP系统的硬件结构来改变系统的功能、技术指标、
通信方式、硬件加密算法、编解码方式等等。
第1章   概述

      这种结构变化可以由DSP开发者在开发时完成,也
能在DSP系统投入实用中随时“在系统”更改,这就
是所谓的可重配置特性。所以,基于FPGA实现的DSP
系统,具有完全的硬件结构可定制性,包括总线结构
的可定制性,存储器的可定制性,硬件加速器模块的
结构与数量的可定制性,以及大量的MAC(乘加器)模
块的可选性(系统设计中的硬件结构可变性称为可定制
性,即Customized;系统设计完成后,成为产品后仍能
随开发者甚至用户的要求随时进行硬件结构重构的,
称为可重配置性,即Reconfigurable)。
第1章   概述

1.1.2 DSP处理器结构与性能的发展
  DSP处理器与普通处理器的基本差异是DSP处理器
中有硬件乘加模块(MAC),专用的存储器以及适用于
高速数据运行的总线结构。
   MAC的工作性能通常是DSP处理器性能的关键所
在。DSP应用系统主要是完成一些诸如FFT、FIR、IIR、
矩阵相乘、卷积等算法。大部分的算法涉及到乘加结
构的数学计算(如y = a ( b + c ( d ),这称为乘法累加操
作(MAC)。为了提高DSP的性能,DSP处理器生产厂商
在提高MAC模块硬件性能的同时增加它们的数量,以
提高乘加的位宽与速度。例如,TI的TM320C6411中有
8个MAC,能在一个时钟周期中完成8个乘法运算。
第1章   概述

  尽管在DSP处理器中增加更多的MAC单元,能进
一步提高DSP的吞吐量,但对于某些一般数据处理量
比较大的DSP算法,其通用性能却下降了,例如Viterbi
编译码器和FIR滤波器就属于这种情况。为了解决这个
问题,DSP生产厂商又将一些专用的硬件加速器类的
协处理器模块加入进处理器结构。如Viterbi协处理器、
Turbo协处理器和增强型滤波器协处理器等。由于这些
处理器本身的非通用性,即主要是倾向于某种或某些
算法的协处理器,从而导致了DSP处理器无法适用于
多种类型的DSP算法和DSP应用。结果成本增加了,通
用性下降了。
第1章   概述

  因此,大部分的DSP应用场合并没有从这种增加了
各种硬件加速器的DSP结构的变化中得到好处。不但如
此,这种硬件加速器模块是一种固定的硬件结构,无法
根据特定的设计需要来作任何更改,特别是面向当今通
信领域中不断发生的各种技术标准和协议的变更,这种
加速器模块容易很快过时,从而导致整个DSP应用系统
的过时。
  针对这种情况,DSP处理器生产商又试图在DSP中
增加一些可定制的指令,以便能对结构功能根据要求作
一定的改变。然而这些修补并没有从根本上解决问题。
第1章   概述

      为了弥补速度及吞吐量的不足,实用的DSP系统使
用多片DSP处理器进行并行工作已经是十分普遍的事,
但这也同时带来了系统在灵活性、功耗、成本、体积、
可靠性等技术性能上的进一步变差。
第1章   概述

1.1.3 FPGA的结构与性能的发展
      FPGA器件是由大量逻辑宏单元构成的。通过配置,
可以使这些逻辑宏单元形成不同的硬件结构,从而构
成不同的电子系统,完成不同的功能。正是FPGA的这
种硬件重构的灵活性,使得设计者能够将硬件描述语
言(如VHDL或Verilog)描述的电路在FPGA中实现。这
样以来,同一块FPGA能实现许多完全不同的电路结构
和功能。如DSL布线器、数字调制解调器、JPEG编码
器、数字通信系统,以及网络接口等等。
第1章   概述


      随着达数百万门高密度的FPGA的出现,FPGA在
原有的高密度的逻辑宏单元的基础上嵌入了许多面向
DSP的专用硬核模块,结合大量可配置于FPGA硬件结
构中的参数化的DSP IP软核,DSP开发者能十分容易
地将整个DSP应用系统实现在一片FPGA中,从而实现
了所谓的可编程SOC系统,即SOPC。
第1章   概述

      FPGA中的面向DSP的嵌入式模块有可配置RAM、
DSP乘加模块和嵌入式处理器等,使FPGA能很好地适
用于DSP功能的实现。例如Altera的Stratix系列器件中
含有丰富的DSP功能块,包括能完成诸如累加、加/减、
并行加等通用算法的功能模块,有多达224个乘法器,
在一个时钟周期中就能完成224次乘法操作。
      乘法器的带宽决定了整个DSP的带宽,而FPGA的
DSP带宽比DSP处理器要宽得多。例如,Stratix器件的
DSP模块能提供70GMACs/每DSP模块的吞吐量,而当
今主流的DSP处理器只能达到4.8 GMACs。
第1章   概述

    此外,绝大部分的DSP处理器应用系统是用外部存
储器来解决大数据量的处理的。然而FPGA的嵌入式高
速可配置存储器在大多数情况下都能满足相类似的数
据处理要求。例如,Stratix系列的FPGA可提供达10
Mb/s速率的嵌入式RAM。
   FPGA中的嵌入式处理器进一步提高了FPGA的系
统集成和灵活性,使之成为一个软件与硬件联合开发
和灵活定制的结合体,可使设计者既能在嵌入式处理
器中完成系统软件模块的开发和利用,也能利用FPGA
的通用逻辑宏单元完成硬件功能模块的开发。Altera的
FPGA器件还为用户提供了嵌入式处理器软核与硬核的
选择。
第1章   概述

  嵌入式处理器软核是由网表文件表达的硬件结构,
当同其它设计一同配置于FPGA中后,就成为FPGA芯
片中的一个硬处理器核。高效率的SOPC设计能很容易
地将软核(如Nios 嵌入式处理器)连同与该核相关的外
围接口系统一同编程下载进同一片FPGA中。设计者能
根据实际应用的需要定制Nios软核,使之满足不同的
总线数量、总线宽度和总线功能要求,优化总线设计,
排除传统DSP中许多常见的问题。还能定制处理器的
指令,此时Nios的开发软件编译器将自动作相应的变
化。这种结构可变(可定制)的DSP处理器能很好地根据
实际的需求,在性能/功能与结构大小之间作最好的平
衡,以适用于不同的DSP应用领域。
第1章   概述


  硬核处理器主要指在Excalibur系列FPGA中的ARM
核。这种核已预先嵌入在FPGA中,含有完整的外围接
口系统,如SDRAM、存储器控制单元、UART等。
  现代的FPGA中含有十分灵活的、针对特定算法的
加速器模块。与传统的DSP处理器中的加速器模块不
同,FPGA中实现的硬件加速器是可以针对不同应用的,
这可以使设计者针对不同的DSP任务实现硬件功能。
设计者针对具体任务在FPGA中实现硬件加速器模块的
途径很多,主要有下述几种:
第1章   概述

● 用硬件描述语言HDL完成;
● 基于通用逻辑宏单元LCs的HDL设计;
● 基于可配置的DSP硬核模块:存储器、乘法器、并行
 加法器、累加器等;
● 基于全参数可设置的DSP软IP核的应用(进入FPGA中后
 其将成为性能优良的硬件 模块);
● Nios软核处理器;
● ARM硬核处理器。
第1章   概述

      在基于FPGA的DSP开发中,面向DSP的IP核的应
用是最方便的设计方案。由Altera与其AMPP合作伙伴
(Altera Megafunction Partner Program)提供针对DSP设计
的各种用于硬件加速的IP核,大致可分为以下5类:
      (1) 通用IP核(如FIR,IIR,NCO,FFT等);
      (2) 图像处理IP核(如JPEG,DCT等);
      (3) 调制IP核(如QPSK,Equalizer等);
      (4) 编码IP核(如DES,Rjindael等);
      (5) 纠错IP核(如Viterbi,Turbo, CRC等)。
第1章   概述

   以上的每一个核都可以利用Quartus II中的
“MegaWizard Plug-In Manager”管理器进行参数设置以构成
针对特定应用的硬件功能模块。这种通过软件设置能随意改
变专用硬件模块功能的技术,极大地提高了FPGA在DSP设
计方面的灵活性。IP核的利用,可以使设计者将IP核加入到
任何标准硬件描述语言中,完成特定的功能而不改变原来的
设计程序;即使在设计中和设计完成后,都能根据实际需要
改变嵌入的IP核的技术参数,而不改变整体设计综合得来的
代码,从而改变DSP系统的技术指标和硬件功能。此外,IP
核本身基本不依赖于某种特定的FPGA硬件结构,即具有硬
件通用性(这一点与DSP处理器及其库程序有很大不同),因
此可以在更新、更廉价的FPGA中实现。
第1章   概述

      显然,FPGA与软IP核的巨大灵活性能十分迅速地
对即使是已经完成的设计系统,仍然能适应通信领域
中 不 同 的 , 诸 如 Wireless802.lla, Wireless Broadband
Working Group 802.16及HiperLAN12等的新标准的要求,
而绝对不必如使用传统DSP处理器那样,要等待很长
时间才能有适用的器件出现,或是在开发前期必须针
对某种通信的标准,而费时费力地确定某款合适的
DSP处理器型号。
第1章   概述

1.1.4 基于DSP处理器的DSP设计流程
      图1-3是传统的DSP系统的典型开发流程。大致步
骤如下:
      (1) DSP开发者首先使用诸如MATLAB这样的数学
开发工具对DSP算法进行优化设计和仿真测试,或用
Simulink 进行DSP系统建模,以获得满足功能要求和适
应硬件特点的算法模型。
      尽管现在已有可将Simulink的DSP模型直接转换成
DSP处理器的C程序,但由于器件通用性问题,特别由
于C程序的运行效率问题,通过MATLAB途径获得的C
程序几乎没有实用价值。
第1章   概述

      (2) 根据DSP目标系统的功能要求、技术指标、系统
升级可行性、性能标准可能的变化以及成本限度等因素,
具体确定DSP处理器(并行使用的)数量和型号。这时必须
十分熟悉当前主流DSP器件的详细硬件特性与价格范围,
同时还要与手头的DSP开发软硬件工具和功能块程序库结
合起来考虑。由于目前DSP处理器的厂商、品种、系列、
功能、适用面以及价格等因素差异颇大,准确无误地确定
DSP处理器的品种不但十分棘手,同时也事关重大。因为
如果当系统最终设计并调试完成后,若发现由于DSP处理
器导致的某项技术指标不能达到,或在以后的某项技术规
范的升级要求中无法实现,将出现整个硬件系统必须重新
开发的严重局面。
第1章    概述

        MATLAB/Simulink
        DSPË㷨ģÐͽ¨Á¢
           ϵͳ·ÂÕæ

                                              ±àÒë
                                           Èí¼þ¹¤¾ß£º
       ¸ù¾ÝDSP·ÂտģÐÍ¡¢                Compiler, Assembler,
         Ó¦ÓÃϵͳµÄ¹¦ÄÜ                 Linker And Debugger
       ÒÔ¼°¼¼ÊõÖ¸±ê£¬È·¶¨
      DSP´¦ÀíÆ÷µÄÊýÁ¿ºÍÐͺÅ


                                           ·ÂÕæµ÷ÊÔ
         ¸ù¾ÝDSP·ÂտģÐͺÍ
      ¹¦ÄÜÒªÇóÍê³ÉDSPÓ¦ÓÃϵͳ
        ÆÀ¹À°å»ò²âÊÔ°åµÄÉè¼Æ



         ¸ù¾ÝDSPÄ£ÐÍд        »ùÓÚCµÄ
                                        Íê³ÉDSPʵÓÃϵͳ
        »ã±à³ÌÐò»òC³ÌÐò        DSP¿â




          图1-3 基于DSP处理器的开发流程
第1章   概述

      (3) 根据选定的DSP处理器和系统功能要求,完成
应用系统评估板或测试板的设计,否则无从调试DSP
软件程序,更无法验证实际系统中各项技术指标的可
实现性及应用系统的可行性。
      (4) 根据MATLAB的算法模型和DSP评估板的硬件
结构,编写C、C++程序,或汇编程序。在DSP标准开
发环境中(如TI的CCS)进行编译、仿真,然后通过DSP
硬件仿真器在应用板或评估板上进行调试和实时仿真。
这一过程中,还能使用基于C的标准DSP功能块库来加
速开发进程。
第1章   概述

      但是如果考虑到系统的实时性,包括数据运算、
采样和输出的高速高效性,就必须使用汇编程序来完
成设计,这时就必须严格考虑具体的器件型号和对应
的指令系统,因为不同系列的DSP器件的指令系统通
常是不兼容的。
      在仿真调试过程中,可能出现的问题是多方面的,
最棘手的当属硬件系统从设计的一开始,在可行性上
就出了问题,这时只能重新进行DSP应用系统的设计。
      (5) 最后完成实用硬件系统的实现。
第1章   概述

1.1.5 基于FPGA的DSP设计流程
      在早些时候,DSP开发者只能直接使用VHDL或
VerilogHDL语言进行FPGA的DSP系统设计,难度比较
大。现在已经出现了许多新的基于FPGA的DSP开发工
具。如DSP Builder、SOPC Builder、System Generator
等,以及完整的软件开发平台。从而使得设计者能遵
循一条类似于软件设计流程的开发方法进行FPGA的
DSP设计,设计效率大为提高。
      图1-4至图1-7概括了基于FPGA的几种不同的DSP
系统设计流程。
第1章   概述
               »ùÓÚFPGAµÄ
               Èí¼þÓëÓ²¼þÉè¼ÆÁ÷³Ì

               DSP¿ª·¢Ëã·¨½¨Ä£




                      Èí¼þ¿â
           ½¨Á¢ÏµÍ³            Èí¼þ¿ª·¢




                   FPGA
                 DSPϵͳʵÏÖ


      图1-4 基于FPGA的软件与硬件开发流程
第1章   概述

                »ùÓÚFPGAµÄ
               Èí¼þÓëÓ²¼þ¼ÓËÙ
                 Éè¼ÆÁ÷³Ì

              DSP¿ª·¢Ëã·¨½¨Ä£




            DSPÉè¼Æ
           Ó²¼þ¼ÓËÙÆ÷
            ¹¦ÄÜ¿é


                      Èí¼þ¿â
           ½¨Á¢ÏµÍ³            Èí¼þ¿ª·¢



                 FPGA
               DSPϵͳʵÏÖ

  图1-5 基于FPGA的软件与硬件加速设计流程
第1章   概述

            »ùÓÚFPGAµÄ
            Ó²¼þÉè¼ÆÁ÷³Ì

           DSP¿ª·¢Ëã·¨½¨Ä£




            ת±ä³ÉHDL




              FPGA
            DSPϵͳʵÏÖ

      图1-6 基于FPGA的硬件开发流程
第1章   概述

           MATLAB/Simulink½¨Ä£/·ÂÕæ
           VHDLת»»/Âß¼-×ÛºÏ/¹¦ÄÜ·ÂÕæ/
           ±àÒëÊÊÅä/ʱÐòʵʱ·ÂÕæ/Ó²¼þÅäÖÃ

               DSPϵͳ½¨Ä£



                               »ùÓÚIPºËµÄ
                DSP Builder
                                 DSP¿â


                ×ۺϡ¢ÊÊÅä
                ²¼Ïß¡¢²¼¾Ö
                 (QuartusII)


                 FPGA
               DSPϵͳʵÏÖ

       图1-7 基于FPGA的系统级开发流程
第1章   概述

  1. 基于FPGA的软件与硬件的设计流程
  图1-4所示的是含有嵌入式处理器的FPGA支持软件设
计流程。Altera提供的软件开发工具有GNUPro套件,可
用于编译、调试、汇编和连接。设计前可将编译好的软
件下载到FPGA中的内部RAM中或是外部存储器中。
  2. 应用硬件加速单元(IP核)的FPGA软件与硬件的设
计流程
  图1-5所示流程与以上的设计流程比较相似,这种流
程除了要求有嵌入式处理器外,还要有硬件加速器,从
而可以使DSP系统在灵活性、功能和成本方面都有很好
的提高。
第1章   概述

      DSP开发者可以将软件设计流程与硬件加速模块
结合起来。可以首先进行C程序的编程,并且将其中的
必须的部分形成专用、高效的功能块,使用DSP IP核
或直接开发定制指令,在FPGA中可以加速系统功能的
高效实现,而其它的一些要求不高的DSP算法以及系
统控制程序则可在嵌入式Nios中完成。此外,Altera还
提供了系统级的设计工具,即SOPC Builder。设计者可
以通过将嵌入式处理器(如Nios)、系统接口模块以及IP
核结合起来完成整个硬件系统的设计。
第1章    概述

      DSP Builder也提供了一个从MATLAB/Simulink直
接到FPGA硬件实现的设计接口。DSP Builder极大地简
化了DSP功能的硬件实现流程,并提供了系统级仿真
测试功能,设计者甚至可以不了解硬件描述语言HDL
的设计流程,不必懂硬件描述语言本身,也能进行
DSP应用系统的FPGA开发。
第1章   概述

      3. 基于FPGA的硬件设计流程
      如图1-6所示,DSP设计者还能使用基于HDL的设
计流程完成纯硬件的DSP系统开发。
      Altera 提供了一套完整的 FPGA开 发工具 ,包括
Quartus II以及其它第三方EDA工具,如Modelsim、
Synplify以及LeonardoSpectrum等,这些工具能完成硬
件设计建模、仿真、综合、调试和在系统中进行DSP
测试等。如果使用已得到良好优化的基于HDL的DSP
IP核,则能大大简化整个开发过程。
第1章   概述

      4. 基于FPGA的系统级硬件设计流程
图1-7所示的流程就是本书将重点介绍的DSP开发流程。
      与图1-3相比,一个重要的区别在于DSP处理器的
设计流程中,MATLAB工具的使用仅仅是作DSP算法
的建模和基于纯数学的仿真,其数学模型无法为硬件
DSP应用系统直接产生实用的程序代码,其仿真测试
的结果也仅仅是基于数学的算法结果,既非系统仿真,
也非功能仿真,更非实时时序仿真,因而只能起到计
算机辅助设计和辅助分析的作用(所以在流程转换中用
虚线表示)。
第1章   概述


  图1-7所示的流程则表明基于FPGA的DSP开发流程
中,顶层的开发工具就是MATLAB /Simulink,整个开
发流程几乎完全可以在同一环境中完成!真正实现了自
顶向下的设计流程,包括DSP系统的建模、系统级仿真、
设计模型向VHDL硬件描述语言代码的转换、RTL级功
能仿真测试、编译适配和布局布线、时序实时仿真,直
至对DSP目标器件的编程配置。整个设计流程一气呵成
地将系统描述和硬件实现有机地融为一体,充分显示了
现代电子设计自动化开发的特点与优势。
  图1-7的设计流程将在下一节中给予进一步的说明。
第1章   概述



        1.2 现代DSP设计流程概述

      本节简要介绍基于MATLAB/Simulink、DSP
Biulder和Quartus II等工具软件的DSP开发流程。由图1-
7可见,整个设计流程,包括从系统描述直至硬件实现,
可以在一个完整的设计环境中完成,同时构成了一个
自顶向下的典型的EDA流程。因此这个流程不仅仅适
用于DSP开发,同样适用于EDA技术和SOPC设计。
第1章   概述

   如图1-8所示,设计流程从利用MATLAB建立DSP
电路模型开始。电路模型的建立可以是图形化的,可
以方便地利用Simulink与DSP Builder中提供的丰富的功
能块和IP核进行设计。DSP Builder包括比特和周期精
度的Simulink模块,还涵盖了诸如算术和存储功能的基
本设计模块以及IP库中的许多复杂的功能模块。电路
中的功能块和IP的技术参数、数据格式、数据类型和
总线宽度等都可以直接设置。电路模型设计完成后,
可以进行系统级的模型仿真,属于系统功能仿真,与
目标器件和硬件系统没有关系,是基于算法的仿真。
图1-9是Simulink中的一个幅度调制设计模型电路和仿
真结果。
第1章    概述
                   MATLAB/Simulink
                     ϵͳÉè¼Æ



                    SignalCompiler            SignalTap II
                   VHDL RTL¼¶×ª»»           ǶÈëʽÂß¼-·ÖÎöÒÇ




  LeonardoSpectrum               ModelSim
    »òSynplify                   VHDL·ÂÕæ
    VHDL×ÛºÏ

         ATOM
      Íø±íÎļþÉú³É
                                 POF/SOFÎļþ
       QuartusII                  ±à³ÌÏÂÔØÆ÷
       ±àÒëÊÊÅä


                                 DSPÓ²¼þϵͳ


             图1-8 DSP Builder设计流程
第1章   概述




           图1-9 DSP电路模型和系统功能仿真
第1章   概述

      在图1-8中还能看到利用嵌入式逻辑分析仪的一个
测试流程。SignalTap II嵌入式逻辑分析仪的应用是现
代DSP技术中最有特色的测试技术之一,这项技术只
能在FPGA的开发中使用。SignalTap II必须能够随心所
欲地嵌入目标器件或从中撤走。SignalTap II可以直接
插在Simulink模型电路中任何一处或多处,并可随该电
路一同编译、适配和下载到DSP硬件系统的目标芯片
中。在目标芯片指定的通道上,
第1章   概述


嵌入的SignalTap II能根据给定的触发条件采集电路信
号,并通过目标芯片的JTAG下载口将信号回送往PC机,
然后在MATLAB界面上显示出来。一旦完成测试,可
以通过模型修正和编译,将SignalTapII从目标器件中撤
消。图1-9所示为DSP电路模型和系统功能仿真。
第1章   概述

      接下去是利用置于Simulink电路模型界面的DSP
Builder的SignalCompiler,将电路模型文件即Simulink
模块文件(.mdl)转换成RTL级的VHDL代码表述和
Tcl(工具命令语言)脚本。这种转换是基于Simulink模型
的结构化分析的。RTL级VHDL代码通俗的解释就是在
FPGA中完成硬件电路实现的VHDL程序(因为并非所有
的VHDL语句都能对应实际的硬件电路)。Tcl脚本主要
是用于对后续的VHDL综合与仿真的控制与规范(注意,
就目前基于FPGA的DSP设计工具而言,包括Altera的
DSP Builder和Xilinx的System Generator,都只能将
Simulink模型转换成VHDL,而非Verilog)。
第1章   概述

      一旦获得了转换好的VHDL描述,在Simulink中即
可调用VHDL综合器了。目前可选择的综合器主要有
Quartus II、Synplify和LeonardoSpectrum。由它们生成
底层网表文件。图1-10即为Synplify生成的网表文件对
应的RTL电路图。注意,只有在此时才能真正确定DSP
硬件实现的目标器件的选择,包括FPGA器件的系列和
型号。因为对RTL级的VHDL综合,必须确定底层元件
的工艺特性和结构特性,但不必了解硬件时序特性,
只有在适配时才需要时序信息。
   第1章        概述




     clock
       sclr
              [31:0]     [31]
datab[31:0]
                       [31:0]
                                       +       [1:33]   [1:33]
                                                                 D[32:0]   Q[32:0]
                                                                                     [32:0][32:0]
                                                                                                    result[32:0]
                                                                 R
              [31:0]     [31]
dataa[31:0]                     un3_result[1:33]                 E
                       [31:0]

       ena
                                                                  result[32:0]




                        图1-10 由VHDL综合出的RTL级电路图
第1章   概述

      电路描述的中间网表文件,称为原子级网表文件,
即ATOM Netlist。
      下一步是调用Quartus II中的编译器,根据网表文
件及设置的优化约束条件进行布线布局和优化设计的
适配操作。最后生成编程文件和仿真文件,即生成
POF和SOF FPGA配置文件,可用于对目标器件的编程
配置和硬件实现;同时生成可分别用于Quartus II的门
级仿真文件和ModelSim的VHDL时序仿真文件,以及
配套的VHDL仿真激励文件,可用于实时测试DSP系统
的工作性能。
第1章    概述

      在以上的转换过程中,每个DSP Builder模块都经
过了优化,利用专用硬件资源的优势,根据不同的目标
器件系列作不同的综合与适配。例如在用Stratix器件时,
累加器模块通常使用专用的DSP模块,而在为APEXII
器件编译设计时,则使用逻辑宏单元LCs来代替。
      读者在图1-8中可以注意到有一个ModelSim的
VHDL仿真流程。
      由上面的SignalCompiler生成的VHDL,在进入
ModelSim仿真流程获得的结果与硬件时序没有关系,
属于功能仿真结果;而当由Quartus II生成的VHDL仿真
文件,进入ModelSim仿真流程后获得的仿真结果属于
时序仿真,即是对系统的实时测试结果。
第1章   概述

      最后是将Quartus II生成的配置文件下载到目标器
件中,形成DSP硬件系统。
      作为总结,用图1-11所示的流程可以对图1-8作进
一步的说明。
      图1-11将DSP开发流程划分为两个层次:虚线左
边为系统级设计与仿真流程,右边为RTL级设计、仿
真 和 硬 件 实 现 流 程 。 两 个 流 程 通 过 DSP Builder 的
SignalCompiler直接握手,左边是与硬件完全没有关系
的类似于软件方式的设计流程,而右边则是硬件设计
流程。
  第1章        概述


  ϵͳ¼¶Éè¼Æ/·ÂÕæ                 RTL¼¶Éè¼Æ/·ÂÕæ/ʵÏÖ
MATLAB/SimulinkÉè¼ÆÁ÷³Ì           Ó²¼þʵÏÖÉè¼ÆÁ÷³Ì(RTL¼¶×ª±ä)
      ½¨Á¢Simulink
                                          RTL¼¶¹¦ÄÜ·ÂÕæ
       Éè¼ÆÄ£ÐÍ

                                    VHDL·ÂÕæ           Âß¼-×ÛºÏ
   ¼ÓÈëDSP ¿âÄ£¿é    ±È½Ï·ÂÕæ½á¹û
     ¼ÓÈëIPºË         µÄÒ»ÖÂÐÔ            ʱÐò·ÂÕæ
    Á¬½Ó³Éϵͳ                                     QuartusII±àÒë½á
                                                      ¹¹×ÛºÏ
                     SignalCompiler .vhoʱÐò·ÂÕæÎļþÊä³ö
       ÅÅ´í/·ÂÕæ
                                                     DSPÓ²¼þϵͳ°å
                                NO ½á¹ûÂú×ãÉè¼Æ
      ½á¹ûÂú×ãÉè¼Æ                  ÒªÇóÂð£¿
 NO    ÒªÇóÂ𣿠                    YES
       YES                                             Íê³ÉÉè¼Æ



             图1-11 基于FPGA的系统级开发流程
第1章   概述


  一方面,左边可以通过模型设计、模块应用、数据
格式设置、触发条件选择等操作直接控制右边的硬件设
计流程与硬件实现方式;另一方面,右边又能通过时序
仿真、SignalTapII测试等方式及时或实时地将硬件信息
反馈给左边。这是一个完美的组合,是现代DSP设计技
术乃至现代电子系统设计技术的特色与核心。
第1章   概述

      由脱离硬件的系统级开始设计,优势是直观、快
捷、高效、灵活、易于排错与及时修改,非常有利于
对复杂系统的构建、测试及可行性判断,及时更改设
计方案,同时也有利于系统的模块化构建、模块化测
试和模块化重利用,是高效率低风险设计的有效解决
方案。
      将软件设计与硬件实现直接握手,是电子设计的
难点,这对于传统电子设计来讲是不可思议的事情。
这种设计流程的前提是必须使用硬件描述语言HDL和
FPGA,因此传统的DSP处理器的开发很难介入到这个
流程中。
第1章   概述



       1.3 两类DSP解决方案的比较

      本节结合以上讨论的结果,对现代DSP技术与传统
DSP技术作一个一般性的比较。这里所谓的传统DSP技
术主要是指以DSP处理器为核心或作为主要处理单元的
DSP应用系统及其开发技术,也包括将FPGA或CPLD作
为这些系统中DSP辅助处理或接口等功能的情况。
      需要指出的是,至少在目前,这两种技术还没有较
好地相互替代(或相互包含、相互覆盖),
第1章   概述

      也没有很好地相互融合。例如在通信领域中,
DSP处理器在基带处理功能方面具有不可替代的优越
性,而在典型的软件无线电系统中的宽频处理、高频
段的信号处理,包括通信系统结构的开放性、标准化、
模块化,以及工作频段收发可变性,调制解调类型,
数据格式,加/解密模式,通信协议,总线结构等的可
变性,传输格式及通信体制的互通性和可变性等等方
面,FPGA无疑将成为主要选择!
      严格地说,现代DSP技术不可能融入传统DSP技术
的内容,但反过来却可以,不过仍应属于传统技术范
畴,因为其自底向上的设计流程没有改变。
第1章   概述

  现代DSP技术与传统DSP技术的不同之处主要表现
在以下几个方面:
      1. 系统工作速度不同
  与FPGA相比,DSP处理器最大的劣势之一是处理
速度比较慢。尽管在硬件结构上作了大量的改进,如
增加硬件乘法累加模块和加入各种专用的加速协处理
器等,但其速度瓶颈来自于基于CPU的指令顺序执行
的基本工作模式,以及通常使用的多片DSP组合电路
和过多的外部接口电路(FPGA通常可以实现单片系统)
导致的信号通道过长、过复杂。
  下面以FIR数字滤波器的设计为例,对两种DSP解
决方案的计算速度作一些比较。
第1章   概述

      图1-12所示的是用多种途径实现16阶8位FIR数字
滤波器在速度和相位线性等方面的综合性能的对比情
况。柱面图高度表示相对性能指标,五个柱面分别表
示用五种不同器件实现16阶8位FIR滤波器性能的相对
指数(以TMS320C2XX系列50 MHz的DSP芯片的综合性
能为比较基准),它们分别是133 MHz的专用CPU、50
MHz的DSP处理器芯片、4个同类50 MHz DSP处理器
联 合 工 作 的 情 况 和 EPF8820A-2 与 EPF81500A-2 的
ALTERA的FPGA产品。
第1章   概述




      图1-12 实现16阶8位FIR滤波器综合性能对比
第1章   概述

      由图不难看出用FPGA实现滤波器在性能上的明显
优势。以FPGA器件EPF81500A-2实现的数字滤波器的
综合性能是普通DSP器件的67倍多。
      以下再以目前完成乘法累加速度最快的TI的C6X
系列DSP处理器、最常用的DSP处理器和FPGA完成同
一算法(即8位224阶FIR滤波器)进行比较见表1-1。
 第1章   概述


       表1-1 FPGA与DSP处理器运算速度的比较

功能实现资源需求     TI TMS320C5402   TI            ALTERA      FPGA
                              TMS320C6414   EP1S120

阶数           224              224           224

乘法累加器数       1                8(最大)         224(28个DSP模块)

内部时钟速度       100 MHz          600 MHz       250 MHz

算出结果的时钟周期数   224              28            1

每秒乘加运算次数     0.1 GMACs        4.8 GMACs     56 GMACs
第1章    概述

      由表1-1可见,EP1S20型的FPGA的乘加速度最快,
每秒为56千兆个MAC操作,是TMS320C6414的12倍,
TMS320C5402的560倍。而这时FPGA中采用的内部时
钟速度还不到TMS320C6414的1/2。
      此外还应看到两点:
      (1) TMS320C6414和TMS320C5402中的MAC模块
的极限分别是8和1,而EP1S120中的224个类似于MAC
的DSP模块数却非极限,因为FPGA中有数以万计的逻
辑宏单元LCs可供随意组合成各种类型的硬件电路功能
模块。
第1章     概述

  (2)    TMS320C6414与EP1S120的单片售价相当,但
在实用DSP系统中,单片C6X几乎无法完成实际的运算
任务,而FPGA 却常能构成单片系统。
  从表1-1的比较结果不难推知,DSP处理器在诸如
实时控制、实时编/译码、实时图像识别/处理、实时通
信、实时跳频、实时传输等实时操作领域较难有所作为。
  值得注意的是,处理器TMS320C5402是目前国内绝
大多数DSP实验室中的主流器件。
第1章   概述

  2. 设计流程不同
  在上一节中已对两种解决方案的设计流程作了说明。
比较图1-3和图1-7,不难发现两种设计流程恰好相反,前
者是自底向上的设计流程,后者是自顶向下的设计流程。
  在图1-3的流程中,由于必须首先完成硬件系统的设
计,以供仿真调试之用,然而在没有进行任何有效的系统
可行性评估、硬件电路测试和实时仿真的情况下,就不得
不首先确定DSP器件的型号、系统电路原理图及系统板的
设计,而且此后很难随心所欲地更改。这一切无疑具有相
当的盲目性和风险性(包括成本风险及开发周期的风险),
这将严重影响开发的效率和成功率。
第1章   概述


      不难发现,自底向上的设计流程将导致这样一个
佯谬:实时仿真调试的目的是为了设计出符合要求的
DSP系统,然而如果没有这样一个系统就根本无法进
行实时仿真调试。这是一个互为依据、自相矛盾的现
象,显然是一种不科学的、被动的和无奈的选择。
      自顶向下的设计流程则彻底解决了这一矛盾。如
图1-7所示,系统设计可以在与硬件无关的环境中完成,
实时时序仿真完全可以在实际的硬件电路系统设计出
来以前进行,
第1章   概述

至于选择或更改总线宽度、浮点或定点数据的类型、
单精度或双精度格式、串/并行处理方式,以及硬件加
速模块的使用类型、数量、方式等等十分重要的工作,
都可以在MATLAB的Simulink顶层设计环境中随时完
成而不必顾及今后硬件的选择。
      显然自顶向下的设计流程对于硬件系统的结构控
制具有全程的主动权和能动性,是优化设计和高效开
发的必要条件。
第1章   概述

      3. 系统结构可重构性不同
      虽然加载不同的软件程序能够改变DSP处理器的功
能,但这种相对于AISC系统来说十分灵活的功能并没
有什么实用价值。因为仅仅通过对DSP处理器加载不
同的程序代码,并不能有效地改变DSP系统的诸如吞
吐量、数据总线宽度、DSP加速模块的数量与功能、
调制模式(如AM、FM、ISB、FSK、PSK、MSK、
QAM等)、实时加/解密算法、模块DSP系统、处理频
段带宽、通信协议、动态范围、制式(如FDM、TDM、
CDMA、WCDMA间的切换)等等技术参数和技术方案。
第1章   概述

      这是因为这一切必须完全改变硬件结构、硬件功
能和硬件组成才能实现。即除非DSP系统具有硬件可
重构性,即结构有可重配置性才能实现上述变化。
      由于不同的配置文件下载于FPGA后,将能获得不
同的硬件结构和硬件功能,因此基于FPGA的DSP系统
具有良好的系统结构可重配置特性。
      不同的配置文件对于FPGA的加载可以有多种方式,
如下所述。
第1章   概述

  (1) 将多个配置文件预先存储在DSP系统的ROM中,
系统根据实际需要自动选择下载的配置文件。缺点是
配置文件数有限。
  (2) 将配置文件全部预存在大存储器中,或PC机中,
由外围系统选择下载配置文件。
  (3) 通过无线遥控方式,对远处的DSP应用系统进
行配置,从而遥控改变功能模块或系统的硬件结构,
达到改变技术指标和硬件工作方式的目的。
  (4) 通过互联网进行配置,实现远程硬件结构控制。
第1章   概述


      4. 仿真测试技术不同
      DSP处理器开发中除了可以利用MATLAB等工具
完成算法仿真外,唯一有实际意义的仿真是借助于实
时开发系统的仿真,即必须与实际的硬件系统相连后
才能进行。然而从仿真的严格意义上讲,这不能称之
为“仿真”,而只能称为“硬件调试”,即所谓的
“Hardware Debug”,因为对于A/D和D/A模拟信号的
测试,特别是实时测试,只能通过实际的仪表才能实
现。所以说只有脱离了作为仿真对象的硬件系统的测
试活动才能称为“仿真”。
第1章   概述

      而在DSP处理器系统的“仿真”中,就有些相当于
“生米煮成熟饭”的感觉,当在“硬件调试”中发现有
问题时,如果不是来自源程序本身的错误,除非彻底更
改整个硬件系统,否则就只能将就接受“既成事实”了。
而且这种“仿真”的实际意义仅在于,假设(事实也要
求)待开发的硬件系统已经设计成功并能正常工作的条
件下,完成DSP源程序在硬件系统上的调试活动。因此,
这种“硬件调试”的意义就弱化了许多。另外由于仿真
调试的环节太单一,许多软硬件中的存在问题的定位十
分困难,对于多DSP器件组成的大系统调试效率很低。
第1章   概述

  基于FPGA的DSP开发流程则不同,由图1-8和1-11可
见,整个流程有多个层次的仿真测试和硬件调试环节。
主要可分为下述5个环节:
  (1) 基于MATLAB/Simulink模型的系统级仿真,包括
对数字信号和模拟信号的仿真测试。这个仿真环节可以
对系统构成和算法模型进行调试和评估;
  (2) 利用功能强大的HDL仿真器ModelSim进行RTL级
功能仿真和模拟信号仿真;
  (3) 利用ModelSim对DSP数字系统进行实时时序仿真;
第1章   概述

  (4) 利用Quartus II中的门级仿真器进行时序仿真;
  (5) 利用嵌入式逻辑分析仪SignalTapII对DSP硬件系
统进行测试。
  在以上5个仿真测试环节中的任何一处发现问题,
都可以随时修正和排除。
  5. 系统知识产权自主性不同
  由于基于FPGA的DSP系统主要是纯硬件系统设计,
可选的硬件实现方式很多,因此系统具有较好的自主知
识产权属性。基于DSP处理器的系统则没有这种属性。
第1章   概述

      6. 开发技术标准化、规范化与技术兼容性不同
      为了适应不同DSP应用系统的技术指标要求和适
用领域,必须推出不同系列和功能特点的DSP处理器,
而不同的DSP处理器其硬件结构通常都有较大的差别,
因此对应不同的汇编语言,需要不同的软硬件开发工
具和仿真器。此外,由于相应的C程序的运行效率比较
低,实时要求较高的系统仍然需要利用汇编语言进行
开发,因此,调试成熟的软件模块难以移植和再利用。
第1章   概述

在这里,硬件结构与计算机语言的密切相关性、仿真
测试与硬件系统的密切相关性,以及系统性能与DSP
处理器选择的密切相关性,注定了无论是设计流程、
仿真开发工具还是开发语言都不可能得到标准化、规
范化,从而极大地降低了DSP开发技术的学习效率、
开发效率、实现效率及升级更新效率。
      传统DSP技术难以标准化的另一重要原因是,该
技术的实现流程过于单向化,技术兼容性不好,很难
与其它开发技术融为一体。如单片机开发技术、嵌入
式系统开发技术、可配置模拟系统开发技术、大规模
可编程逻辑系统开发技术,乃至SOC开发技术等。
第1章   概述

      开发技术标准化和规范化是现代DSP技术的优势
之一。自顶向下的设计流程为DSP开发技术的标准化
奠定了基础;标准化的硬件描述语言和大量支持这一
语言的综合器与仿真器构成了这一技术的核心;功能
强大、适用面广的DSP开发集成环境将多种开发目标
兼收并蓄;大规模的可重配置器件FPGA/CPLD及相关
的软硬IP核确保了DSP硬件系统高效高质的实现。
第1章   概述

      7. 掌握开发技术的难易程度不同
      掌握传统DSP技术的困难主要来自以下几个方面:
      (1) 不同的开发目标需要选择不同的DSP处理器,
详细了解DSP器件的结构对正确地设计DSP硬件系统至
关重要,特别需要多片DSP联用时更是如此。对器件
硬件结构的熟悉和关注能力需要相当的硬件开发经验,
这显然增加了学习的难度。
      (2) 不同的DSP处理器结构将对应不同的汇编语言,
以及不同的编程方法和编程技巧。语言与结构的密切
相关性在明显增加学习难度的同时,缩短了新的计算
机语言的可用性周期,即学会的软硬件知识容易过时。
第1章   概述

      (3) 不同的DSP处理器结构、不同的汇编语言及其
对应的不同的DSP系统结构,都将对应不同的仿真开
发工具以及编译软件。
      (4) 由于必须直接使用计算机语言来描述和实现复
杂的算法,且描述的方法与DSP结构相关,因而设计
过程缺乏直观性和一般性。
      (5) 由于系统的低速性,为了了解和实现典型的
DSP功能,需将大量的精力花在本应由计算机就能实
现的软硬件结构技巧上。
第1章   概述

      现代DSP技术是完全基于电子设计自动化技术的,
系统级开发工具是目前各学科领域普遍使用的
MATLAB,一切设计操作都可以在同一环境中完成,
整个设计流程中几乎可以不必了解FPGA的结构和
VHDL硬件描述语言,从而最大程度地发挥了计算机
自动化设计的优势。设计者所有的任务都集中在系统
行为和功能的描述,以及系统性能的优化上。
第1章   概述

      比较图1-3和图1-7可以发现,基于图1-3流程的传
统DSP开发中,最初在MATLAB中的DSP模型建立、
相关参数的获取以及模型功能仿真等工作仅仅是整个
开发工作的一个开端(因为更关键更困难更实质性的工
作是在图1-3的虚线以下);然而,同样的一个“开端”,
当移到图1-7中时,整个DSP 的开发工作已完成了80%
以上!其难易之别是不言而喻的。
第1章   概述

      8. 系统成本、功耗、集成度与可靠性不同
      由于CPU的灵活性,对于低速、低吞吐量和大量
复杂运算的情况 ,DSP 处理器方案的系统成本要比
FPGA系统低得多,而且此方案具有不可替代性。
      然而在实用系统中,以上的情况是比较少的。大
多数的情况中不但需要尽可能高速、高性能的DSP处
理器,而且多片DSP连用的情况也十分普遍。在这种
多片DSP系统中,每一片DSP处理器都必须配置完整的
辅助器件才能正常工作,其中包括诸如数据RAM、程
序RAM和ROM、FIFO、双口RAM、FPGA/CPLD辅助
接口器件等等。
第1章   概述

      这种系统的成本将成倍提高自不必说,功耗、集
成度与可靠性等性能指标也都将不同程度地下降。但
是如果使用FPGA来构成DSP系统,在DSP处理器系统
中存在的许多问题将迎刃而解。基于FPGA的DSP系统
的优势主要源于可以形成单片系统。目前拥有大规模
逻辑资源的FPGA完全能容纳本来必须由多片DSP处理
器构成的系统,从而使得单片DSP系统在各项技术指
标大幅度提高的前提下,成本和功耗大幅度下降,集
成度与可靠性则大幅度提高。
第1章   概述


  图1-13所示的是用FPGA APEX20KE设计完成的单
片100 Mb的8端口以太网交换机芯片的内部功能块结构
图。其中含有各种用途的FIFO、RAM、CAM、Cache
和各种功能的控制器、微处理器、100 Mb MAC接口模
块、高速差分接口LVTTL、数字锁相环PLL、PCI接口
等等。
第1章   概述



                        bit




                  bit




       图1-13 单片100 Mb 8端口以太网交换机
第1章   概述

      如果为了进一步降低成本,提高性能,而且可以
不考虑重配置性,则能将已经设计完成的DSP单片系
统直接转化为ASIC。 方法是使用“HardCopy”技术将
FPGA变成HardCopy器件。
      一般地,将一项成功的设计无论是直接转换成
ASIC,还是通过大容量可编程逻辑器件(PLD)迁移,
都是一件十分艰巨和困难的事。ASIC设计固有的初次
开发性能的不确定性、巨大的开发成本、产量要求问
题和面市压力等诸多风险因素正是ASIC产品研发者必
须面对的严峻挑战。
第1章   概述

      然而,一个变通的方法是,利用Altera提供的一套
全新的ASIC设计解决方案即HardCopy器件的应用。可
以将专用的硅片设计和FPGA至HardCopy的自动迁移过
程结合在一起,提供了帮助设计者把可编程解决方案
无缝地迁移到低成本的ASIC上的实现方案。这样,
HardCopy器件就把大容量FPGA的灵活性和ASIC的市
场优势结合起来,实现对于有大批量要求并对成本敏
感的DSP应用系统产品上。这个解决方案可以避开直
接设计ASIC的困难,而从原型设计提升至产品制造,
通过FPGA的设计十分容易地移植到HardCopy器件上,
达到既降低成本,又加快面市周期的目的。
第1章    概述

   HardCopy器件避免了ASIC的风险,它采用FPGA的
专有迁移技术。它们是直接在Altera PLD体系之上构建
的,采用有效利用面积“逻辑单元海”内核。本质上,
HardCopy器件是FPGA的精确复制,剔除了可编程性,
专用配置和采用金属互连使用的走线。这样,器件的硅
片面积就更小,成本就更低,而且还改善了时序特性。
      HardCopy 产 品 支 持 Altera 的 大 容 量 APEX20KE ,
APEX20KC,APEXII和Excalibur器件系列。HardCopy
器件采用和其相应的APEX20K,APEXII和Excalibur的
工艺技术特性。

						
Related docs
Other docs by 0l2Mu8eZ
PowerPoint Presentation
Views: 1  |  Downloads: 0
01 M006 25567
Views: 3  |  Downloads: 0
communication POCT
Views: 6  |  Downloads: 0
WASHINGTON STATE DEPARTMENT OF PERSONNEL
Views: 2  |  Downloads: 0
PowerPoint Presentation
Views: 1  |  Downloads: 0
EES5245Water Quality Analysis Syllabus
Views: 0  |  Downloads: 0
11U/6th Grade Girls - DOC - DOC
Views: 0  |  Downloads: 0
Kaizen Suggestion System
Views: 214  |  Downloads: 0