论文部分内容阅读
浮点ALU进行定点与浮点的算术及逻辑运算,是现代数字信号处理器中使用频率最高的运算部件,其运算能力是衡量DSP芯片性能的主要指标。浮点ALU的算法结构以浮点加减算法为基础。成熟的对浮点加减进行优化的算法包括双路径并行,前导1预测,并行舍入以及各种快速的定点加法算法。本文对各种优化算法进行了分析比较,针对DSP应用的特点做出了改进,并在此基础上采用自顶向下的方法设计了一个用于高性能浮点DSP的ALU(ZKLCALU)。
传统的双路径并行算法以指数差作为依据将浮点运算划分为两条并行路径执行,去掉了基本算法中关键路径上的一个尾数加法器和一个完整位宽移位器;前导1预测算法将前导1判断的逻辑提前到与尾数加减并行执行,进一步缩短了关键路径;并行舍入通过复合加法器预先算出所有可能的结果,使舍入步骤简化为选择操作。采用这些优化算法后,将关键路径中的7个运算步骤简化为4个,有效地提高了浮点加减法的运算速度。
由于DSP应用中需要大量用到双加减操作,本文提出以加减法作为划分双路径的依据,以在关键路径中增加一个完整位宽移位器为代价,提供了每次操作完成加减运算各一次的能力。设计的ALU不支持向±∞舍入,使并行舍入的选择逻辑得到简化,并可舍弃复合加法器前的n位半加器,缩短了关键路径。根据复合加法器同时计算sum与sum+1的特点,采用选择进位的结构来实现,并给出一种选择进位的最优化分组方法。
完成算法设计后,根据DSP芯片系统要求ZKLCALU提供的指令功能与外部接口进行电路结构的设计,并使用VerilogHDL语言进行RTL描述。之后在CadenceVerilog-XL环境下,用大量测试向量对ZKLCALU进行仿真,并与软件模拟器的运行结果进行比较,验证了ZKLCALU逻辑功能的正确性。最后,使用SynopsysDesignCompiler对设计进行综合,结果显示在Chartered1.8V0.18μmCMOS工艺下,ZKLCALU关键路径的延时约8.59ns,符合系统设计要求。此外,对不同分组方式下的选择进位复合加法器进行综合的结果也验证了最优化分组方法的正确性。