下载此文档

定点原码两位乘法器的设计.doc


文档分类:汽车/机械/制造 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
沈阳航空航天大学
课程设计报告
课程设计名称:计算机组成原理课程设计
课程设计题目:定点原码二位乘法器的设计
目录
第1章总体设计方案 1
设计原理 1
设计思路 3
设计环境 4
第2章功能模块的设计与实现 6
总体的设计与实现 6
6
基本功能模块的组成及工作原理 8
8
8
9
移位模块的工作原理 9
第3章程序仿真与测试 10
程序仿真 10
仿真测试及结果分析 10
参考文献 12
附录(汇编程序) 13
第1章总体设计方案
设计原理
定点原码两位乘与定点原码一位乘一样,符号位的运算和数值部分是分开进行的,但为了提高运算速度,所以采用了原码两位乘,因为原码两位乘是用乘数的末两位的状态来决定新的部分积如何形成,可提高运算速度。乘数和被乘数都用原码表示。
两位乘数有四种可能的组合,
乘数组合与部分积关系对照表
乘数yn-1yn 新的部分积
00 新部分积等于原部分积右移两位
01 新部分积等于原部分积加被乘数后右移两位
10 新部分积等于原部分积加2倍被乘数后右移两位
11 新部分积等于原部分积加3倍被乘数后右移两位
与一位乘法比较,多出了+2X和3X两种情况。把X左移1位即得到2X,在机器内通常采用左斜送一位来实现。可是+3X一般不能一次完成,如分成两次进行,又降低了计算速度。解决问题的办法是:以(4X-X)来代替3X运算,在本次运算中只执行-X,而+4X则归并到下一步执行,此时部分积以右移了两位,上一步欠下的+4X已变成+X,在实际线路中要用一个触发器C来记录是否欠下+4X,若是,则C变为1。因此实际操作用Yi-1,Yi,C三位来控制,运算规则如下所示:
判断值对应的操作以及C值的变化情况
组合值 Yi-1 Yi C 操作 C值变化
0 0 0 0 部分积+0;右移两位 C=0
1 0 0 1 部分积+x;右移两位 C=0
1 0 1 0 部分积+x;右移两位 C=0
2 0 1 1 部分积+2x;右移两位 C=0
2 1 0 0 部分积+2x;右移两位 C=0
3 1 0 1 部分积-x;右移两位 C=1
3 1 1 0 部分积-x;右移两位 C=1
4 1 1 1 部分积+0;右移两位 C=1
定点原码两位乘法器实现的功能应如下面例子所示,设计的电路应实现下面
例子给定的功能。
用原码两位乘方法求X*Y,已知X=07H,Y=16H(这里的0或1表示符号位)。
2X=
表 07H*16H的计算过程
部分积乘数 Cj 说明
0110 0 开始,部分积为0,Cj=0
+ yn-1yn Cj=100,加2x*,保持Cj=0
0110
1001 0 —>2位,得新的部分积,乘数同时—>2位
+ yn-1yn Cj=010,加x*,保持Cj=0
1001 0
1010 —>2位得最终结果
.
1
1
定点原码两位乘法器逻辑电路框图
设计思路
设计的定点原码两位乘法器是用一个乘数模块,一个被乘数模块和部分积模块以及移位模块和选择模块构成。
顾名思义,乘数模块以及被乘数模块即用来存储乘数和被乘数的模块,思路是把乘数存储在R1中,被乘数则存储在R2中。部分积则和书上所说的一样,先全部清零,在这里,我将把部分积存储在R0中。因为原码两位乘涉及到欠位,所以R3中存储欠位。
思路大概如下。将要计算的乘数以及被乘数分别输进存储器中,然后分别计算出x*以及2x方便以后计算。然后再提出两数的符号位并进行异或运算(比如17H,06H的符号位计算则为1异或0最后经过移位运算可得出最终的符号位模式10,00)。
下面便是具体计算过程:,判断yn-1yn Cj的值并加上对应的值然后将部分积右移两位,同时将乘数右移两位,重复计算,计算次数达到2的时候判断附加位,如果附加位为1,则加x*并右移两位得结果,否则直接得出结果。
最终,要进行符号位运算。由于上面已经计算好符号位为10或者00,所以将上面的步骤得到的结果与7FH相与去掉上面结果的最高位,再将算好的符号位加到结果上则可得到最终结果。
根据课设题目要求,采用伟福COP200

定点原码两位乘法器的设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cdsqbyl
  • 文件大小0 KB
  • 时间2015-09-10
最近更新