版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实时信号处理系统设计与实现王明全wmingquan@2014课程目标了解实时信号处理的概念、技术和发展趋势掌握算法从通用计算环境移植到VLSI结构的方法重点基于FPGA的数字信号处理系统的设计和实现技术学时:40(第1~10周)相关课程基础课程数字电路设计,信号与系统数字信号处理理论可编程逻辑器件与EDA技术硬件描述语言(VHDL或Verilog)后续课程VLSI数字信号处理系统设计嵌入式实时信号处理技术及应用实践信号与信息处理和电子与通信工程专业研究生学位课教材DigitalSignalProcessingwithFPGA(3rdEdition),UweMeyer-Baese,Springer,2007第2版中译本:数字信号处理的FPGA实现,刘凌译,清华大学出版社,2006参考书目(1)VLSIDigitalSignalProcessingSystems–DesignandImplementation,keshabK.Parhi,Wiley,1999中译本:VLSI数字信号处理系统设计与实现,陈弘毅等译,机械工业出版社,2004参考书目(2)实时信号处理-信号处理系统的设计与实现,J.G.Ackenhusen著,李玉柏等译,电子工业出版社,2002VLSI数字信号处理-设计与实现,张欣著,科学出版社,2003无线通信FPGA设计,田耘等编,电子工业出版社,2008讲授内容安排1.绪论数字信号处理与FPGA,数字信号处理的技术要求、设计与实现2.数字系统与基本算术单元设计数字表示法,加法器、乘法器和除法器设计,浮点运算实现,MAC和SOP3.数字滤波器设计
FIR滤波器,IIR滤波器4.多采样率信号处理5.Fourier变换DFT,FFT,DCT第1章
绪论I.
VLSI数字信号处理概述数字信号处理系统数字信号处理系统的VLSI设计目标数字信号处理系统的设计目标以最佳的速度、功耗和面积等技术指标实现复杂的信号处理运算。数字信号处理系统VLSI设计目标充分利用硬件电路直接完成数字信号处理所具有的高速优势,形成高性能的全硬件数学信号处理系统。系统实时性(1)将数字信号处理系统的功能定义为一个变换Tj,对输入信号xi(n)进行处理,得到输出信号yj(m)。系统实时性(2)Tc
<LTx时输入和相应输出的定时关系Tc小于帧持续时间,输出总能跟上输入系统实时性(3)Tc
>LTx时输入和相应输出的定时关系Tc
小于帧持续时间,前一帧的计算要在下一帧的最后一个样本到达之后才能完成,输出会越来越落后于输入系统实时性(4)实时概念如果在使用变换Tj计算每个输出样本yj(m)的时候,完成计算所需时间不超过对输出yj(m)有影响的所有xi(n)的持续时间,则称该系统是实时的。核心意义:实时系统的基本要求就是对xi(n)进行的计算Tj必须在特定时间内完成,这个时间就是样本集xi(n)的持续时间。实时处理的判别条件1.输入样本周期Tx2.变换Tj的复杂度3.完成变换的计算速度数据驱动特性数据驱动特性一旦所有的数据准备好,DSP系统中任何子任务或计算皆可执行。系统由数据流而非系统时钟进行同步。DSP系统可以用不需要全局时钟的异步电路实现。非中止性数字信号处理应用典型数字信号处理算法卷积,相关和数字滤波器随机梯度和最小均方差自适应滤波器快匹配算法和离散余弦变换(DCT)——运动估计矢量量化——图像处理和压缩Viterbi算法——动态规划抽取和插值——多速率信号处理小波和滤波器组数字信号处理应用的发展VLSI数字信号处理系统的优势通用结构器件实现(通用可编程处理器(GPP)和DSP处理器)——软件计算系统利用软件和相应的计算逻辑电路完成信号处理计算,算法易于实现;串行,无法实现并行处理;灵活性(通用性)好,但限制数字信号处理速度;一般用作主控制器。专用结构(全定制VLSI电路)实现速度、结构和功耗的整体优化;功能针对算法专门设计;并行计算结构,系统处理速度提高;灵活性(通用性)差,价格竞争优势弱;一般用作协处理器。数字信号处理系统性能衡量标准所需的硬件电路资源或软件空间由数据吞吐量和时钟频率决定的运行速度实现既定任务所需的功耗有限字长效应由量化和四舍五入造成CMOS工艺进展性能鸿沟!(1)随着应用需求的不断提升,以及算法复杂度的不断增高,对更高性能的信号处理器的需求不断增加,传统的固定架构的DSP处理器无法应对;在处理复杂度不断提升的算法的高性能模块时,需要采用DSP协处理器。
性能鸿沟!(2)面积—速度—功耗的折衷考虑三维优化(面积,速度,功耗)实现预期的速度—面积—功率折衷功耗延迟减低技术→通过低电压操作提高速度和降低功耗;由于乘法运算在信号处理中占主导地位,减少乘法的操作次数至关重要(通过强度缩减实现)。并行处理机制采用并行处理加快处理速度(性能)模块颗粒度工作(job),任务(Task),过程(Process),变量(Variable),位(Bit)
并发控制中央控制(编程)数据驱动数据流,需求驱动通信过程专业网络结构共享存储器问题规模模块数内存大小鸿沟解决方案更高…高性能的通用处理器实质上为一种软件计算系统—利用软件和硬件辅助逻辑实现信号处理计算。性能更高的定制VLSI电路灵活性(易变性)差,价格竞争力弱。FPGA非常适合弥补复杂算法和处理器之间存在的性能鸿沟能实现并行处理,具有极高性能的信号处理能力;体系结构灵活,实现风险较低;允许设计移植,以处理不断变化的设计需求;开发人员可创建一个定制的、与众不同的解决方案;价格下降空间较大;从功能实现角度计算,功耗较低。可用设计资源:IP核典型DSP系统设计流程规范/标准浮点系统模型定点系统模型定点硬件模型物理实现描述系统功能的文档C,Matlab,Simulink等代码浮点代码被转化为定点的C,Matlab,Simulink代码,然后对照浮点模型做误差分析和性能比对。用VHDL或Verilog实现的定点系统模型,该模型可由EDA工具(高层次综合工具、XilinxSystemGenerator等)或手工实现。在FPGA或ASIC平台上实现基本分析和设计方法基本流程:需求分析→算法分析和设计→系统结构设计→实现与调试算法分析目标:建立满足处理速度和功耗要求,同时具有最小结构的电路系统结构。区别于通用结构器件:保证速度和优化软件和存储器需求结构设计目标:通过数字电路结构完成算法的运算结构结构设计完全以算法结构为核心,以数字电路为目标。区别于通用结构器件:计算系统固定,以组织指令实现算法软件结构为目标。核心实现技术算法分析针对系统设计目标,寻找适合用简单数字逻辑电路实现的计算方法。计算结构分析——寻找计算过程的优化方法,降低计算复杂度算子机构分析——寻找算子合并或分解的可能性,找出最简单的算子模块电路注意:必须以数字电路为基本出发点,才能得到正确的分析结果!核心实现技术计算结构设计算法分析的结构为计算结构设计提供了电路的核心结构,是电路最简设计的依据计算结构设计必须满足信号处理速度要求——实现算法的基本保证电路设计依据计算结构设计的结果,找出满足结构设计要求的数字电路满足速度和功耗要求II.FPGA技术VLSI电路分类现场可编程逻辑现场可编程逻辑—Field-ProgrammableLogic(FPL)分类小颗粒度门海(Seaofgates)中颗粒度FPGA,FieldProgrammableLogicArray大颗粒度CPLD,ComplexprogrammableLogicDeviceFPGA和CPLD结构FPGACPLD现场可编程逻辑阵列FPGA(1)可配置逻辑资源可配置逻辑块(ConfigurablelogicBlocks,CLBs)基本功能单元—一般以整列形成遍布整个芯片FPGA(2)I/O块(I/OBlocks,IOBs)内部逻辑和外部封装引脚的接口电路.互联资源—布线通道
CLB和IOB之间的布线通道包括各种长度的连线和可编程连接开关,将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路FPGA(3)主要生产厂商Xilinx,Altera—市场领导者和长期竞争对手其他厂商LatticeSemiconductor(基于flash,基于SRAM)Actel(反熔丝,基于flash,混合信号产品)SiliconBlueTechnologies(低功耗)Achronix(SPEEDSTERSD60–RAMbased,1.5GHzfabricspeed)QuickLogic(主打重点客户特定标准产品,非通用
FPGAs)XilinxCLBXilinxLogicCellXilinx
Virtex-IIProFPGA体系结构Xilinx
Virtex-IICLB•一个Virtex-IICLB包含4个slice(Virtex/Spartan系列每个CLB有2个slices)。•数字逻辑设计在slice内完成。•CLB内的Slice是互联的,并通过开关矩阵和其它的CLB进行连接。•Cin
和
Cout
信号:用于算术功能实现。•1个slice可实现1个2-bit全加器,这样1个CLB可以实现2个独立的4-bit全加器。Xilinx
Virtex-IISlice(1)Xilinx
Virtex-IISlice(上半部)Xilinx
Virtex-IISlice(2)查找表(LookUpTable,LUT)实现任意4输入布尔运算—FPGA中的逻辑操作就是由4输入查找表来完成。寄存器(register)用于实现同步逻辑;MUX和CY用于实现信号路由;算术逻辑(ArithmeticLogic)可用于实现高效乘法运算。LUT也可以作为RAM使用——RAM161个LUT可以存储16bit,可当做1个16×1RAM使用;2个LUT可以形成1个32×1单口RAM或1个16×1双口RAM;1片Virtex-IIPro有55,616个slice,则其上共有55,616×2LUT×16bit=1,738Kb的分布式RAM;在FPGA的任意区域上创建小的RAM的能力对于实现DSP系统非常有用。LUT还可以实现1个16-bit移位寄存器——SRL16SRL16和与LUT相连接的寄存器相结合后,可在slice的半部实现17个时钟的延时。SRL16可以通过级联获得更长的延时。Xilinx
Virtex-II块RAMXilinx
Virtex-II上分布有若干个专用的18Kb(bit)块RAM。XC2VP125带有556个块RAM,总共有556×18=10,008Kb块RAM。块RAM可在FPGA进行配置时进行写操作,或在逻辑操作时进行读/写操作。
块RAM可以是单口或双口Xilinx
Virtex-II嵌入式乘法器•嵌入式乘法被安排在CLB之间的纵列中。•乘法器为18×18bit,并且和块RAM相邻,以便于存储数据。•运行速度快,超过300MHz。•将嵌入式乘法器和LUT相结合可实现MAC单元。•通过级联可实现较大位宽乘法运算。XilinxXtremeDSP从
Virtex4系列开始,Xilinx推出了在FPGA上实现高速DSP运算的DSP48模块.Spartan-3A:DSP48A模块Virtex5:DSP48E模块基本来讲,DSP48模块是1个带有某些特性的乘累加运算核心。XtremeDSP互联DSP48和块RAM之间具有专用的互联,以防止出现互联带宽不足问题。DSP48Slice:Virtex4DSP48ESlice:Virtex5DSP48功能DSP48slice的数学计算部分包含1个18-bit×18-bit2的补码(2C)乘法器,其后连接3个48-bit数据通道多路选择器(输出为X,Y和Z),多路选择器的输出与1个3输入48-bit加(减)法器相连。DSP48slice的数据和控制输入给到算术部分,或者有选择地寄存1到2次,以协助构建流水线结构。数据输入A和B可以被寄存1到2次。其它的数据输入和控制输入可以被寄存1次。采用流水线寄存器时,运行速度可达500MHz。AdderOut=(Z±(X+Y+CIN))DSP48简图DSP48的数学计算功能DSP48可以完成的数学计算功能有:加减法累加乘法乘累加多路选择桶形移位寄存器Counter除法(多个时钟周期)平方根(多个时钟周期)可以实现的滤波器:串行FIR滤波器(Xilinx称之为MACC滤波器)并行FIR滤波器半并行FIR滤波器多速率FIR滤波器MACC滤波器96个系数最大输入采样率=时钟频率/抽头个数对称MACC滤波器线性相位,系数对称。最大输入采样率=时钟频率/(抽头个数/2)复杂可编程逻辑器件CPLD(1)一种复杂度介于PAL和FPGA之间的可编程逻辑器件,体系结构上同时具有PAL和FPGA的特性。包含二类可编程资源:
可编程逻辑宏单元—LogicMacroCell(LMC)围绕中心的可编程互连矩阵单元组成,逻辑结构较复杂,并具有复杂的I/O单元互连结构,可根据需要生成特定的电路结构可编程互连矩阵—ProgrammableInterconnectionArrays(PIA)将各个LMC连接起来构成特定功能的电路采用固定长度的金属线进行各逻辑块的互连,逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点较常用的有Xilinx公司的EPLD和Altera公司的CPLDCPLD(2)和PAL相同的特性:具有非易失性配置存储内存,不同于FPGA需要外部配置用ROM存储器,可在系统上电启动同时具备功能。大部分传统的CPLD器件中,布线对内部逻辑块和外部引脚连接的输入和输出信号进行约束,减少内部状态存储和深层次逻辑和外部环境直接接触的机会。CPLD(3)和FPGA相同的特性:可用逻辑门数量大
CPLD通常有几千到上万个的逻辑门,可以实现中等复杂度数据处理应用。而PAL最多有几百个逻辑门,FPGA的逻辑门数量一般为几万到几百万之间。具有比积之和更灵活的逻辑机制,包括宏单元之间的复杂反馈路径,以及便于实现如整数算术运算的各种常用功能的专门逻辑。著名CPLD生产厂商Atmel
CypressSemiconductorLatticeSemiconductorXilinx-EPLDFPGA和CPLD之间的区别(1)设计目标FPGA的触发器丰富,适于实现时序逻辑;CPLD的触发器较少,乘积项丰富,适于实现组合逻辑。布线结构CPLD–连续式布线结构,时序延迟具有可预测性;FPGA–分段式布线结构,时序延迟不可预测。FPGA比CPLD具有更好的编程灵活性CPLD–通过修改具有固定内连电路的逻辑功能来编程(逻辑块级);FPGA–通过改变内部连线的布线来编程(逻辑门级)。FPGA和CPLD区别(2)FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现CPLD的速度比FPGA快FPGA是门级编程,并且CLB之间采用分布式互联CPLD是逻辑块级编程,并且其逻辑块之间采用集总式互联CPLD比FPGA使用起来更方便。CPLD编程采用E2PROM或Flash技术,无需外部存储器芯片,使用简单。FPGA的编程信息需存放在外部存储器上,使用复杂。FPGA和CPLD区别(3)在编程方式上不同CPLD主要是基于E2PROM或Flash存储器编程编程次数可达1百万次,优点是系统断电时编程信息也不丢失可分为在编程器上编程和在系统编程两类FPGA大部分是基于SRAM编程编程信息在系统断电时丢失,每次上电时需从器件外部将编程数据重新写入SRAM中优点:可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置CPLD保密性好,FPGA保密性差。CPLD的功耗要比FPGA大,且集成度越高越明显FPGA与PDSPPDSP—ProgrammableDigitalSignalProcessor基于复杂指令集的哈佛结构,包含至少一个快速阵列乘法器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版土地买卖居间合同签订与履行指导3篇
- 2025年度桶装纯净水销售数据分析与应用合同
- 二零二五年度医院布草用品消毒服务及质量监控合同3篇
- 二零二五年度商业场地租赁合同转让与租赁合同续签协议2篇
- 二手房交易协议(2024版)
- 2025版事业单位聘用合同正规范本(含岗位调整)3篇
- 2025立医院医用控温仪设备采购与安装服务合同2篇
- 2025年度绿植种子研发与种植合同3篇
- 二零二五年度农用货车运输保险代理服务合同
- 二零二五年度土地承包经营权租赁与农村电商服务合同
- 山东省青岛市2023-2024学年七年级上学期期末考试数学试题(含答案)
- 墓地销售计划及方案设计书
- 从偏差行为到卓越一生3.0版
- 优佳学案七年级上册历史
- 铝箔行业海外分析
- 纪委办案安全培训课件
- 超市连锁行业招商策划
- 医药高等数学智慧树知到课后章节答案2023年下浙江中医药大学
- 城市道路智慧路灯项目 投标方案(技术标)
- 【公司利润质量研究国内外文献综述3400字】
- 工行全国地区码
评论
0/150
提交评论