




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA SOPC 课程设计报告课程设计报告 题目 题目 单精度浮点乘法器单精度浮点乘法器 姓姓 名 名 张恺 学学 号 号 同组人 同组人 刘龙 指导教师 指导教师 王晨旭 成成 绩 绩 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术II 目录目录 目录 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 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术1 第第 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 反标仿真 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术2 第第 2 章章 课程设计的内容课程设计的内容 2 1 设计思路设计思路 对于单精度浮点乘法器这一课程题目 重点在于正确理解 IEEE 754 标准 设计出符合 IEEE 754 标准的单精度浮点乘法器 2 1 1 符合符合 IEEE 754 标准的单精度浮点乘法器规格标准的单精度浮点乘法器规格 单精度浮点数 32 位由高位至低位可划分为 1 位符号位 s 8 位阶码 e 23 位尾数 f 0 e 255 时为规格化数 e 0 且 f 0 为正负 0 e 0 且 f 不等于 0 为非规格化数 e 255 且 f 0 为正负无穷 e 255 且 f 不等于 0 为 NaN 不是一个数 图 2 1 单精度浮点数的规格 2 1 2 操作数类型操作数类型 符号 1 位阶码 8 位尾数 23 位 NaN0 1非 0 无穷0 123 b0 00 1任意 正常0 1 0 255 任意 表 2 1 说明 1 NaN 和任何数相乘都为 NaN 2 无穷和 0 相乘为 NaN 和其他数相乘都为无穷 3 0 和替他数相乘都为 0 4 正常数和正常数相乘再对他们的乘积进行判断 以上的每一种情况都是在其前面情况不成立情 况下进行的 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术3 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 逻辑门级框架简图 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术4 2 2 软件流程图软件流程图 开始 获取符号位 阶码位和尾数位 输出符合标准的结 果 结束 计算部分 图 2 3 总流程图 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术5 开始 复位有效 A为NaN复位状态 B为NaN 结果为NaN 溢出标志11 A为无穷大 结果为NaN 溢出标志11 B为0 结果为无穷大 溢出标志10 结果为NaN 溢出标志11 A为0 B为0 A B为正常 结果计算 判断是否溢出并处 理 结果 结果为NaN 溢出标志11 结果0 溢出标志00 Y N N Y Y N Y N Y B为无穷大 Y A为0 N 结果为无穷大 溢出标志10 N N Y Y N 图 2 4 计算部分详细流程图 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术6 2 3 HDL 代码阐述代码阐述 module mux flout a flout b clk en rst flout c yichu module mux flout a flout b clk en rst flout c yichu input 31 0 flout a input 31 0 flout b 设置两个输入的单精度浮点数 input clk 时钟信号 input en 使能信号 input rst 复位信号 output 31 0 flout c 输出的单精度浮点数 output 1 0 yichu 溢出信号 reg 31 0 flout c reg 1 0 yichu 变量类型声明 reg sign a sign b sign c 符号位 reg 7 0 zhishu a zhishu b zhishu c 阶码 reg 23 0 zz a zz b reg 47 0 zz c 尾数 reg jiayi 中间变量 always posedge clk or negedge rst begin if rst begin sign a 0 sign b 0 zhishu a 0 zhishu b 0 zz a 0 zz b 0 end 输入复位模块 else if en begin sign a flout a 31 sign b flout b 31 zhishu a flout a 30 23 zhishu b flout b 30 23 zz a 1 b1 flout a 22 0 zz b 1 b1 flout b 22 0 end 使能赋初值模块 end always sign a or sign b or zhishu a or zhishu b or zz a or zz b begin EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术7 if rst begin zhishu c 0 zz c 0 sign c 0 yichu 2 b01 end 输出复位模块 else begin if zhishu a 255 yichu 2 b11 zz c 46 23 zz a sign c sign a sign b end 数 a 不是一个数与数 b 任何数相乘都是不是一个数 else if zhishu b 255 yichu 2 b11 zz c 46 23 zz b sign c sign a sign b end 数 b 不是一个数与数 a 任何数相乘都是不是一个数 else if zhishu a 255 yichu 2 b10 zz c 46 23 zz a sign c sign a sign b end 数 a 无穷与数 b 无穷相乘还是无穷 else if zhishu b 0 begin zhishu c zhishu a yichu 2 b11 zz c 46 23 1 b1 sign c sign a sign b end 数 a 无穷与数 b0 相乘为不是一个数 else if zhishu b0 begin zhishu c zhishu a yichu 2 b10 zz c 46 23 zz a sign c sign a sign b EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术8 end 数 a 无穷与数 b 规格化数相乘为无穷 end else if zhishu b 255 yichu 2 b11 zz c 46 23 zz b 1 b1 sign c sign a sign b end 数 b 无穷与数 a0 相乘为不是一个数 else if zhishu a0 begin zhishu c zhishu b yichu 2 b10 zz c 46 23 zz b sign c sign a sign b end 数 b 无穷与数 a 规格化数相乘为无穷 end else if zhishu a 0 zhishu b 0 begin yichu 2 b00 zhishu c 8 b sign c 0 if zhishu a begin zz c 46 23 zz a end else begin zz c 46 23 zz b end end 数 a0 与数 b0 相乘还为 0 else begin sign c sign a sign b zhishu c zhishu a zhishu b 127 zz c zz a zz b if zz c 22 1 begin jiayi 1 b0 zz c 47 23 zz c 47 23 1 b1 zz c 45 23 end else if zz c 47 1 begin zz c 47 23 1 b0 zz c 47 24 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术9 jiayi 1 b1 end else begin jiayi 1 b0 zz c 47 23 zz c 47 23 zz c 45 23 end if jiayi begin zhishu c zhishu c 1 end 数 a 规格化数与数 b 规格化数相乘按照 ieee 754 标准进行计算 if zhishu c 255 yichu 2 b11 end 得出的结果为不是一个数 if zhishu c 255 yichu 2 b10 end 得出的结果为无穷 else if zhishu a zhishu b 127 begin yichu 2 b00 zhishu c 8 b sign c 0 end 得出的结果为 0 else begin yichu 2 b01 zhishu c zhishu c end 得出的结果为规格化数 end end end always posedge clk or negedge rst begin if rst begin flout c 31 0 flout c 30 23 0 flout c 22 0 0 end 输出结果的复位模块 else begin flout c 31 sign c EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术10 flout c 30 23 zhishu c flout c 22 0 zz c 45 23 end 输出结果拼接 end endmodule 2 4 Modelsim 验证验证 2 4 1 验证代码验证代码 timescale 1ns 100ps module mux tb reg 31 0 flout a flout b reg clk en rst wire 31 0 flout c wire yichu 声明变量类型 mux dut flout a flout a flout b flout b clk clk en en rst rst flout c flout c yichu yichu 与源程序的例化 dut 相连 initial clk 0 always 20 clk clk 设置时钟的变化 initial begin flout b 32 h flout a 32 h7f en 1 rst 0 100 rst 1 flout b 32 h flout a 32 h7f EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术11 flout b 32 h flout a 32 h7f flout b 32 h flout a 32 h7f flout b 32 h flout a 32 h flout b 32 h flout a 32 h flout b 32 h7f flout a 32 h7f flout b 32 h7f flout a 32 h7f flout b 32 h7f flout a 32 h7f flout b 32 h0af flout a 32 h 设置输入变量 使能信号 复位信号随时间发生变化 stop task delay input 31 0 mum repeat num posedge clk begin repeat 100 posedge clk end endtask end initial begin dumpfile zk vcd dumpvars end 生成 vcd 文件 endmodule EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术12 2 4 2 验证波形验证波形 图 2 5 Modelsim 验证波形 2 5 硬件调试硬件调试 2 5 1 基本说明基本说明 输入 flout a 的其中 6 位 一位符号位 阶码位的前两位和尾数位的后三位 阶码的其他 6 位 都设为 1 尾数都设为 0 输入 flout b 的一位符号位 前两位阶码位和后三位尾数位 其余阶码位 当 chose 1 时为全 1 当 chose 0 时为全 0 尾数的其它位为 0 以下为乘数的输入位规定 标号类型符号位阶码位尾数位 A无穷0 111000 BNaN0 111001 C正常0 101001 表 2 2 以下为被乘数的输入位规定 标号类型符号位阶码位尾数位 1无穷0 111000 2NaN0 111001 3正常0 101001 Chose 1 标号类型符号位阶码位尾数位 1 零0 100001Chose 0 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术13 2 正常0 101001 表 2 3 以下为根据以上标号组合而成的结果的形式 结果为 2 位溢出标志位 1 位符号位 3 位阶码 位 前两位为阶码最高位 第三位为阶码最低位 后四位为尾数后四位 结果如下 组合A1 A2 B1 B2 C1 C2 A1B2A2C3 溢出标志11101111000110111101 阶码前两位 最后一位 111111111111000010111111111011 尾数后四位0001000000010001000100100000000100010010 表 2 4 经验证开发板显示结果与上表格相同 2 5 2 具体操作具体操作 1 如图 2 6 所示 新建一个工程 mux 图 2 6 新建工程 2 如图 2 7 所示 向工程中添加 mux banzi v EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术14 图 2 7 添加 v 文件 3 绑定管脚 flout a 与 flout b 以及 chose rst en 绑到 15 个输入开关上 flout c 以及 yichu 绑到 10 个 灯上 NET flout a 5 IOSTANDARD LVCMOS33 NET flout a 4 IOSTANDARD LVCMOS33 NET flout a 3 IOSTANDARD LVCMOS33 NET flout a 2 IOSTANDARD LVCMOS33 NET flout a 1 IOSTANDARD LVCMOS33 NET flout a 0 IOSTANDARD LVCMOS33 NET flout b 5 IOSTANDARD LVCMOS33 NET flout b 4 IOSTANDARD LVCMOS33 NET flout b 3 IOSTANDARD LVCMOS33 NET flout b 2 IOSTANDARD LVCMOS33 NET flout b 1 IOSTANDARD LVCMOS33 NET flout b 0 IOSTANDARD LVCMOS33 NET flout c 7 IOSTANDARD LVCMOS33 NET flout c 6 IOSTANDARD LVCMOS33 NET flout c 5 IOSTANDARD LVCMOS33 NET flout c 4 IOSTANDARD LVCMOS33 NET flout c 3 IOSTANDARD LVCMOS33 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术15 NET flout c 2 IOSTANDARD LVCMOS33 NET flout c 1 IOSTANDARD LVCMOS33 NET flout c 0 IOSTANDARD LVCMOS33 NET yichu 1 IOSTANDARD LVCMOS33 NET yichu 0 IOSTANDARD LVCMOS33 NET flout a 5 LOC P4 NET flout a 4 LOC P3 NET flout a 3 LOC R3 NET flout a 2 LOC T1 NET flout a 1 LOC T3 NET flout a 0 LOC U2 NET flout b 5 LOC V7 NET flout b 4 LOC R5 NET flout b 3 LOC R6 NET flout b 2 LOC R7 NET flout b 1 LOC U8 NET flout b 0 LOC U9 NET flout c 7 LOC P2 NET flout c 6 LOC R2 NET flout c 5 LOC U1 NET flout c 4 LOC P5 NET flout c 3 LOC R1 NET flout c 2 LOC V1 NET flout c 1 LOC U3 NET flout c 0 LOC V4 NET yichu 1 LOC V9 NET yichu 0 LOC T8 NET chose LOC V2 NET en LOC U4 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术16 NET rst LOC V5 NET clk LOC E3 NET chose IOSTANDARD LVCMOS33 NET clk IOSTANDARD LVCMOS33 NET en IOSTANDARD LVCMOS33 NET rst IOSTANDARD LVCMOS33 4 综合 翻译 适配 点击 Implement Design 选择 run 进行综合 翻译等 当进行到 Map 时出现了错误 原因大概是总线时钟不能由下面的一排开关控制 因此经过 查阅资料 将 NET clk CLOCK DEDICATED ROUTE FALSE 这句话存入 top ucf 中 即 可将错误降低为警告 继续运行 或将时钟绑定至 E3 管脚此问题得以解决 5 下载程序 将板子通过 USB 供电 并将并口与计算机相连 打开板子电源开关 选择所要下载的 jed 文件 待芯片成为绿色 右击芯片 选择 Program 当出现 program succeed 程序已 经下载到板子的芯片上 就可以通过改变输入来观察输出跟料想的是否一样 EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术17 2 6 虚拟机下的虚拟机下的 DC 综合综合 综合出来的面积如图 2 8 图 2 8 report area EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术18 综合得到的时序如图 2 9 图 2 9 report timing EDA SOPC 课程设计报告课程设计报告 信息与电气工程学院信息与电气工程学院 电子科学与技术电子科学与技术19 2 7 虚拟机下的虚拟机下的 SDF 反标仿真反标仿真 如图 2 10 所示 得到的结果与反标之前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临聘导游合同范本
- 磷脂销售合同范本
- 婚庆公司承揽合同范本
- 模具研发协议合同范本
- 闲置家居售卖合同范本
- 新车购买合同范本赠品
- 社区工作基础知识培训课件
- 翻砂成品采购合同范本
- 微信销售合同范本
- 外贸口罩销售合同范本
- 文献检索与毕业论文写作PPT完整全套教学课件
- 评估量表模板
- JJF 1959-2021 通用角度尺校准规范 高清晰版
- 口腔预防医学第九章其他口腔疾病的预防
- 河北省医疗保险诊疗项目目录
- 三相异步电动机正反转说课课件
- (3.1.1)-野外地质工作安全(一)
- JJF 1117-2010计量比对
- 压力管道安装许可规则-TSG D3001-2021
- 厨房设备备品备件及专用工具库
- 公共政策导论完整版课件全套ppt教学教程(最新)
评论
0/150
提交评论