浮点单元超越函数的硬件实现及其优化

浮点单元超越函数的硬件实现及其优化

论文摘要

结合西北工业大学航空微电子中心所承担的某国家项目,作者参加了“龙腾”C2微处理器的设计与实现,主要负责浮点处理单元的结构设计和浮点超越函数的设计与实现。 “龙腾”C2微处理器与Intel 80486DX4指令系统兼容,支持IEEE754标准的单精度、双精度和扩展精度的浮点基本函数和超越函数的运算。 论文的主要工作如下: 1.在分析浮点指令的基础上,根据指令的特点和功能对浮点处理单元进行模块化分。 2.分析浮点超越函数的各种实现算法,并重点讨论了HP CORDIC算法及其流程,设计了超越函数实现的总体结构。 3.完成超越函数实现的数据路径设计,主要包括加法器、移位器、常数ROM和旋转控制逻辑,同时针对“龙腾”C2微处理器的性能要求对各个部件进行优化设计。 4.完成了超越函数实现的控制路径设计,主要包括控制路径的整体结构设计、每条超越函数指令的控制过程及状态转换、使用比较频繁的宏操作的控制过程和浮点异常的检测过程。 5.完成了浮点超越函数的验证和逻辑综合,主要验证内容包括单模块的验证、模块联合验证和系统验证。 通过验证和逻辑综合的结果表明,浮点超越函数的运算精度和速度均满足“龙腾”C2微处理器的设计要求,主频达到143MHz。其后端设计由Cadence公司协助完成。

论文目录

  • 摘要
  • Abstract
  • 目录
  • 第一章 绪论
  • 1.1 课题背景及意义
  • 1.2 课题来源
  • 1.3 浮点算术的国内外研究现状
  • 1.4 论文的研究内容
  • 1.5 论文的结构安排
  • 第二章 "龙腾"C2微处理器浮点处理单元
  • 2.1 "龙腾"C2微处理器结构
  • 2.2 "龙腾"C2支持的浮点数表示形式
  • 2.2.1 "龙腾"C2浮点数表示格式
  • 2.2.2 "龙腾"C2浮点数类型
  • 2.3 "龙腾"C2浮点处理单元的主要功能
  • 2.4 "龙腾"C2浮点单元超越函数的实现算法
  • 2.5 "龙腾"C2浮点处理单元的模块划分
  • 2.6 小结
  • 第三章 超越函数实现的数据路径
  • 3.1 超越函数实现的整体结构
  • 3.1.1 HP CORDIC算法流程
  • 3.1.2 HP CORDIC算法的硬件实现结构
  • 3.2 主要部件的设计与优化
  • 3.2.1 加法器(Adder)
  • 3.2.1.1 回绕进位加法器的原理
  • 3.2.1.2 回绕进位加法器的设计
  • 3.2.2 移位器(Shifter)
  • 3.2.2.1 前导零检测逻辑(LZD)
  • 3.2.2.2 桶式移位逻辑BS(Barrel Shifter)
  • 3.2.3 常数ROM
  • 3.2.3.1 旋转基角α和α′的计算
  • 3.2.3.2 膨胀系数K和K′的计算
  • index'>3.2.4 旋转控制逻辑Cordicindex
  • 3.3 小结
  • 第四章 超越函数实现的控制路径
  • 4.1 控制路径的总体结构
  • 4.2 超越函数类指令的控制
  • 4.2.1 指令FSIN、FCOS、FSINCOS的控制
  • 4.2.2 指令FPATAN的控制
  • 4.2.3 指令F2XM1的控制
  • 4.2.4 指令FYL2X的控制
  • 4.2.5 指令FYL2XP1的控制
  • 4.3 宏操作的控制
  • 4.3.1 CORDIC旋转宏
  • 4.3.2 CORDIC矢量化宏
  • 4.3.3 加、减法宏
  • 4.3.4 规格化宏
  • 4.4 异常检测
  • 4.5 小结
  • 第五章 浮点超越函数的验证及综合
  • 5.1 模块验证
  • 5.2 模块联合验证
  • 5.3 系统验证
  • 5.4 逻辑综合
  • 5.5 小结
  • 第六章 结束语
  • 参考文献
  • 硕士期间发表的论文和参加的工作
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  

    浮点单元超越函数的硬件实现及其优化
    下载Doc文档

    猜你喜欢