DSP实现方案及设计流程_第1页
DSP实现方案及设计流程_第2页
DSP实现方案及设计流程_第3页
DSP实现方案及设计流程_第4页
DSP实现方案及设计流程_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章概述

1.1DSP实现方案及设计流程

1.2当代DSP设计流程概述

1.3两类DSP处理方案比较

第1页1.1DSP实现方案及设计流程不停发展数字信号处理(DSP,DigitalSignalProcessing)技术迅速地扩展到了其应用领域,如3G移动通信、网络会议、多媒体系统、雷达卫星系统、医学仪器、实时图像识别与处理、联合战术无线电系统、智能基站,以及民用电器等。所有这一切在功能实现、性能指标与成本方面都在不停增加其要求。第2页在过去很长一段时间,DSP处理器(如TITMS320系列)是DSP应用系统关键器件惟一选择。尽管DSP处理器具有通过软件设计能适用于实现不一样功能灵活性,但面向当今迅速变化DSP应用市场,尤其是面向当代通信技术发展,DSP处理器早已显得力不从心。例如其硬件构造不可变性造成了其总线不可变化性,而固定数据总线宽度,已成为DSP处理器一种难以突破瓶颈。DSP处理器这种固定硬件构造尤其不适合于目前许多要求能进行构造特性随时变更应用场所,即所谓面向顾客型DSP系统,或者说是顾客可定制型,或可重配备型DSP应用系统(CustomizedDSP或ReconfigurableDSP等),第3页如软件无线电、医用设备、导航、工业控制等方面。至于在满足速度要求方面,由于采取了次序执行CPU架构,DSP处理器则愈加不堪重负。面向DSP各类专用ASIC芯片虽然能够处理并行性和速度问题,不过高昂开发设计费用、耗时设计周期及不灵活纯硬件构造,使得DSPASIC处理方案日益失去其实用性。第4页当代大容量、高速度FPGA出现,克服了上述方案很多不足。在这些FPGA中,一般都内嵌有可配备高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器等DSP模块。用FPGA来实现数字信号处理能够较好地处理并行性和速度问题,并且其灵活可配备特性,使得FPGA组成DSP系统非常易于修改、易于测试及硬件升级。第5页在利用FPGA进行DSP系统开发应用上,已有了全新设计工具和设计流程。DSPBuilder就是Altera公司推出一种面向DSP开发系统级工具。它是作为MATLAB一种Simulink工具箱(ToolBox)出现。MATLAB是功能强大数学分析工具,广泛应用于科学计算和工程计算,能够进行复杂数字信号处理系统建模、参数估计、性能分析。Simulink是MATLAB一种组成部分,用于图形化建模仿真。第6页DSPBuilder作为Simulink中一种工具箱,使得用FPGA设计DSP系统完全能够通过Simulink图形化界面进行,只要简单地进行DSPBuilder工具箱中模块调用即可。值得注意是,DSPBuilder中DSP基本模块是以算法级描述出现,易于顾客从系统或者算法级进行理解,甚至不需要理解FPGA本身和硬件描述语言。第7页为了满足DSP技术领域中多种需求以及顺应DSP市场发展,DSP应用系统实现方式和目标器件品种类型、构造特点乃至开发技术本身都经历着不停改善和变革。1.1.1常用DSP应用器件及其性能特点如前所述,DSP作为数字信号算法实现方案有多种,对于不一样应用领域、适用范围和指标要求,能够选用不一样处理方案和DSP系统实现器件。目前,为了完成DSP开发与应用,可选目标器件有如下4类:第8页●DSPProcessorDSP处理器;●ASICs(Application-SpecificIntegratedCircuits)专用集成电路;●ASSPs(Application-SpecificStandardProucts)专用标准电路模块;●FPGA。DSPProcessor主要是指目前最常用基于CPU架构器件,通过软件指令方式完成DSP算法。早期DSP处理器(如大多数DSP试验室中采取TMS320VC5402)中只有一种乘法器,而目前处理器(如C6000系列)中,有已达8个乘法器,工作性能有了很大提升。第9页Processor在硬件构造上不停改善,并没有挣脱传统CPU工作模式。因而,尽管拥有多种硬件乘加器,使用了环形叠代办法进行乘法操作,且许多DSP处理器还拥有使用多乘法器并行指令,用于加速算术运算,然而由于其次序工作方式、较低数据处理速率,以及缺乏实时工作性能,使其至今仍只适合于低端数字信号处理。第10页传统DSP开发者一般都选用DSP处理器来组成DSP应用系统。DSP处理器优势主要是具有较好通用性和灵活性,有适用于多种DSP算法实现通用硬件构造。图1-1所示是一种比较典型DSP系统电路图,除了选用是DSP处理器以及应用程序加载工作方式外,与一般单片机应用系统十分相同,只要将调试好机器码放在程序ROM中,就能使系统正常工作。因此通过这种硬件构造,能对实现多种数据处理程序进行有效执行。由此可知,这种灵活性几乎是没有限制,由于,只要能用对应指令程序体现出DSP算法,其硬件构造都能接收并执行。第11页图1-1基于通用DSP处理器DSP系统第12页然而,多种算法可实现灵活性与多种技术指标可实现性,以及硬件构造可变性完全是两回事。ASSP和ASIC是专门针对完成某种DSP算法集成电路器件,因此在性能指标、工作速度、可靠性和应用成本上优于DSP处理器。如卷积有关器IMSA100、FFT处理器A41102、复乘加器组PDSP16116、求模/相角器PDSP16330、下变频/信号解调器HSP50214等等。其优秀工作性能主要源于特定算法所有由ASSP和ASIC中硬件电路完成。ASSP是半定制集成电路,在许多DSP算法实现方面(如FIR,IIR滤波器)都优于DSP处理器,但在功能重构,以及应用性修正方面缺乏灵活性;ASIC虽然有一定可定制性,但开发周期长,并且有一种最小定制量,因此应用风险和开发成本过高,正在逐渐失去其实用性。第13页但若直接使用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处理器。第14页图1-2DSP处理器次序工作方式与FPGA并行工作方式第15页DSP处理器灵活性主要体现在软件更改容易性以及对各种算法处理和复杂算法实现上,而对于系统硬件本身更改,DSP是没有任何灵活性可言。当代大容量FPGA以其相关开发技术在可重配备DSP应用领域,以及DSP数据大吞吐量和数据纯硬件处理方面,有独特优势。FPGA面向传统DSP处理器很多难以克服技术瓶颈,已有了突破性应用。在各种DSP应用场所,FPGA具有全硬件顾客可定制性以及重配备性,即可根据需要随时通过变化FPGA中组成DSP系统硬件构造来变化系统功能、技术指标、通信方式、硬件加密算法、编解码方式等等。第16页这种构造变化能够由DSP开发者在开发时完成,也能在DSP系统投入实用中随时“在系统”更改,这就是所谓可重配备特性。因此,基于FPGA实现DSP系统,具有完全硬件构造可定制性,包括总线构造可定制性,存放器可定制性,硬件加速器模块构造与数量可定制性,以及大量MAC(乘加器)模块可选性(系统设计中硬件构造可变性称为可定制性,即Customized;系统设计完成后,成为产品后仍能随开发者甚至顾客要求随时进行硬件构造重构,称为可重配备性,即Reconfigurable)。第17页1.1.2DSP处理器构造与性能发展DSP处理器与一般处理器基本差异是DSP处理器中有硬件乘加模块(MAC),专用存放器以及适用于高速数据运行总线构造。MAC工作性能一般是DSP处理器性能关键所在。DSP应用系统主要是完成某些诸如FFT、FIR、IIR、矩阵相乘、卷积等算法。大部分算法包括到乘加构造数学计算(如y=a(b+c(d),这称为乘法累加操作(MAC)。为了提升DSP性能,DSP处理器生产厂商在提升MAC模块硬件性能同步增加它们数量,以提升乘加位宽与速度。例如,TITM320C6411中有8个MAC,能在一种时钟周期中完成8个乘法运算。第18页尽管在DSP处理器中增加更多MAC单元,能深入提高DSP吞吐量,但对于某些一般数据处理量比较大DSP算法,其通用性能却下降了,例如Viterbi编译码器和FIR滤波器就属于这种情况。为理解决这个问题,DSP生产厂商又将一些专用硬件加速器类协处理器模块加入进处理器结构。如Viterbi协处理器、Turbo协处理器和增强型滤波器协处理器等。由于这些处理器本身非通用性,即主要是倾向于某种或某些算法协处理器,从而导致了DSP处理器无法适用于多种类型DSP算法和DSP应用。结果成本增加了,通用性下降了。第19页因此,大部分DSP应用场所并没有从这种增加了多种硬件加速器DSP构造变化中得到好处。不但如此,这种硬件加速器模块是一种固定硬件构造,无法根据特定设计需要来作任何更改,尤其是面向当今通信领域中不停发生多种技术标准和协议变更,这种加速器模块容易很快过时,从而造成整个DSP应用系统过时。针对这种情况,DSP处理器生产商又试图在DSP中增加某些可定制指令,方便能对构造功能根据要求作一定变化。然而这些修补并没有从主线上处理问题。第20页为了弥补速度及吞吐量不足,实用DSP系统使用多片DSP处理器进行并行工作已经是十分普遍事,但这也同步带来了系统在灵活性、功耗、成本、体积、可靠性等技术性能上深入变差。第21页1.1.3FPGA构造与性能发展FPGA器件是由大量逻辑宏单元组成。通过配备,能够使这些逻辑宏单元形成不一样硬件构造,从而组成不一样电子系统,完成不一样功能。正是FPGA这种硬件重构灵活性,使得设计者能够将硬件描述语言(如VHDL或Verilog)描述电路在FPGA中实现。这样以来,同一块FPGA能实现许多完全不一样电路构造和功能。如DSL布线器、数字调制解调器、JPEG编码器、数字通信系统,以及网络接口等等。第22页伴随达数百万门高密度FPGA出现,FPGA在原有高密度逻辑宏单元基础上嵌入了许多面向DSP专用硬核模块,结合大量可配备于FPGA硬件构造中参数化DSPIP软核,DSP开发者能十分容易地将整个DSP应用系统实目前一片FPGA中,从而实现了所谓可编程SOC系统,即SOPC。第23页FPGA中面向DSP嵌入式模块有可配备RAM、DSP乘加模块和嵌入式处理器等,使FPGA能较好地适用于DSP功能实现。例如AlteraStratix系列器件中具有丰富DSP功能块,包括能完成诸如累加、加/减、并行加等通用算法功能模块,有多达224个乘法器,在一种时钟周期中就能完成224次乘法操作。乘法器带宽决定了整个DSP带宽,而FPGADSP带宽比DSP处理器要宽得多。例如,Stratix器件DSP模块能提供70GMACs/每DSP模块吞吐量,而当今主流DSP处理器只能达成4.8GMACs。第24页另外,绝大部分DSP处理器应用系统是用外部存放器来处理大数据量处理。然而FPGA嵌入式高速可配备存放器在大多数情况下都能满足相类似数据处理要求。例如,Stratix系列FPGA可提供达10Mb/s速率嵌入式RAM。FPGA中嵌入式处理器深入提升了FPGA系统集成和灵活性,使之成为一种软件与硬件联合开发和灵活定制结合体,可使设计者既能在嵌入式处理器中完成系统软件模块开发和利用,也能利用FPGA通用逻辑宏单元完成硬件功能模块开发。AlteraFPGA器件还为顾客提供了嵌入式处理器软核与硬核选择。第25页嵌入式处理器软核是由网表文献体现硬件构造,当同其他设计一同配备于FPGA中后,就成为FPGA芯片中一种硬处理器核。高效率SOPC设计能很容易地将软核(如Nios嵌入式处理器)连同与该核有关外围接口系统一同编程下载进同一片FPGA中。设计者能根据实际应用需要定制Nios软核,使之满足不一样总线数量、总线宽度和总线功能要求,优化总线设计,排除传统DSP中许多常见问题。还能定制处理器指令,此时Nios开发软件编译器将自动作对应变化。这种构造可变(可定制)DSP处理器能较好地根据实际需求,在性能/功能与构造大小之间作最佳平衡,以适用于不一样DSP应用领域。第26页硬核处理器主要指在Excalibur系列FPGA中ARM核。这种核已预先嵌入在FPGA中,具有完整外围接口系统,如SDRAM、存放器控制单元、UART等。当代FPGA中具有十分灵活、针对特定算法加速器模块。与传统DSP处理器中加速器模块不一样,FPGA中实现硬件加速器是能够针对不一样应用,这能够使设计者针对不一样DSP任务实现硬件功能。设计者针对详细任务在FPGA中实现硬件加速器模块途径很多,主要有下述几个:第27页●用硬件描述语言HDL完成;●基于通用逻辑宏单元LCsHDL设计;●基于可配备DSP硬核模块:存放器、乘法器、并行加法器、累加器等;●基于全参数可设置DSP软IP核应用(进入FPGA中后其将成为性能优良硬件模块);●Nios软核处理器;●ARM硬核处理器。第28页在基于FPGADSP开发中,面向DSPIP核应用是最方便设计方案。由Altera与其AMPP合作搭档(AlteraMegafunctionPartnerProgram)提供针对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等)。第29页以上每一种核都能够利用QuartusII中“MegaWizardPlug-InManager”管理器进行参数设置以组成针对特定应用硬件功能模块。这种通过软件设置能随意变化专用硬件模块功能技术,极大地提升了FPGA在DSP设计方面灵活性。IP核利用,能够使设计者将IP核加入到任何标准硬件描述语言中,完成特定功能而不变化本来设计程序;虽然在设计中和设计完成后,都能根据实际需要变化嵌入IP核技术参数,而不变化整体设计综合得来代码,从而变化DSP系统技术指标和硬件功能。另外,IP核本身基本不依赖于某种特定FPGA硬件构造,即具有硬件通用性(这一点与DSP处理器及其库程序有很大不一样),因此能够在更新、更便宜FPGA中实现。第30页显然,FPGA与软IP核巨大灵活性能十分迅速地对虽然是已经完成设计系统,仍然能适应通信领域中不一样,诸如Wireless802.lla,WirelessBroadbandWorkingGroup802.16及HiperLAN12等新标准要求,而绝对无须如使用传统DSP处理器那样,要等候很长时间才能有适用器件出现,或是在开发前期必须针对某种通信标准,而费时费劲地确定某款合适DSP处理器型号。第31页1.1.4基于DSP处理器DSP设计流程图1-3是传统DSP系统典型开发流程。大体步骤如下:(1)DSP开发者首先使用诸如MATLAB这样数学开发工具对DSP算法进行优化设计和仿真测试,或用Simulink进行DSP系统建模,以取得满足功能要求和适应硬件特点算法模型。尽管目前已有可将SimulinkDSP模型直接转换成DSP处理器C程序,但由于器件通用性问题,尤其由于C程序运行效率问题,通过MATLAB途径取得C程序几乎没有实用价值。第32页(2)根据DSP目标系统功能要求、技术指标、系统升级可行性、性能标准也许变化以及成本程度等原因,详细确定DSP处理器(并行使用)数量和型号。这时必须十分熟悉目前主流DSP器件详细硬件特性与价格范围,同步还要与手头DSP开发软硬件工具和功能块程序库结合起来考虑。由于目前DSP处理器厂商、品种、系列、功能、适用面以及价格等原因差异颇大,精确无误地确定DSP处理器品种不但十分棘手,同步也事关重大。由于假如当系统最后设计并调试完成后,若发觉由于DSP处理器造成某项技术指标不能达成,或在后来某项技术规范升级要求中无法实现,将出现整个硬件系统必须重新开发严重局面。第33页图1-3基于DSP处理器开发流程第34页(3)根据选定DSP处理器和系统功能要求,完成应用系统评定板或测试板设计,不然无从调试DSP软件程序,更无法验证明际系统中各项技术指标可实现性及应用系统可行性。(4)根据MATLAB算法模型和DSP评定板硬件构造,编写C、C++程序,或汇编程序。在DSP标准开发环境中(如TICCS)进行编译、仿真,然后通过DSP硬件仿真器在应用板或评定板上进行调试和实时仿真。这一过程中,还能使用基于C标准DSP功能块库来加速开发进程。第35页不过假如考虑到系统实时性,包括数据运算、采样和输出高速高效性,就必须使用汇编程序来完成设计,这时就必须严格考虑详细器件型号和对应指令系统,由于不一样系列DSP器件指令系统一般是不兼容。在仿真调试过程中,也许出现问题是多方面,最棘手当属硬件系统从设计一开始,在可行性上就出了问题,这时只能重新进行DSP应用系统设计。(5)最后完成实用硬件系统实现。第36页1.1.5基于FPGADSP设计流程在早些时候,DSP开发者只能直接使用VHDL或VerilogHDL语言进行FPGADSP系统设计,难度比较大。目前已经出现了许多新基于FPGADSP开发工具。如DSPBuilder、SOPCBuilder、SystemGenerator等,以及完整软件开发平台。从而使得设计者能遵循一条类似于软件设计流程开发办法进行FPGADSP设计,设计效率大为提升。图1-4至图1-7概括了基于FPGA几个不一样DSP系统设计流程。第37页图1-4基于FPGA软件与硬件开发流程第38页图1-5基于FPGA软件与硬件加速设计流程第39页图1-6基于FPGA硬件开发流程第40页图1-7基于FPGA系统级开发流程第41页1.基于FPGA软件与硬件设计流程图1-4所示是具有嵌入式处理器FPGA支持软件设计流程。Altera提供软件开发工具有GNUPro套件,可用于编译、调试、汇编和连接。设计前可将编译好软件下载到FPGA中内部RAM中或是外部存放器中。2.应用硬件加速单元(IP核)FPGA软件与硬件设计流程图1-5所示流程与以上设计流程比较相同,这种流程除了要求有嵌入式处理器外,还要有硬件加速器,从而能够使DSP系统在灵活性、功能和成本方面都有较好提升。第42页DSP开发者能够将软件设计流程与硬件加速模块结合起来。能够首先进行C程序编程,并且将其中必须部分形成专用、高效功能块,使用DSPIP核或直接开发定制指令,在FPGA中能够加速系统功能高效实现,而其他某些要求不高DSP算法以及系统控制程序则可在嵌入式Nios中完成。另外,Altera还提供了系统级设计工具,即SOPCBuilder。设计者能够通过将嵌入式处理器(如Nios)、系统接口模块以及IP核结合起来完成整个硬件系统设计。第43页DSPBuilder也提供了一种从MATLAB/Simulink直接到FPGA硬件实现设计接口。DSPBuilder极大地简化了DSP功能硬件实现流程,并提供了系统级仿真测试功能,设计者甚至能够不理解硬件描述语言HDL设计流程,无须懂硬件描述语言本身,也能进行DSP应用系统FPGA开发。第44页3.基于FPGA硬件设计流程如图1-6所示,DSP设计者还能使用基于HDL设计流程完成纯硬件DSP系统开发。Altera提供了一套完整FPGA开发工具,包括QuartusII以及其他第三方EDA工具,如Modelsim、Synplify以及LeonardoSpectrum等,这些工具能完成硬件设计建模、仿真、综合、调试和在系统中进行DSP测试等。假如使用已得到良好优化基于HDLDSPIP核,则能大大简化整个开发过程。第45页4.基于FPGA系统级硬件设计流程图1-7所示流程就是本书将重点介绍DSP开发流程。与图1-3相比,一种主要区分在于DSP处理器设计流程中,MATLAB工具使用仅仅是作DSP算法建模和基于纯数学仿真,其数学模型无法为硬件DSP应用系统直接产生实用程序代码,其仿真测试成果也仅仅是基于数学算法成果,既非系统仿真,也非功能仿真,更非实时时序仿真,因而只能起到计算机辅助设计和辅助分析作用(因此在流程转换中用虚线表达)。第46页图1-7所示流程则表白基于FPGADSP开发流程中,顶层开发工具就是MATLAB/Simulink,整个开发流程几乎完全能够在同一环境中完成!真正实现了自顶向下设计流程,包括DSP系统建模、系统级仿真、设计模型向VHDL硬件描述语言代码转换、RTL级功能仿真测试、编译适配和布局布线、时序实时仿真,直至对DSP目标器件编程配备。整个设计流程一气呵成地将系统描述和硬件实现有机地融为一体,充足显示了当代电子设计自动化开发特点与优势。图1-7设计流程将在下一节中给予深入说明。第47页1.2当代DSP设计流程概述本节简要介绍基于MATLAB/Simulink、DSPBiulder和QuartusII等工具软件DSP开发流程。由图1-7可见,整个设计流程,包括从系统描述直至硬件实现,能够在一种完整设计环境中完成,同步组成了一种自顶向下典型EDA流程。因此这个流程不但仅适用于DSP开发,同样适用于EDA技术和SOPC设计。第48页如图1-8所示,设计流程从利用MATLAB建立DSP电路模型开始。电路模型建立能够是图形化,能够方便地利用Simulink与DSPBuilder中提供丰富功能块和IP核进行设计。DSPBuilder包括比特和周期精度Simulink模块,还涵盖了诸如算术和存放功能基本设计模块以及IP库中许多复杂功能模块。电路中功能块和IP技术参数、数据格式、数据类型和总线宽度等都能够直接设置。电路模型设计完成后,能够进行系统级模型仿真,属于系统功能仿真,与目标器件和硬件系统没有关系,是基于算法仿真。图1-9是Simulink中一种幅度调制设计模型电路和仿真成果。第49页图1-8DSPBuilder设计流程第50页图1-9DSP电路模型和系统功能仿真第51页在图1-8中还能看到利用嵌入式逻辑分析仪一种测试流程。SignalTapII嵌入式逻辑分析仪应用是当代DSP技术中最有特色测试技术之一,这项技术只能在FPGA开发中使用。SignalTapII必须能够随心所欲地嵌入目标器件或从中撤走。SignalTapII能够直接插在Simulink模型电路中任何一处或多处,并可随该电路一同编译、适配和下载到DSP硬件系统目标芯片中。在目标芯片指定通道上,第52页嵌入SignalTapII能根据给定触发条件采集电路信号,并通过目标芯片JTAG下载口将信号回送往PC机,然后在MATLAB界面上显示出来。一旦完成测试,能够通过模型修正和编译,将SignalTapII从目标器件中撤消。图1-9所示为DSP电路模型和系统功能仿真。第53页接下去是利用置于Simulink电路模型界面DSPBuilderSignalCompiler,将电路模型文献即Simulink模块文献(.mdl)转换成RTL级VHDL代码表述和Tcl(工具命令语言)脚本。这种转换是基于Simulink模型构造化分析。RTL级VHDL代码通俗解释就是在FPGA中完成硬件电路实现VHDL程序(由于并非所有VHDL语句都能对应实际硬件电路)。Tcl脚本主要是用于对后续VHDL综合与仿真控制与规范(注意,就目前基于FPGADSP设计工具而言,包括AlteraDSPBuilder和XilinxSystemGenerator,都只能将Simulink模型转换成VHDL,而非Verilog)。第54页一旦取得了转换好VHDL描述,在Simulink中即可调用VHDL综合器了。目前可选择综合器主要有QuartusII、Synplify和LeonardoSpectrum。由它们生成底层网表文献。图1-10即为Synplify生成网表文献对应RTL电路图。注意,只有在此时才能真正确定DSP硬件实现目标器件选择,包括FPGA器件系列和型号。由于对RTL级VHDL综合,必须确定底层元件工艺特性和构造特性,但无须理解硬件时序特性,只有在适配时才需要时序信息。第55页图1-10由VHDL综合出RTL级电路图第56页电路描述中间网表文献,称为原子级网表文献,即ATOMNetlist。下一步是调用QuartusII中编译器,根据网表文献及设置优化约束条件进行布线布局和优化设计适配操作。最后生成编程文献和仿真文献,即生成POF和SOFFPGA配备文献,可用于对目标器件编程配备和硬件实现;同步生成可分别用于QuartusII门级仿真文献和ModelSimVHDL时序仿真文献,以及配套VHDL仿真鼓励文献,可用于实时测试DSP系统工作性能。第57页在以上转换过程中,每个DSPBuilder模块都通过了优化,利用专用硬件资源优势,根据不一样目标器件系列作不一样综合与适配。例如在用Stratix器件时,累加器模块一般使用专用DSP模块,而在为APEXII器件编译设计时,则使用逻辑宏单元LCs来替代。读者在图1-8中能够注意到有一种ModelSimVHDL仿真流程。由上面SignalCompiler生成VHDL,在进入ModelSim仿真流程取得成果与硬件时序没有关系,属于功能仿真成果;而当由QuartusII生成VHDL仿真文献,进入ModelSim仿真流程后取得仿真成果属于时序仿真,即是对系统实时测试成果。第58页最后是将QuartusII生成配备文献下载到目标器件中,形成DSP硬件系统。作为总结,用图1-11所示流程能够对图1-8作深入说明。图1-11将DSP开发流程划分为两个层次:虚线左边为系统级设计与仿真流程,右边为RTL级设计、仿真和硬件实现流程。两个流程通过DSPBuilderSignalCompiler直接握手,左边是与硬件完全没有关系类似于软件方式设计流程,而右边则是硬件设计流程。第59页图1-11基于FPGA系统级开发流程第60页一方面,左边能够通过模型设计、模块应用、数据格式设置、触发条件选择等操作直接控制右边硬件设计流程与硬件实现方式;另一方面,右边又能通过时序仿真、SignalTapII测试等方式及时或实时地将硬件信息反馈给左边。这是一种完美组合,是当代DSP设计技术乃至当代电子系统设计技术特色与关键。第61页由脱离硬件系统级开始设计,优势是直观、快捷、高效、灵活、易于排错与及时修改,非常有助于对复杂系统构建、测试及可行性判断,及时更改设计方案,同步也有助于系统模块化构建、模块化测试和模块化重利用,是高效率低风险设计有效处理方案。将软件设计与硬件实现直接握手,是电子设计难点,这对于传统电子设计来讲是不可思议事情。这种设计流程前提是必须使用硬件描述语言HDL和FPGA,因此传统DSP处理器开发很难介入到这个流程中。第62页1.3两类DSP处理方案比较本节结合以上讨论成果,对当代DSP技术与传统DSP技术作一种一般性比较。这里所谓传统DSP技术主要是指以DSP处理器为关键或作为主要处理单元DSP应用系统及其开发技术,也包括将FPGA或CPLD作为这些系统中DSP辅助处理或接口等功能情况。需要指出是,最少在目前,这两种技术还没有较好地互相替代(或互相包括、互相覆盖),第63页也没有较好地互相融合。例如在通信领域中,DSP处理器在基带处理功能方面具有不可替代优越性,而在典型软件无线电系统中宽频处理、高频段信号处理,包括通信系统构造开放性、标准化、模块化,以及工作频段收发可变性,调制解调类型,数据格式,加/解密模式,通信协议,总线构造等可变性,传输格式及通信体制互通性和可变性等等方面,FPGA无疑将成为主要选择!严格地说,当代DSP技术不也许融入传统DSP技术内容,但反过来却能够,不过仍应属于传统技术范围,由于其自底向上设计流程没有变化。第64页当代DSP技术与传统DSP技术不一样之处主要体现在下列几个方面:1.系统工作速度不一样与FPGA相比,DSP处理器最大劣势之一是处理速度比较慢。尽管在硬件构造上作了大量改善,如增加硬件乘法累加模块和加入各种专用加速协处理器等,但其速度瓶颈来自于基于CPU指令次序执行基本工作模式,以及通常使用多片DSP组合电路和过多外部接口电路(FPGA通常能够实现单片系统)造成信号通道过长、过复杂。下面以FIR数字滤波器设计为例,对两种DSP处理方案计算速度作某些比较。第65页图1-12所示是用多种途径实现16阶8位FIR数字滤波器在速度和相位线性等方面综合性能对比情况。柱面图高度表达相对性能指标,五个柱面分别表达用五种不一样器件实现16阶8位FIR滤波器性能相对指数(以TMS320C2XX系列50MHzDSP芯片综合性能为比较基准),它们分别是133MHz专用CPU、50MHzDSP处理器芯片、4个同类50MHzDSP处理器联合工作情况和EPF8820A-2与EPF81500A-2ALTERAFPGA产品。第66页图1-12实现16阶8位FIR滤波器综合性能对比第67页由图不难看出用FPGA实现滤波器在性能上显著优势。以FPGA器件EPF81500A-2实现数字滤波器综合性能是一般DSP器件67倍多。下列再以目前完成乘法累加速度最快TIC6X系列DSP处理器、最常用DSP处理器和FPGA完成同一算法(即8位224阶FIR滤波器)进行比较见表1-1。第68页表1-1FPGA与DSP处理器运算速度比较功能实现资源需求TITMS320C5402TITMS320C6414ALTERAFPGAEP1S120阶数224224224乘法累加器数18(最大)224(28个DSP模块)内部时钟速度100 MHz600 MHz250 MHz算出成果时钟周期数224281每秒乘加运算次数0.1GMACs4.8GMACs56GMACs第69页由表1-1可见,EP1S20型FPGA乘加速度最快,每秒为56千兆个MAC操作,是TMS320C641412倍,TMS320C5402560倍。而这时FPGA中采取内部时钟速度还不到TMS320C64141/2。另外还应看到两点:(1)TMS320C6414和TMS320C5402中MAC模块极限分别是8和1,而EP1S120中224个类似于MACDSP模块数却非极限,由于FPGA中有数以万计逻辑宏单元LCs可供随意组合成多种类型硬件电路功能模块。第70页(2)TMS320C6414与EP1S120单片售价相称,但在实用DSP系统中,单片C6X几乎无法完成实际运算任务,而FPGA却常能组成单片系统。从表1-1比较成果不难推知,DSP处理器在诸如实时控制、实时编/译码、实时图像识别/处理、实时通信、实时跳频、实时传输等实时操作领域较难有所作为。值得注意是,处理器TMS320C5402是目前国内绝大多数DSP试验室中主流器件。第71页2.设计流程不一样在上一节中已对两种处理方案设计流程作了说明。比较图1-3和图1-7,不难发觉两种设计流程正好相反,前者是自底向上设计流程,后者是自顶向下设计流程。在图1-3流程中,由于必须首先完成硬件系统设计,以供仿真调试之用,然而在没有进行任何有效系统可行性评定、硬件电路测试和实时仿真情况下,就不得不首先确定DSP器件型号、系统电路原理图及系统板设计,并且此后很难随心所欲地更改。这一切无疑具有相称盲目性和风险性(包括成本风险及开发周期风险),这将严重影响开发效率和成功率。第72页不难发觉,自底向上设计流程将造成这样一种佯谬:实时仿真调试目标是为了设计出符合要求DSP系统,然而假如没有这样一种系统就主线无法进行实时仿真调试。这是一种互为根据、自相矛盾现象,显然是一种不科学、被动和无奈选择。自顶向下设计流程则彻底处理了这一矛盾。如图1-7所示,系统设计能够在与硬件无关环境中完成,实时时序仿真完全能够在实际硬件电路系统设计出来此前进行,第73页至于选择或更改总线宽度、浮点或定点数据类型、单精度或双精度格式、串/并行处理方式,以及硬件加速模块使用类型、数量、方式等等十分主要工作,都能够在MATLABSimulink顶层设计环境中随时完成而无须顾及此后硬件选择。显然自顶向下设计流程对于硬件系统构造控制具有全程积极权和能动性,是优化设计和高效开发必要条件。第74页3.系统构造可重构性不一样虽然加载不一样软件程序能够变化DSP处理器功能,但这种相对于AISC系统来说十分灵活功能并没有什么实用价值。由于仅仅通过对DSP处理器加载不一样程序代码,并不能有效地变化DSP系统诸如吞吐量、数据总线宽度、DSP加速模块数量与功能、调制模式(如AM、FM、ISB、FSK、PSK、MSK、QAM等)、实时加/解密算法、模块DSP系统、处理频段带宽、通信协议、动态范围、制式(如FDM、TDM、CDMA、WCDMA间切换)等等技术参数和技术方案。第75页这是由于这一切必须完全变化硬件构造、硬件功能和硬件组成才能实现。即除非DSP系统具有硬件可重构性,即构造有可重配备性才能实现上述变化。由于不一样配备文献下载于FPGA后,将能取得不一样硬件构造和硬件功能,因此基于FPGADSP系统具有良好系统构造可重配备特性。不一样配备文献对于FPGA加载能够有多种方式,如下所述。第76页(1)将多种配备文献预先存放在DSP系统ROM中,系统根据实际需要自动选择下载配备文献。缺陷是配备文献数有限。(2)将配备文献所有预存在大存放器中,或PC机中,由外围系统选择下载配备文献。(3)通过无线遥控方式,对远处DSP应用系统进行配备,从而遥控变化功能模块或系统硬件构造,达成变化技术指标和硬件工作方式目标。(4)通过互联网进行配备,实现远程硬件构造控制。第77页4.仿真测试技术不一样DSP处理器开发中除了能够利用MATLAB等工具完成算法仿真外,唯一有实际意义仿真是借助于实时开发系统仿真,即必须与实际硬件系统相连后才能进行。然而从仿真严格意义上讲,这不能称之为“仿真”,而只能称为“硬件调试”,即所谓“HardwareDebug”,由于对于A/D和D/A模拟信号测试,尤其是实时测试,只能通过实际仪表才能实现。因此说只有脱离了作为仿真对象硬件系统测试活动才能称为“仿真”。

第78页而在DSP处理器系统“仿真”中,就有些相称于“生米煮成熟饭”感觉,当在“硬件调试”中发觉有问题时,假如不是来自源程序本身错误,除非彻底更改整个硬件系统,不然就只能将就接收“既成事实”了。并且这种“仿真”实际意义仅在于,假设(事实也要求)待开发硬件系统已经设计成功并能正常工作条件下,完成DSP源程序在硬件系统上调试活动。因此,这种“硬件调试”意义就弱化了许多。另外由于仿真调试步骤太单一,许多软硬件中存在问题定位十分困难,对于多DSP器件组成大系统调试效率很低。第79页基于FPGADSP开发流程则不一样,由图1-8和1-11可见,整个流程有多种层次仿真测试和硬件调试步骤。主要可分为下述5个步骤:(1)基于MATLAB/Simulink模型系统级仿真,包括对数字信号和模拟信号仿真测试。这个仿真步骤能够对系统组成和算法模型进行调试和评定;(2)利用功能强大HDL仿真器ModelSim进行RTL级功能仿真和模拟信号仿真;(3)利用ModelSim对DSP数字系统进行实时时序仿真;第80页(4)利用QuartusII中门级仿真器进行时序仿真;(5)利用嵌入式逻辑分析仪SignalTapII对DSP硬件系统进行测试。在以上5个仿真测试步骤中任何一处发觉问题,都能够随时修正和排除。5.系统知识产权自主性不一样由于基于FPGADSP系统主要是纯硬件系统设计,可选硬件实现方式很多,因此系统具有较好自主知识产权属性。基于DSP处理器系统则没有这种属性。第81页6.开发技术标准化、规范化与技术兼容性不一样为了适应不一样DSP应用系统技术指标要求和适用领域,必须推出不一样系列和功能特点DSP处理器,而不一样DSP处理器其硬件构造一般都有较大差异,因此对应不一样汇编语言,需要不一样软硬件开发工具和仿真器。另外,由于对应C程序运行效率比较低,实时要求较高系统仍然需要利用汇编语言进行开发,因此,调试成熟软件模块难以移植和再利用。第82页在这里,硬件构造与计算机语言密切有关性、仿真测试与硬件系统密切有关性,以及系统性能与DSP处理器选择密切有关性,注定了无论是设计流程、仿真开发工具还是开发语言都不也许得到标准化、规范化,从而极大地减少了DSP开发技术学习效率、开发效率、实现效率及升级更新效率。传统DSP技术难以标准化另一主要原因是,该技术实现流程过于单向化,技术兼容性不好,很难与其他开发技术融为一体。如单片机开发技术、嵌入式系统开发技术、可配备模拟系统开发技术、大规模可编程逻辑系统开发技术,乃至SOC开发技术等。第83页开发技术标准化和规范化是当代DSP技术优势之一。自顶向下设计流程为DSP开发技术标准化奠定了基础;标准化硬件描述语言和大量支持这一语言综合器与仿真器组成了这一技术关键;功能强大、适用面广DSP开发集成环境将多种开发目标兼收并蓄;大规模可重配备器件FPGA/CPLD及有关软硬IP核确保了DSP硬件系统高效高质实现。第84页7.掌握开发技术难易程度不一样掌握传统DSP技术困难主要来自下列几个方面:(1)不一样开发目标需要选择不一样DSP处理器,详细理解DSP器件构造对正确地设计DSP硬件系统至关主要,尤其需要多片DSP联用时更是如此。对器件硬件构造熟悉和关注能力需要相称硬件开发经验,这显然增加了学习难度。(2)不一样DSP处理器构造将对应不一样汇编语言,以及不一样编程办法和编程技巧。语言与构造密切有关性在显著增加学习难度同步,缩短了新计算机语言可用性周期,即学会软硬件知识容易过时。第85页(3)不一样DSP处理器构造、不一样汇编语言及其对应不一样DSP系统构造,都将对应不一样仿真开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论