下载此文档

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


文档分类:汽车/机械/制造 | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码二位乘法器的设计目录第1章总体设计方案 4第2章功能模块的设计与实现 9第3章程序仿真与测试 10参考文献 12附录(汇编程序) ,符号位的运算和数值部分是分开进行的,但为了提高运算速度,所以采用了原码两位乘,因为原码两位乘是用乘数的末两位的状态来决定新的部分积如何形成,可提高运算速度。乘数和被乘数都用原码表示。两位乘数有四种可能的组合,-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三位来控制,运算规则如下所示:-1YiC 操作 C值变化0 000 部分积+0;右移两位 C=01 001 部分积+x;右移两位 C=01 010 部分积+x;右移两位 C=02 011 部分积+2x;右移两位 C=02 100 部分积+2x;右移两位 C=03 101 部分积-x;右移两位 C=13 110 部分积-x;右移两位 C=14 111 部分积+0;右移两位 C=1定点原码两位乘法器实现的功能应如下面例子所示,设计的电路应实现下面例子给定的功能。用原码两位乘方法求X*Y,已知X=07H,Y=16H(这里的0或1表示符号位)。2X=*,部分积为0,Cj=0+-1ynCj=100,加2x*,保持Cj=0010.**********.101110010—>2位,得新的部分积,乘数同时—>2位+-1ynCj=010,加x*,保持Cj=—>,一个被乘数模块和部分积模块以及移位模块和选择模块构成。顾名思义,乘数模块以及被乘数模块即用来存储乘数和被乘数的模块,思路是把乘数存储在R1中,被乘数则存储在R2中。部分积则和书上所说的一样,先全部清零,在这里,我将把部分积存储在R0中。因为原码两位乘涉及到欠位,所以R3中存储欠位。思路大概如下。将要计算的乘数以及被乘数分别输进存储器中,然后分别计算出x*以及2x方便以后计算。然后再提出两数的符号位并进行异或运算(比如17H,06H的符号位计算则为1异或0最后经过移位运算可得出最终的符号位模式10,00)。下面便是具体计算过程:,判断yn-1ynCj的值并加上对应的值然后将部分积右移两位,同时将乘数右移两位,重复计算,计算次数达到2的时候判断附加位,如果附加位为1,则加x*并右移两位得结果,否则直接得出结果。最终,要进行符号位运算。由于上面已经计算好符号位为10或者00,所以将上面的步骤得到的结果与7FH相与去掉上面结果的最高位,再将算好的符号位加到结果上则可得到最终结果。根据课设题目要求,采用伟福COP2000和实验箱进行设计并实现定点原码两位乘,所以本题目需要试用软件进行调试,首先需要进行编程。以下会给出几个本程序中将用到的汇编语言以及其对应的注释:,R?将寄存器R?的值加入累加器A中ADDCA,R?将寄存器R?的值加入累加器A中,带进位SUBA,R?从累加器A中减去寄存器R?的值ANDA,R?累加器A“与”寄存器R?的值ORA,R?累加器A“或”寄存器R

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

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人szh187166
  • 文件大小155 KB
  • 时间2019-06-26