论文部分内容阅读
高性能浮点乘法单元是现代数字信号处理器中的重要部件,是完成高性能实时数字信号处理和图像处理的关键所在,它的性能优劣直接影响到CPU的浮点处理能力。浮点乘法单元具有面积大、延迟长、结构复杂的特点。如何设计出高速、简单且结构规则的浮点乘法器成为广泛关注的问题。过去的十多年中,研究者扩展了Booth编码算法的空间,提高了乘法器的性能;改进了部分积压缩技术,使乘法器结构更加规则;以传输管逻辑、多路选择器和动态技术为基础的各种电路实现方法也持续刷新高性能乘法器的实现记录;与此同时,与物理实现紧密相关的乘法器拓扑结构的研究也硕果累累。但不断提高的高性能运算需求使得高性能乘法单元的设计和实现仍然是当前的热门话题。本论文主要完成高性能浮点乘法器的设计与验证,是微电子中心高性能浮点处理单元(FPU, Float Point Uint)项目的重要组成部分,按照Top-down的现代IC设计方法,以实现64位双精度浮点数的乘法运算为主,兼容32位单精度浮点数。文章首先讨论了IEEE-754中规定的浮点数格式以及基本操作,并对浮点乘法的几种算法进行分析,深入研究了Booth算法及其各种改进算法,对比后选择改进的Booth2算法用于乘法单元的设计。接着分析了乘法器的阵列选择,讨论乘法单元的两种典型阵列结构,研究用于部分积求和的各种加法器,选取Wallace树型结构作为压缩阵列,混合加法器进行最终的部分积求和运算。为了提高性能,课题引入流水线技术,对浮点乘法单元整体采用五级流水线结构进行控制,在全流水状态下基本上等效于一个周期完成一次乘法操作,真正实现高性能的乘法器。设计完成后通过搭建验证平台,通过模拟仿真的方法,用大量激励向量对浮点乘法单元的功能进行验证,并采取特殊激励和随机激励相结合的方式,以提高验证的覆盖率。为了检测时序要求,采用中芯国际SMIC的0.18μm CMOS工艺对其进行了逻辑综合,保证浮点乘法单元的延时要求,时钟频率预期达到500MHz。