高性能定点DSP位处理单元BMU的设计
经过30几级传输门,是取指电路的关键路径,经过30几级的传输门后,信号驱动能力较弱,延时较大,不符合高性能DSP的要求。可以考虑将这最长路径打断,提高速度。类似与超前进位加法器的进位传递,将屏蔽信号链打断,每4位提供一个超前屏蔽信号,用来屏蔽下一级的移位选择信号,这样隔断了最长路径,提高了驱动能力,进而提高取指电路的工作速度。
2.3 移位选择处理
移位选择处理是根据移位数目shfnum和指数exp来产生移位选择信号shfsel。移位选择处理过程主要是根据输入控制信号(in norm,in shift,in leftshf)以及移位数目shfnum和指数exp产生两种信号:最终左移信号left和最终左移数目leftnum。经过分析,left和leftnum都可以写成输入控制信号、指数exp和移位数目shfnum的逻辑表达式。进一步分析表明,可以用6 b(因为最终的移位选择信号是36位,至少需用6位来表示)的加法器来产生leftnum。最终移位信号left以及加法器的被加数addA、加数addB和进位c[i]的逻辑表达式(下式)。将leftnum进行译码后就可以得到移位选择信号shfsel。
2.4 移位数据处理
该处理过程主要是产生桶形移位器的71位输入数据D[70:0],将71位数据位分成两部分,一部分叫原数据位(36位,放置经过处理的输入数据),另一部分叫扩展数据位(35位,放置考虑了逻辑右移等的扩展位)。由桶形移位器的原理可以知道,当最终左移信号有效(即left=1)时,D[70:35]为原数据位,由原36位输入数据填充,低35位D[34:0]为扩展数据位,用0来填充。而当最终左移信号无效(即left=0)时,此时需分两种情况考虑:
(1)如果是算术移位,则D[35:0]为原数据位,由原36位输入数据填充,而D[70:36]是扩展数据位,由符号位扩展形成;
(2)如果是逻辑移位,此时是将原36位数据的低32位右移,高位补0,鉴于此,需要将原36位数据的高4位清零后赋给原数据位D[35:0],高35位(即D[70:36])由0扩展形成。
由上述分析,移位数据处理电路可以分成3部分设计:原36位输入数据的高4位处理电路,扩展数据位电路,数据选择电路。
3 电路模拟
电路模拟工作在Sun Fire V880 Solaris系统环境下完成,模拟采用CSMC.5单阱CMOS工艺模型,环境温度25℃,工作电压为5 V。电路模拟采用VCS+NanoSim混合仿真的方法进行,由VerilogHDL提供激励给BMU的网表。模拟结果如图5所示:当bmui=0x1478f73时,exp=6,bmui=0x105fb31b4时,归一化后bmuo=417ecc6d,当bmui=0x603a09b12,shfnum=7左移时bmuo=ld04d8900。这表明BMU功能符合设计目标,同时测得BMU的最大延时是8.78 ns,即极限工作频率是114 MHz。NanoSim自动生成的状态记录文档指出本文设计的BMU共使用了4 527个晶体管。
4 结 语
本文设计了用于定点DSP的位处理单元电路,他有效地实现了逻辑/算术移位、取指、归一化等操作,解决了利用定点DSP进行浮点运算的问题。该BMU包括桶形移位器、取指电路、移位数据处理电路和移位选择处理电路等几部分。在设汁取指电路时,借鉴超前进位加法器中超前进位的概念.采用了超前屏蔽,将最长路径打断,提高了电路的工作速度。另外,该BMU仅包含4 527个晶体管,资源消耗较少,在5 V工作电压下,电路速度达到114 MHz,完全符合高性能DSP的要求。
- 第1天-ARM汇编指令ADD/SUB/MUL(11-26)
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)