Lec2-3 Computer Arithmetic(update CORDIC)(实时信号处理系统).ppt

Lec2-3 Computer Arithmetic(update CORDIC)(实时信号处理系统).ppt

slide # 实时信号处理系统设计与实现 王明全 wmingquan@ 2014 第2章 数字系统与代数 运算实现 讲授内容安排 1.数字表示 定点数,非传统定点数,浮点数 2.二进制加法器 流水线加法器,模加法器 3.二进制乘法器 4.二进制除法器 线性收敛除法,快速除法器设计 5.浮点运算实现 定点-浮点格式转换,浮点加/乘/除运算,浮点倒数运算 6.MAC和SOP 分布式算法 7.CORDIC算法 VI.MAC和SOP 传统可编程DSP处理方式(1) DSP算法中的乘-累加(Multiply-Accumulate,MAC)计算非常密集。 考虑线性卷积和 对于每个采样y[n]都需要进行包含L次乘法和L-1次加法的积之和(Sum of Products, SOP)计算。 在电路结构上对应1个N×N位乘法器和1个与之相连接的累加器。 传统可编程DSP处理方式(2) 传统可编程DSP处理方式(3) 举例: ADSP21xx内部有1个16×16位阵列乘法器和1个40位(具有额外8位)累加器。可以至少实现28次累加而影响输出精度。如果操作数都是有符号数,就可以进行29次累加。 其内部还有1个桶状移位寄存器,用于在一个时钟周期内实现预定格式输出。 问题:在定点PDSP中要考虑溢出,并且在实时计算中不希望出现中断。 检测和响应累加器溢出会中断数据流,并且会带来显著的时序负担。 正确选择保护位的长度可以消除这一负担。 分布式运算(Distributed Arithmetic,DA) 分布式运算(Distributed Arithmetic,DA) 是一种重要的FPGA技术,由Croisier于1973年首先提出,广泛用于计算SOP 卷积、相关、DFT和RNS逆映射都可以归纳为SOP计算。 采用通用乘法器构造MAC计算效率很低。 例如:采用传统的运算单元,完成1个滤波器周期,需要N个MAC周期(即使采用流水线收效也不大)。 DA设计的前提条件 若系数c(n) 已知,则部分乘积项c(n) x(n)由通用乘法变成常系数乘法(缩放)。 无符号DA系统设计(1) 考虑内积 假设系数c[n]为已知常数, x[n]为变量。无符号DA系统假设变量x[n]可以表示为: 其中xb[n]表示x[n]的第b位, x[n]是x的第n次采样,则内积y可以表示为: 无符号DA系统设计(2) 重新分布求和次序: 有: 无符号DA系统设计(3) 内积运算的实现 用1个LUT实现映射f (c[n], xb[n])。预先对1个2N字的LUT进行设定,输入为N位向量xb = [xb[0], xb[1], …, xb[n-1]],输出为f (c[n], xb[n])。 对每个LUT输出值 f (c[n], xb[n]) 乘以权重2b。 用移位-加法器实现累加运算。 运算时间为N个LUT周期。 无符号DA系统设计(4) 移位-加法器DA结构 无符号DA内积举例( 1 ) 定义3阶内积 ,设系数位宽为3,值 为c[0]=2, c[1]=3, c[2]=1,实现 f (c[n], xb[n])的LUT为: 无符号DA内积举例( 2 ) 对于输入 内积值为: 验算: 无符号DA内积举例( 3 ) 在电路设计中,为避免使用筒状移位器,可以采用在每次迭代对累加器的值右移1位来代替对每个中间值移b 位的操作。 计算迟滞 假设LUT和通用乘法器的延迟同为τ=τ(LUT) =τ(MUL) ,则DA系统的计算迟滞为Bτ(LUT) ,PDSP的计算迟滞为Nτ((MUL)。 对于较小位宽值B,DA设计的速度明显快于基于MAC的设计。 有符号DA系统 DA系统如何处理有符号2的补码数 有符号2的补码数最高位(MSB)为符号位 例如:-310 = ? 410 + 010 + 110 = 11002c+00002c+00012c = 11012c 有符号数 x[n] 的(B+1)位表达式为: 改造无符号DA结构以适应有符号运算 累加器增加加/减控制√ LUT ROM增加一位输入 有符号DA内积举例(1) 对于3阶内积 ,设输入4位2的补码数 系数为c[0]= ?2, c[1]=3, c[2]=1,实现 f (c[n], xb[n])的LUT为: 有符号DA内积举例(2) x[k]的值为: x[0]=110=00012C, x[1]= ? 310=11012C, x[2]= 710=01112C 输出为: 验算: 改进的D

文档评论(0)

1亿VIP精品文档

相关文档