论文部分内容阅读
高精度计算、图形加速、数字信号处理等应用对浮点处理的要求越来越高,浮点运算单元(FPU)成为当代微处理器中一个重要组成部分。由于集成电路技术的发展,芯片的集成密度大大提高,如何提高FPU的性能早已成为一个重要的研究课题。 本文来源于西北工业大学航空微电子中心所承担的“十五”国防预研项目(项目编号:41308010108),作者参与完成了32位嵌入式RISC微处理器“龙腾R2”的设计,该款微处理器在接口和指令集上同PowerPC750处理器完全兼容。作者负责完成了其中浮点运算单元的设计与验证,本文主要讨论其中的除法与平方根运算的设计与实现。 论文的主要工作如下: 1.分析了当前各种除法算法,包括Newton_Rapheson、Goldschmidt、SRT,高阶SRT等,从速度、功耗和面积等方面进行了分析比较,提出了“龙腾R2”FPU中的除法运算实现方案。 2.在除法算法研究的基础上,分析了数字迭代算法实现平方根运算的原理和实现流程,确定采用基-4算法实现FPU中的平方根运算。 3.完成了FPU的数据通路设计,实现了其中的除法和平方根运算,最长路径长度小于4.29ns。 4.完成了FPU中控制通路的设计,包括51条指令的译码,浮点流水线的设计,数据相关的处理,异常的处理以及舍入。 5.采用直接和随机测试方法,对浮点运算单元进行了测试和验证,代码覆盖率和功能覆盖率都达到了100%。 整个“龙腾R2”在FPGA验证环境中已经成功运行用户提供的小监控程序、大监控程序、浮点测试程序以及VxWorks程序。浮点运算单元基于SMIC 0.18um CMOS标准单元库综合的最长路径小于4.29ns,满足“龙腾R2”主频233MHz的设计要求。本论文的研究为设计具有自主知识产权的高性能嵌入式微处理器积累了经验。