您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > VLSI数字信号处理系统设计
VLSI数字信号处理系统设计王明全wmingquan@gmail.com13940301914课程简介•课程类型:学位课•学时:32学时•先修课程:–信号与系统–数字信号处理–实时信号处理系统设计与实现–数字电路设计教科书•VLSIDigitalSignalProcessingSystems–DesignandImplementation,keshabK.Parhi,Wiley,1999•中译本:VLSI数字信号处理系统设计与实现,陈弘毅等译,机械工业出版社,2004参考书•DigitalSignalProcessingwithFPGA(3rdEdition),UweMeyer-Baese,Springer,2007•第3版中译本:数字信号处理的FPGA实现,刘凌译,清华大学出版社,2010•实时信号处理-信号处理系统的设计与实现,John.G.Ackenhusen著,李玉柏等译,电子工业出版社,2002主要内容•面向数字信号处理应用的全定制或半定制VLSI和软件设计方法学。1.数字信号处理算法的表示(第1章);2.高层次的架构变换(第2章~第7章),用来设计给定算法的一系列架构,包括:流水线,重定时,展开,折叠和脉动阵列设计。3.高层次算法变换(第8章~第12章),主要研究算法设计和电路实现之间的相互作用。包括:快速卷积,强度缩减,超前等。第一章绪论-数字信号处理系统•数字信号处理相对模拟信号处理的比较优势1.对于温度漂移和工艺变化鲁棒性更好。2.精度更高。数字表示的精度通过改变信号的字长可以得到更好的控制。3.信噪比高,抑制噪声和干扰的能力强。数字信号处理技术可以在信号放大的同时消除噪声和干扰,而在模拟信号处理,信号和噪声都被放大了。4.无误差处理。数字信号可以无误差地进行存储与恢复、发送与接收以及处理与操作。•注意:有些情况下必须采用模拟信号处理系统,如:1.要求频率极高——无线通信中射频收发机系统;2.要求芯片面积极小、功耗极低——微机电系统(MicroElectro-MechanicalSystems,MEMS)。MEMS是指可批量制作的,集微型机构、微型传感器、微型执行器以及信号处理和控制电路、直至接口、通信和电源等于一体的微型器件或系统。•典型的数字信号处理(DSP)系统–通常对实时性要求很高。•数字信号处理和其他通用计算的主要区别:–要满足实时处理对吞吐率的严格要求•实时地对到达系统的输入采样进行计算和处理,这与先将输入的数据存储起来再批处理的方式相反;•系统如果满足了采样率要求,就没有必要再提高计算速度。–数据驱动特性•实时(realtime)性讨论:–将数字信号处理系统的功能定义为变换,输入采样为,输入采样时间间隔为,得到输出信号,有jT,01ixniIxT,01jymjJjjiymTxnymxncTyT,0,1,1nTxnL,,1,21nTxnLLL–注意:输出样本取决于L个输入样本,其范围从到。这样的输入信号集,称为长度为L的帧。是输出信号的周期。要将一帧内的所有数据进行变换,需要一定的计算时间。1ym011,,,Lxxx0t1xtLTyTjTcT•情况1:如果小于帧的持续时间,即,则对样本的处理,就可以在影响下一个输出的最后一个样本到达之前完成。因此,第二帧的计算可以在样本到达的时候立即开始。在帧长和计算时间皆为常数的情况下,输出总能跟上输入。cTymxn1y2y3ycTcTcTcT0ycxTLT011,,,Lxxx2y121,,,LLLTxxx21LxcT•情况2:如果,则对输入信号进行运算所需要的时间,将大于帧长。前一帧的计算要在下一帧的最后一个输入样本到达以后才能完成,输出会越来越落后于输入。系统是不能连续运行的,因为来不及处理的输入信号会不断地积压,序列的输入在输出时延变得很大以前就会终止。cxTLT011,,,LxxxxLTcxTLTcxTLTcxTLTymxn0y1y2y•结论:处理时间的门限是最重要的参数,系统满足,为实时运行;而,则为非实时的。•实时的定义:如果完成计算(或处理)所需的时间不超过对输出有影响的所有输入采样的持续时间,则该处理就是实时的。•核心思想:计算(或处理)必须在一个特定的时间间隔——输入采样集的持续时间内完成。jTjymixnixncxTLTcxTLTcxTLT•判别系统实时性的三个关键参数:1.输入采样周期;2.变换的复杂度;3.完成计算的处理机速度。xTjTjiTxn•数据驱动特性1.一旦输入数据准备好,系统中的任何子任务或计算都可以执行。–系统由数据流而非时钟同步,系统可以用不采用全局时钟的异步电路实现。–在同步电路中,时钟负责系统运行的步伐,而异步系统中却不同。异步系统往往可以做得比同步系统更高效,但也更难设计。在异步系统中,系统各模块不必同时工作,而是由数据流来驱动,输入数据准备好了,就可以马上开始工作,数据处理完就可以停下来,以节省功耗。2.非终止(Non-terminating)性重复执行同一代码,要求实时操作。112forntoynaxnbxncxnend•典型数字信号处理运算–卷积,相关,数字滤波器,自适应滤器;–运动估计,离散余弦变换(DCT),矢量量化;–抽取和插入,滤波器组,Viterbi算法和小波等。•实现数字信号处理系统的两种主要方式:1.通用结构——可编程处理器,包括GPP和DSP器件;–GPP,例如ARM处理器具有比较强的事务管理功能,可以用来运行界面以及应用程序等,其优势主要体现在控制和调度方面。–DSP,例如TITMS32C55x,ADIBlackfin处理器主要是用于运算,其优势是强大的数据处理能力和较高的运行速度。–优点:可编程、灵活易于实现;–缺点:为串行执行机制,并行处理能力弱;速度较低,硬件效率较低。2.专用结构——全定制硬件电路,如专用芯片和基于FPGA/CPLD的逻辑硬件。–一般作为协处理器或加速器,易于实现多通道、实时、高速和并行,针对算法和功能特制,硬件效率较高。•DSP系统的设计目标:–性价比最高,在获得最高性能的同时尽量降低成本。•设计时要考虑如下几个方面:1.所需的硬件电路资源,例如空间和面积;2.运行速度,由系统吞吐率和时钟决定;3.功耗,完成某一给定任务所消耗的能量;4.有限字长效应,由量化和舍入引起。•DSP系统的性能“鸿沟”1.算法复杂度随着应用需求不断提高,传统的固定架构的DSP处理器已经不能满足要求,需要采用更高性能的信号处理机。2.对于系统中运算性能要求最高的部分,需要协处理器来完成,而且这类需求还在不断扩大。3.“面积—速度—功耗”权衡实现同一功能的DSP系统,可以有不同结构,每种结构对应一定的电容量。假设频率f保持不变,电容越大,充放电时间越长,必须提高供电电压才能保证一个周期内信号达到规定的逻辑电平;相反如果电容小,那么供电电压就可以将下来,从而功率得到降低。例如,乘法器的电容量较大,可以利用强度缩减技术减少乘法器的数量。□2PCVf4.对并行处理的需求:利用并行机制来加快处理速度。要考虑如下方面:①模块划分粒度工作(job),任务(task),过程(process),变量(variable),位(bit)②并发控制方式I.中央控制(程序控制);II.数据驱动控制,分为数据流驱动和命令驱动(Demand-driven)。③通信方式I.专用网络结构II.共享存储器•解决办法:1.采用更高,高,…性能的GPP和DSP处理器a)实质上是软件计算——利用软件和相应的硬件完成信号处理运算;b)串行处理结构;c)灵活、通用,但是速度较慢。2.全定制VLSI电路a)可以在面积、速度和功耗上进行全面优化;b)可以采用并行处理结构,处理速度较高;c)灵活性较低,价格竞争力差;d)发展机会——IP核,可编程逻辑器件(CPLD和FPGA)。•DSP+FPGA是目前、以及未来最适合填补“鸿沟”的解决方案1.DSP处理器基于精简指令集(RISC)和哈佛体系结构,内部包含至少一个快速整列乘法器和扩展字宽累加器,缺点是MAC单元较少。但优势在于浮点运算能力。2.FPGA可以通过在片内配置多级MAC单元以获得较高带宽,并且a)完全支持并行处理机制;b)电路结构可灵活配置,设计风险低;c)单位功能功耗较低;d)设计移植方便;e)开发人员可以用它来创建一个定制的、与众不同的设计方案;f)器件成本下降很快。3.应用:a)DSP处理器作为主处理单元,主要负责算法系数更新、决策控制操作和高速串行数学运算;b)FPGA作为协处理器、预处理器和后处理器,主要负责高并行度处理和多通道数据吞吐。•DSP系统设计方法学基本流程:1.需求分析;2.算法分析与设计,建立满足处理和计算需求的优化的算法结构;3.系统结构设计,基于算法结构进行硬件和软件设计;4.实现和调试。•VLSI专用芯片(ASIC)设计流程•基于FPGA的设计流程•DSP算法的表示方法–DSP算法具有非终止(Non-terminating)性,重复执行同一代码。–例如:对于FIR数字滤波器其非终止性程序描述为:112forntoynaxnbxncxnend12ynaxnbxnxn•定义:迭代(iteration):算法中所有计算(或功能)执行一次称为迭代。–举例:系统对于一次迭代,完成得计算为:•定义:迭代周期(iterationperiod):算法完成一次迭代所需的时间。–举例:对于系统–假设系统中加法器和乘法器的执行时间为Tm和Ta,则该系统的迭代周期为Tm+Ta(假设为10ns,红框中的执行部分),信号的采样周期Ts必须满足•定义:迭代率(iterationrate)是迭代周期的倒数。采样率(samplingrate):也称吞吐率,是指每秒处理的采样数量。•关键路径(criticalpath):–对于组合逻辑,是指输入和输出之间最长的路径,路径的长度与其计算时间成正比;–对于时序逻辑,是指任意两个存储元件(或称延迟元件)之间的最长路径;–关键路径的计算时间决定了DSP系统最小可行的时钟周期。•迟滞(latency):产生输出的时间与系统接收对应输入的时间之差。–对于组合逻辑,通常用绝对时间单位或门延迟的数量表示;–对于时序逻辑,通常用时钟周期的数量表示;–一般情况下,DSP系统的时钟率与采样率不相等。•DSP算法的高层次描述1.注重描述系统的功能,而不是内部操作的顺序和结构,采用数学形式描述,如公式和方程;2.对于体系结构(架构)设计,则将数学公式转换成行为级描述语言或用图形表示。•行为描述I.应用性语言(applicativelanguage):表示满足算法中变量之间关系的方程组,而不是一系列动作(要执行的任务),任务描述的顺序并不重要。例如,Cathedral综合工具中采用的Silage语言。II.说明性(prescriptive)语言:高层次编程语言,明确地制定任务描述的顺序。例如C语言,Fortran语言,Matlab。III.描述性(descriptive)语言:描述硬件结构和行为,如硬件描述语言Verilog和VHDL。•图形表示I.有效地研究和分析DSP算法的数据流特性,并且说明不同子任务之间内在的并行性;II.将算法映射为硬件实现,把算法描述和结构实现连接起来1.展示系统的并行性和数据驱动特性;2.易于对空间和时间的权衡;3.选择合适的系统架构(与工艺无关)。III.图形表示的抽象级1.框图(blockdiagram);2.信号流图(signal-flowgraph,SFG);3.数据流图(data-flowgraph,DFG);4.依赖图(dependencegraph,DG)。•框图–由用有向边连接的功能模块构成,有向边表示数据流从输入模块到输
本文标题:VLSI数字信号处理系统设计
链接地址:https://www.777doc.com/doc-4565257 .html