欢迎来到天天文库
浏览记录
ID:58418738
大小:564.00 KB
页数:22页
时间:2020-05-11
《单精度浮点乘法器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EDA/SOPC课程设计报告题目:单精度浮点乘法器姓名:张恺学号:同组人:刘龙指导教师:王晨旭成绩:目录目录II第1章课程设计的要求11.1课程设计的目的11.2课程设计的条件11.3课程设计的要求1第2章课程设计的内容22.1设计思路22.1.1符合IEEE-754标准的单精度浮点乘法器规格22.1.2操作数类型22.1.3运算规则32.1.4逻辑门级框图32.2软件流程图42.3HDL代码阐述62.4Modelsim验证102.4.1验证代码102.4.2验证波形122.5硬件调试122.5.1基本说明122.5.
2、2具体操作132.6虚拟机下的DC综合172.7虚拟机下的SDF反标仿真19第3章课程设计的心得20第1章课程设计的要求1.1课程设计的目的l通过课堂所讲授的内容以及私下查阅资料,自主完成课程设计的题目,提高编程能力,培养用计算机解决实际问题的能力,积累调试程序的经验,更好的消化老师课堂所讲授的内容,对Verilog这种语言也有了更深的了解;l掌握较大工程的基本开发技能;l培养综合运用Modelsim,ISE,Debussy工具进行硬件开发的能力;l培养数字系统设计的基本能力;l通过课设积累起的编程以及硬件的能力对于今
3、后的考研抑或是找工作都有非常实际性的效果;1.2课程设计的条件l设计条件1:gVim编辑器以及Mentor公司开发的FPGA仿真软件Modelsim;l设计条件2:Xilinx公司开发的硬件设计工具ISE以及Xilinx公司的开发板;l设计条件3:虚拟机环境下的Linux系统具有的DesignCompiler工具;l设计条件4:虚拟机环境下的Linux系统具有的SDF工具以及Debussy工具;1.3课程设计的要求l设计要求1:能够在Modelsim工具下正确的完成程序的编译以及成功的实现波形的仿真;l设计要求2:能够
4、在ISE工具下正确的完成程序的综合以及合理的绑定管脚并成功的将程序下载到开发板里,在开发板中实现程序的功能;l设计要求3:能够在虚拟机的Linux系统下采用DesignCompiler完成逻辑综合,并且评估其时序面积;l设计要求4:能够在虚拟机的Linux系统下完成SDF反标仿真;第1章课程设计的内容1.1设计思路对于单精度浮点乘法器这一课程题目,重点在于正确理解IEEE-754标准,设计出符合IEEE-754标准的单精度浮点乘法器。1.1.1符合IEEE-754标准的单精度浮点乘法器规格单精度浮点数32位由高位至低位
5、可划分为1位符号位(s),8位阶码(e),23位尾数(f)。06、再对他们的乘积进行判断(以上的每一种情况都是在其前面情况不成立情况下进行的);5、如flout_a与flout_b中有至少一个异常,那么flout_c的尾数部分为优先级高的异常情况的尾数部分,无穷和0相乘特殊,指定其尾数为23’b01,0的符号位为0,其他为sign_a^sign_b;1.1.1运算规则两个规格化的单精度浮点数相乘时,运算规则如下:(1)符号位相异或得结果;(2)阶码为e=(e1-127)+(e2-127)+127;(3)尾数为两个尾数都扩展一位后再相乘,得出的为一个48位数cf1,取出cf1的第24位7、至第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]。1.1.2逻辑门级框图图2-2逻辑门级框架简图1.1软件流程图图2-3总流程图图2-4计算部分详细流程图1.1HDL代码阐述modulemux(flout_a,flout_b,clk,en,rst,f8、lout_c,yichu);modulemux(flout_a,flout_b,clk,en,rst,flout_c,yichu);input[31:0]flout_a;input[31:0]flout_b;//设置两个输入的单精度浮点数inputclk;//时钟信号inputen;//使能信号inputrst;//复位信号out
6、再对他们的乘积进行判断(以上的每一种情况都是在其前面情况不成立情况下进行的);5、如flout_a与flout_b中有至少一个异常,那么flout_c的尾数部分为优先级高的异常情况的尾数部分,无穷和0相乘特殊,指定其尾数为23’b01,0的符号位为0,其他为sign_a^sign_b;1.1.1运算规则两个规格化的单精度浮点数相乘时,运算规则如下:(1)符号位相异或得结果;(2)阶码为e=(e1-127)+(e2-127)+127;(3)尾数为两个尾数都扩展一位后再相乘,得出的为一个48位数cf1,取出cf1的第24位
7、至第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]。1.1.2逻辑门级框图图2-2逻辑门级框架简图1.1软件流程图图2-3总流程图图2-4计算部分详细流程图1.1HDL代码阐述modulemux(flout_a,flout_b,clk,en,rst,f
8、lout_c,yichu);modulemux(flout_a,flout_b,clk,en,rst,flout_c,yichu);input[31:0]flout_a;input[31:0]flout_b;//设置两个输入的单精度浮点数inputclk;//时钟信号inputen;//使能信号inputrst;//复位信号out
此文档下载收益归作者所有