定点原码两位乘器设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定点原码两位乘器设计

沈阳航空工业学院 课 程 设 计 报 告 课程设计名称:计算机组成原理课程设计 课程设计题目:定点原码两位乘器设计 院(系):计算机学院 专 业:计算机科学与技术 班 级:4401102 学 号:200403011049 姓 名:郭振明 指导教师:刘泽显 完成日期:2006年12月31日 目 录 第1章 总体设计方案 1 1.1 设计原理 1 第2章 详细设计方案 3 2.1 顶层方案图的设计与实现 3 2.1.1创建顶层图形设计文件 3 2.1.2器件的选择与引脚锁定 3 2.1.3编译、综合、适配 4 2.2 功能模块的设计与实现 4 2.2.1欠位C和选择器模块的设计与实现 4 2.2.2两位移电路的设计与实现 5 2.3 仿真调试 6 第3章 编程下载与硬件测试 8 3.1 编程下载 8 3.2 硬件测试及结果分析 8 参考文献 9 附 录(程序清单或电路原理图) 10 第1章 总体设计方案 1.1 设计原理 原码两位乘法   原码两位乘与原码一位乘一样,符号位的运算和数值部分是分开进行的,但原码两位乘是用两位乘数的状态来决定新的部分积如何形成,因此可提高运算速度。   两位乘数共有4种状态,对应这4种状态可得下表。 乘数yn-1yn 新的部分积 00 等于原部分积右移两位 01 等于原部分积加被乘数后右移两位 10 等于原部分积加2倍被乘数后右移两位 11 等于原部分积加3倍被乘数后右移两位 表中2倍被乘数可通过将被乘数左移一位实现,而3倍被乘数的获得可以分两步来完成,利用3=4-1,第一步先完成减1倍被乘数的操作,第二步完成加4倍被乘数的操作。而加4倍被乘数的操作实际上是由比“11”高的两位乘数代替完成的,可以看作是在高两位乘数上加“1”。这个“1”可暂时存在Cj触发器中。机器完成置“1” Cj即意味着对高两位乘数加1,也即要求高两位乘数代替本两位乘数“11”来完成加4倍被乘数的操作。由此可得原码两位乘的运算规则如下表所示。乘数判断位yn-1y n 标志位Cj 操 作 内 容 00 0 z→2,y*→2,Cj保持“0” 01 0 z+x*→2, y*→2,Cj保持“0” 10 0 z+2x*→2, y*→2,Cj保持“0” 11 0 z-x*→2, y*→2,置“1”Cj 00 1 z+x*→2, y*→2,置“0”Cj 01 1 z+2x*→2, y*→2,置“0”Cj 10 1 z-x*→2, y*→2, Cj保持“1” 11 1 z→2,y*→2,Cj保持“1”   表中z表示原有部分积,x*表示被乘数的绝对值,y*表示乘数的绝对值,→2表示右移两位,当作-x*运算时,一般采用加[-x*]补来实现。这样,参与原码两位乘运算的操作数是绝对值的补码,因此运算中右移两位的操作也必须按补码右移规则完成。尤其应注意的是,乘法过程中可能要加2倍被乘数,即+[2x*]补,使部分积的绝对值大于2。为此,只有对部分积取三位符号位,且以最高符号位作为真正的符号位,才能保证运算过程正确无误。   此外,为了统一用两位乘数和一位Cj共同配合管理全部操作,与原码一位乘不同的是,需在乘数(当乘数位数为偶数时)的最高位前增加两个0。这样,当乘数最高两个有效位出现“11”时, Cj需置“1”,再与所添补的两个0结合呈001状态,以完成加x*的操作(此步不必移位)。 例:设x=0.111111,y=-0.111001,用原码两位乘求[x? y]原。   解:①数值部分的运算如下表所示,其中x*=0.111111,[-x*]补=1.000001,2x*=1.111110, y*=0.111001。  部分积 乘数y* Cj 说?? 明 000.000000 000.1111110 开始,部分积为0, Cj=0 根据yn-1ynCj=010加x*,保持Cj=0 000.111111 000.001111 001.1111100 →2,得新的部分积,乘数同时→2位 根据yn-1ynCj=100加2x*,保持Cj=0 010.001101 000.100011 111.000001 110 →2,得新的部分积,乘数同时→2位 根据yn-1ynCj=110减x*,Cj置“1” 111.100100 111.111001 000.111111 01111 →2,得新的部分积,乘数同时→2位 根据yn-1ynCj=001加x*,Cj置“0” 000.111000 000111 形成最终结果 ②乘积的符号为   故[x? y]原=1.111000000111。 当乘数

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档