欢迎来到天天文库
浏览记录
ID:10581451
大小:65.50 KB
页数:7页
时间:2018-07-07
《三种信号处理器的cpld设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、三种信号处理器的CPLD设计
2、第1lunent (1)集成度越来越高,如Altera公司的10K系列已在25万门以上,具有1万个以上寄存器,40Kbit嵌入式存储器,使得集成复杂信号处理算法成为可能。Raphael系列已到100万门以上,集中了FLEX10K、FLEX6000、MAX7000的所有优点,可进行系统单片设计。 (2)在系统编程(ISP)/在线路重配置(ICR)技术,使得CPLD/FPGA具有开发周期短,设计方案变更容易,无风险投资等优点。 (3)嵌入式存储器技术,在CPLD/FPGA内部嵌入一定数量的存储器,存储器类型有双
3、口SRAM、ROM、FIFO,可用于存储信号处理的系数、中间结果等。 (4)时钟锁定和倍频技术,Altera的10K系列采用了时钟锁定和倍频技术,解决了时钟脉冲延迟和偏斜问题,并使PLD内部时钟更高。单个16bit乘法器速度可达100MHz以上,这正是大带宽高速实时信号处理的需要。 (5)电子设计自动化EDA工具。EDA工具使得用户对设计的输入、综合、仿真非常方便。Altera的Max+PlusII给用户提供丰富的宏库和LPM(参数模块库LibraryofParameterizedModules)。EDA环境正在由Unix系统主导型向Un
4、ix/Hz工作频率的DSP来完成,其实际执行数据的速度将降低到3MHz(不考虑DSP的并行处理),但是采用并行/流水控制的CPLD/FPGA则可以用30MHz的时钟频率串、并行重叠执行10次操作,即保持30MHz数据速度。可见,CPLD/FPGA比DSP有更高的处理速度。利用CPLD/FPGA在系统编程及高速度的特点,可把CPLD/FPGA作为DSP的协同处理器来应用,实现虚拟计算机。本文把Altera的FLEX系列应用于雷达的几种经典信号处理中,完成了有限冲激响应FIR滤波、求模运算、恒虚警检测等处理。1 参数化的FIR滤波模块设计 参数
5、化的FIR滤波模块设计采用了自顶而下的层次设计的思想,其结构框图如图1。在本设计中,x[n]的线宽和FIR的阶数实现了参数化。在调用该模块时,数据的宽度和FIR的阶数在参数文件中输入。xin[n]是数据的移位输入端,xout[n]是数据的移位输出端,可以作为下一级FIR的输入,实现FIR的级联。此FIR的实现用了六个模块(如图2所示)。 FIR模块包含SHIFT和MUL-ADD两个模块:其中SHIFT完成数据的延迟存储,MUL-ADD完成数据的累加求和的操作。MUL-ADD由M-ROM,EXPAND和ADD三个模块组成:M-ROM模块中放置
6、FIR的参数,EXPAND模块完成符号数的扩展,ADD模块完成移位相加的操作。在此设计中要着重说明的就是乘法的实现。完成乘法的方法隙啵缌礁鍪陌次灰莆幌嗉樱饣岬贾滤俾实慕档秃妥?源的浪费。FIR的系数相对数据来说是预先给定的,所以可以采用查表的方法来实现。现举例说明:设FIR阶数为4,数据的位宽是4,系数为C1、C2、C3、C4。我们可以用矩阵的形式来表示数据各位和系数的相乘,如式1所示。 表2 FIR仿真结果阶数48阶(两个4阶级联成)12(三个4阶级联成)位宽816816816所用器件EPF8636EPF81500EPF81
7、188EPF10K40EPF10K30EPF10K70所用单元数(LC)4581156913222013993338最高工作频率(MHz)5.212.935.212.675.082.41 式中Dij是第i个数据的第j位的值,它们为0或1(i=1,2…4,j=0,1…3),Yj是滤波结果的部分和,即各数据第j位与系数相乘加的和。对应部分和我们可以列出如表1所示的真值表(先考虑数据的最低位即D10、D20、D30、D40的情况,高位同理)。表1 部分和真值表表1 部分和真值表操作。MUL-ADD由M-ROM,EXPAND和ADD三个模块组成:M
8、-ROM模块中放tD10D20D30D40Y0000001000C10100C21100C1+C20010C31010C3+C10110C3+C21110C3+C2+C10001C41001C4+C10101C4+C21101C4+C1+C20011C4+C31011C4+C3+C10111C4+C3+C21111C4+C3+C2+C1 表中的系数是以补码的格式存放的,并且都按符号数作了扩展。从这张表中我们可以看出,若把系数根据所给定的阶数生成如表右侧的排列并将其放于一ROM中,以各数据的相同位的值组成的地址去ROM中取数,取出的结果即为部
9、分和Y0~Y3。由于输入的数据有t正有负,所以我们在对部分和进行相加之前要对取出的系数按以下方法进行处理:首先按部分和相加所能达到位数对取出的系数做符号扩展,并且对
此文档下载收益归作者所有