EDA/SOPC课程设计报告
题目: 单精度浮点乘法器
姓 名:
学 号:
同组人:
指导教师:
成 绩:
张恺
120260230
刘龙
王晨旭
EDA/SOPC课程设计报告 目录
目录 ................................................................................................................................................... II 第1章 课程设计的要求 ................................................................................................................... 1 1.1 课程设计的目的 ...................................................................................................................... 1 1.2 课程设计的条件 ...................................................................................................................... 1 1.3 课程设计的要求 ...................................................................................................................... 1 第2章 课程设计的内容 ................................................................................................................... 2 2.1 设计思路 ................................................................................................................................. 2 2.1.1 符合IEEE-754标准的单精度浮点乘法器规格................................................................. 2 2.1.2 操作数类型 ...................................................................................................................... 2 2.1.3 运算规则 .......................................................................................................................... 3 2.1.4 逻辑门级框图 ................................................................................................................... 3 2.2 软件流程图 ............................................................................................................................. 4 2.3 HDL代码阐述 ......................................................................................................................... 6 2.4 Modelsim验证 ...................................................................................................................... 10 2.4.1 验证代码 ........................................................................................................................ 10 2.4.2 验证波形 ........................................................................................................................ 12 2.5 硬件调试 ............................................................................................................................... 12 2.5.1 基本说明 ........................................................................................................................ 12 2.5.2 具体操作 ........................................................................................................................ 13 2.6 虚拟机下的DC综合 ............................................................................................................. 17 2.7 虚拟机下的SDF反标仿真 ................................................................................................... 19 第3章 课程设计的心得 ................................................................................................................. 20
信息与电气工程学院――电子科学与技术 II
EDA/SOPC课程设计报告 第1章 课程设计的要求
1.1 课程设计的目的
? 通过课堂所讲授的内容以及私下查阅资料,自主完成课程设计的题目,提高编 程能力,培养用计算机解决实际问题的能力,积累调试程序的经验,更好的消化老师课堂所讲授的内容,对Verilog这种语言也有了更深的了解; ? 掌握较大工程的基本开发技能;
? 培养综合运用Modelsim,ISE,Debussy工具进行硬件开发的能力; ? 培养数字系统设计的基本能力;
? 通过课设积累起的编程以及硬件的能力对于今后的考研抑或是找工作都有非常实 际性的效果;
1.2 课程设计的条件
? 设计条件1:gVim编辑器以及Mentor公司开发的FPGA仿真软件Modelsim; ? 设计条件2:Xilinx公司开发的硬件设计工具ISE以及Xilinx公司的开发板; ? 设计条件3:虚拟机环境下的Linux系统具有的Design Compiler工具; ? 设计条件4:虚拟机环境下的Linux系统具有的SDF工具以及Debussy工具;
1.3 课程设计的要求
? 设计要求1:能够在Modelsim工具下正确的完成程序的编译以及成功的实现波形的仿真;
? 设计要求2:能够在ISE工具下正确的完成程序的综合以及合理的绑定管脚并成功的将程序下载到开发板里,在开发板中实现程序的功能;
? 设计要求3:能够在虚拟机的Linux系统下采用Design Compiler完成逻辑综合,并且评估其时序面积;
? 设计要求4:能够在虚拟机的Linux系统下完成SDF反标仿真;
信息与电气工程学院――电子科学与技术 5
EDA/SOPC课程设计报告 第2章 课程设计的内容
2.1 设计思路
对于单精度浮点乘法器这一课程题目,重点在于正确理解IEEE-754标准,设计出符合IEEE-754标准的单精度浮点乘法器。
2.1.1 符合IEEE-754标准的单精度浮点乘法器规格
单精度浮点数32位由高位至低位可划分为1位符号位(s),8位阶码(e),23位尾数(f)。0 图2-1 单精度浮点数的规格 2.1.2 操作数类型 NaN 无穷 0 正常 符号/1位 0/1 0/1 0/1 0/1 表2-1 说明: 1、NaN和任何数相乘都为NaN; 2、无穷和0相乘为NaN,和其他数相乘都为无穷; 3、0和替他数相乘都为0; 4、正常数和正常数相乘再对他们的乘积进行判断(以上的每一种情况都是在其前面情况不成立情况下进行的); 阶码/8位 11111111 11111111 00000000 (0,255) 尾数/23位 非0 23’b0 任意 任意 信息与电气工程学院――电子科学与技术 6 EDA/SOPC课程设计报告 5、如flout_a与flout_b中有至少一个异常,那么flout_c的尾数部分为优先级高的异常情况的尾数部分,无穷和0相乘特殊,指定其尾数为23’b01,0的符号位为0,其他为sign_a^sign_b; 2.1.3 运算规则 两个规格化的单精度浮点数相乘时,运算规则如下:(1)符号位相异或得结果;(2)阶码为e=(e1-127)+(e2-127)+127;(3)尾数为两个尾数都扩展一位后再相乘,得出的为一个48位数cf1,取出cf1的第24位至第48位赋给cf3,即cf3=cf1[47:23],此时若cf1[22]=0,舍去第1位至23位,若cf1[22]=1,向第24位进1,并且舍去第1位至第23位;尾数规格化:判断cf3[24]是否为1,若cf3[24]=1,cf3右移1位,阶码位加1,若cf3[24]=0,则不用进行规格化;最后尾数取cf3[22:0]。 2.1.4 逻辑门级框图 图2-2 逻辑门级框架简图 信息与电气工程学院――电子科学与技术 5
单精度浮点乘法器汇总



