- 1、本文档共105页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章(计算机算法)67解析
主要内容 二进制整数 无符号二进制整数 补码表示的带符号二进制整数 加减法算法及Verilog HDL实现 加法器和减法器设计 先行进位加法器设计 乘法算法及Verilog HDL实现 无符号数乘法器设计 带符号数乘法器设计 无符号数Wallace树型乘法器设计(略) 带符号数Wallace树型乘法器设计(略) 除法算法及Verilog HDL实现(略) 恢复余数器除法设计 不恢复余数器除法设计 带符号数不恢复余数除法器设计 Goldschmidt除数算法(略) Newton-Raphson除法算法(略) 开方算法及Verilog HDL实现(略) 逻辑运算(增加) 算术逻辑运算单元(ALU)举例(增加) 3.1 二进制整数 计算机中所有的信息,包括指令和数据,都是用二进制数表示的。 假设有一个32位的二进制数 0011 0011 1101 1110 0000 0001 0000 0000 它到底表示是什么? 指令? 数据:整数,浮点数? 图形图像? 音乐? IP地址? ? 缺点:读写起来太长,不方便。 3.1.1 无符号二进制整数(略) 3.1.2 补码表示的带符号二进制整数(略) 3.2.2 先行进位加法器设计 略 3.3 乘法算法及Verilog HDL实现 3.3.1 无符号数乘法器设计 与十进制乘法计算一样,二进制的乘法可以用加法和移位操作来完成,例如: 可以用全加器阵列来实现上述加法,也可以用循环迭代的方法实现。 四、阵列乘法器设计—P74 设有2个补码表示的8位带符号数A8和B8,试计算Z16=A8*B8。 已知[X]补=X0.X1X2···Xn,根据补码性质(3)知: X=[X]补-2X0=X0.X1X2···Xn-2X0 =0.X1X2···Xn-X0 若变成正整数,可得: A8=a7a6a5a4a3a2a1a0=-a7*27+a6a5a4a3a2a1a0 =-a7*27+A7 B8=b7b6b5b4b3b2b1b0=-b7*27+b6b5b4b3b2b1b0 =-b7*27+B7 Z16=A8*B8 =(-a7*27+A7)*(-b7*27+B7) =a7*b7*214+(-a7*B7)*27+(-b7*A7)*27+A7*B7 其中a7*b7和A7*B7与无符号数乘法相同,其他2项为负。 如下图所示。 写成二进制位的形式: a7*B7=0 0 a7b6 a7b5 a7b4 a7b3 a7b2 a7b1 a7b0 b7*A7=0 0 b7a6 b7a5 b7a4 b7a3 b7a2 b7a1 b7a0 已经知道-X=/X+1。对这2项同时取反再加1后得到: 化简并1放到适当位置后,得到: 把所有乘积项相加后,得到: 阵列乘法的Verilog HDL代码V1 module mul_signed(a,b,z); input [7:0] a,b; output [15:0] z; wire [7:0] ab0=b[0]?a:8’b0; wire [7:0] ab1=b[1]?a:8’b0; wire [7:0] ab2=b[2]?a:8’b0; wire [7:0] ab3=b[3]?a:8’b0; wire [7:0] ab4=b[4]?a:8’b0; wire [7:0] ab5=b[5]?a:8’b0; wire [7:0] ab6=b[6]?a:8’b0; wire [7:0] ab7=b[7]?a:8’b0; assign z=((8’b1,~ab0[7],ab0[6:0])+ {7’b0,~ab1[7],ab1[6:0],1’b0})+ ( {6’b0,~ab2[7],ab2[6:0],2’b0}+ {5’b0,~ab3[7],ab3[6:0],3’b0})+ ({4’b0,~ab4[7],ab4[6:0],4’b0}+ {3’b0,~ab5[7],ab5[6:0],5’b0})+ ({2’b0,~ab6[7],ab6[6:0],6’b0}+ {1’b1,ab7[7],~ab7[6:0],7’b0})); endmodule 阵列乘法的Verilog HDL代码V2 module mul_signed_v2(a,b,z); input [7:0] a,b; output [15:0]
您可能关注的文档
- 莲塘隧道主线段出口左线进洞施工方案分析.doc
- 莱钢养老地产-鸿福养生文化小镇分析.ppt
- 岩石物理学6(岩石的断裂)ppt解析.ppt
- 荷兰水乡3期2组团-营销调整建议分析.ppt
- 莫洪波:医学X线检查部位及目的分析.ppt
- 获得教养的途径1分析.ppt
- 获利能力分析分析.ppt
- 第三章 市场比较法解析.ppt
- 岳麓版历史八下《农村和城市的历史改革》ppt课件解析.ppt
- 获得教养的途径ppt分析.ppt
- 2024教育硕士练习题(各地真题)附答案详解.docx
- 2024民航职业技能鉴定模拟试题及完整答案详解【名师系列】.docx
- OBE理念下能源服务专业复合型人才培养探索.docx
- 2024民航职业技能鉴定模拟试题附答案详解(综合题).docx
- 2025至2030中国飞机数据记录器行业项目调研及市场前景预测评估报告.docx
- 2024生殖健康咨询师模拟题库【学生专用】附答案详解.docx
- 2024生殖健康咨询师模拟题库附参考答案详解(达标题).docx
- 2024生殖健康咨询师模拟试题附参考答案详解(培优).docx
- 《Module 2 Unit 1 What did you buy》教学课件教学课件教学课件.pptx
- 急性囊尾炎的手术以及护理.ppt
文档评论(0)