ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:78.29KB ,
资源ID:18259473      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18259473.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(组成专题实验报告三Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

组成专题实验报告三Word文档格式.docx

1、由于在运算器内通常只能完成对两数的求乘操作,则可以每求得一个相加数,就同时完成与上一次部分积相加的操作。其次是在手工计算时,各加数逐位左移,最终相加数为相乘二位数的两倍,而在计算机中,加法器的位数一般与乘法器的位数相同,而不是寄存器位数的两倍。这实际上也可以用另外的办法解决。手工计算时,各加数是逐位左移,但很容易发现,在求本次部分积之和时,前一部分积的最低一位是不再与任何数值相加的。这就意味着,若采用每求得一次部分积之后使其右移一位,则可以只用N位的加法器就能实现两个N位的数相乘j!显而易见,若前一次部分积已经右移一位,就可以用其高位部分加上被乘数或加零的方法求得本次部分积。最后一点是,手工计

2、算时,乘数每一位的值是0还是1都直接看得见,而在计算机内,采用放乘数的寄存器的每一位直接决定本次相加数是被乘数还是零是很不方便的,若均采用该寄存器的最低一位来执行这种判别就简便了。为此,只要每求一次部分积就使放乘数的寄存器执行一次右移操作即可以了。若移位时,使其最高数值位接收加法器最低位的输出,则完成乘法运算后,该寄存器中保存的是乘积的低位部分。计算机内求乘积的符号,很容易用求相乘二数符号的半加和(异或值)实现。 原码一位乘法的规则: 判断参加运算的操作数是否合格; 令乘数的最低位为判断位,若为“1”,加被乘数,若为“0”,不加被乘数(加0); 累加后的部分积以及乘数右移一位 重复n次和 ;

3、符号位单独处理,同号为正,异号为负。 通常,乘法运算需要3个寄存器。被乘数存放在B寄存器中;乘数存放在C寄存器中;A寄存器用来存放部分积与最后乘积的高位部分,它的初值为0。运算结束后寄存器C中不再保留乘数,改为存放乘积的低位部分。 例:已知:X=0.1101,Y=-0.1011,求:XY。 |X|=00.1101B,|Y|=.1011C,0A原码一位乘法示例A C 说明 00.0000 1011 +|X| 00.1101 C4=1,+|X| 00.1101 00.0110 1101 部分积右移一位 01.0011 00.1001 1110 部分积右移一位 +0 00.0000 C4=0,+0

4、00.1001 00.0100 1111 部分积右移一位 +|X| 00.1101 C4=1,+|X| 01.0001 00.1000 1111 部分积右移一位PS=XSYS=01=1X*Y=-0.10001111 原码一位乘法流程图 这里为了简便,我编写了无符号数原码的乘法运算,不考虑符号位。即实现了两个四位数相乘,结果放入一个八位数中。4、实验源代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity ALU isport( s

5、et:in std_logic;- 运算控制信号 code:in std_logic_vector(3 downto 0);- 操作码 cin:- 低位向高位的进位或者借位信号 opr1:in std_logic_vector(7 downto 0);- 第一操作数 opr2:- 第二操作数 result:out std_logic_vector(7 downto 0);- 运算结果 flag:out std_logic-运算结果标志位flag );end ALU;architecture behav of ALU issignal a:std_logic_vector(7 downto 0)

6、;signal b:signal c:shared variable y,x:beginprocess(b,c,temp1,set,code,cin,opr1,opr2)variable i: integer;a=00000000;bCx:temp:temp1resultflag-+ a(0)=opr1(0) and opr2(0);b(0)=opr1(0) xor opr2(0);-产生本地进位和传递条件 a(1)=opr1(1) and opr2(1);b(1)=opr1(1) xor opr2(1); a(2)=opr1(2) and opr2(2);b(2)=opr1(2) xor o

7、pr2(2); a(3)=opr1(3) and opr2(3);b(3)=opr1(3) xor opr2(3); a(4)=opr1(4) and opr2(4);b(4)=opr1(4) xor opr2(4); a(5)=opr1(5) and opr2(5);b(5)=opr1(5) xor opr2(5); a(6)=opr1(6) and opr2(6);b(6)=opr1(6) xor opr2(6); a(7)=opr1(7) and opr2(7);b(7)=opr1(7) xor opr2(7);-每四位一组,组内先行进位加法,组间串行进位加法. result(0)=b(

8、0) xor cin; c(0)=a(0) or (b(0) and cin); result(1)=b(1) xor c(0); c(1)=a(1) or (b(1) and a(0) or (b(1)and b(0)and cin); result(2)=b(2) xor c(1); c(2)=a(2) or (b(2) and a(1) or (b(2)and b(1)and a(0) or (b(2)and b(1)and b(0)and cin); result(3)=b(3) xor c(2); c(3)=a(3) or (b(3) and a(2) or (b(3)and b(2

9、)and a(1) or (b(3)and b(2)and b(1)and a(0) or (b(3)and b(2)and b(1)and b(0)and cin); result(4)=b(4) xor c(3); c(4)=a(4) or (b(4) and c(3); result(5)=b(5) xor c(4); c(5)=a(5) or (b(5) and a(4) or (b(5)and b(4)and c(3); result(6)=b(6) xor c(5); c(6)=a(6) or (b(6) and a(5) or (b(6)and b(5)and a(4) or (

10、b(6)and b(5)and b(4)and c(3); result(7)=b(7) xor c(6); flag=a(7) or (b(7) and a(6) or (b(7)and b(6)and a(5) or (b(7)and b(6)and b(5)and a(4) or (b(7)and b(6)and b(5)and b(4)and c(3);0001+1=not opr1(0);=opr1(1) xor opr1(0);=opr1(2) xor (opr1(1) and opr1(0);=opr1(3) xor (opr1(2) and opr1(1) and opr1(0

11、);=opr1(4) xor (opr1(3) and opr1(2) and opr1(1) and opr1(0);=opr1(5) xor (opr1(4) and opr1(3) and opr1(2) and opr1(1) and opr1(0);=opr1(6) xor (opr1(5) and opr1(4) and opr1(3) and opr1(2) and opr1(1) and opr1(0);=opr1(7) xor (opr1(6) and opr1(5) and opr1(4) and opr1(3) and opr1(2) and opr1(1) and op

12、r1(0);=opr1(7) and opr1(6) and opr1(5) and opr1(4) and opr1(3) and opr1(2) and opr1(0);0010-=opr1(0) and (not opr2(0);=opr1(0) xor (not opr2(0);=opr1(1) and (not opr2(1);=opr1(1) xor (not opr2(1);=opr1(2) and (not opr2(2);=opr1(2) xor (not opr2(2);=opr1(3) and (not opr2(3);=opr1(3) xor (not opr2(3);

13、=opr1(4) and (not opr2(4);=opr1(4) xor (not opr2(4);=opr1(5) and (not opr2(5);=opr1(5) xor (not opr2(5);=opr1(6) and (not opr2(6);=opr1(6) xor (not opr2(6);=opr1(7) and (not opr2(7);=opr1(7) xor (not opr2(7);=b(0) xor (not cin);=a(0) or (b(0) and (not cin);=a(1) or (b(1) and a(0) or (b(1)and b(0)and

14、 (not cin);=a(2) or (b(2) and a(1) or (b(2)and b(1)and a(0) or (b(2)and b(1)and b(0)and (not cin);=a(3) or (b(3) and a(2) or (b(3)and b(2)and a(1) or (b(3)and b(2)and b(1)and a(0) or (b(3)and b(2)and b(1)and b(0)and (not cin); c(7)=not c(7);0011-1=opr1(1)xor(not opr1(0);=opr1(2)xor(not (opr1(1)or op

15、r1(0);=opr1(3)xor(not (opr1(2)or opr1(1)or opr1(0);=opr1(4)xor(not (opr1(3)or opr1(2)or opr1(1)or opr1(0);=opr1(5)xor(not (opr1(4)or opr1(3)or opr1(2)or opr1(1)or opr1(0);=opr1(6)xor(not (opr1(5)or opr1(4)or opr1(3)or opr1(2)or opr1(1)or opr1(0);=opr1(7)xor(not (opr1(6)or opr1(5)or opr1(4)or opr1(3)

16、or opr1(2)or opr1(1)or opr1(0);=not(opr1(7)or opr1(6)or opr1(5)or opr1(4)or opr1(3)or opr1(2)or opr1(1)or opr1(0);0100*操作数为4位,结果为8位,无符号数原码乘法 -c=opr1(3 downto 0)*opr2(3 downto 0); x(0): x(1): x(2): x(3): x(4):=opr1(0); x(5):=opr1(1); x(6):=opr1(2); x(7):=opr1(3); y(0):=opr2(0); y(1):=opr2(1); y(2):=o

17、pr2(2); y(3):=opr2(3); y(4): y(5): y(6): y(7): i:=0; while (i4) loop if(y(0)=) then y:=x+y; else y:=y; end if; y(0):=y(1);=y(2);=y(3);=y(4);=y(5);=y(6);=y(7); -y(7 downto 0)=y1(7 downto 0); i:=i+1; end loop; -y(7) result15) or (opr215) then flag end if;0101-传送数据 result=opr1(7 downto 0);0110and=opr1(

18、0)and opr2(0);=opr1(1)and opr2(1);=opr1(2)and opr2(2);=opr1(3)and opr2(3);=opr1(4)and opr2(4);=opr1(5)and opr2(5);=opr1(6)and opr2(6);=opr1(7)and opr2(7);0111or=opr1(0)or opr2(0);=opr1(1)or opr2(1);=opr1(2)or opr2(2);=opr1(3)or opr2(3);=opr1(4)or opr2(4);=opr1(5)or opr2(5);=opr1(6)or opr2(6);=opr1(7

19、)or opr2(7);1000not=not opr1(1);=not opr1(2);=not opr1(3);=not opr1(4);=not opr1(5);=not opr1(6);=not opr1(7);1001xor=opr1(0)xor opr2(0);=opr1(1)xor opr2(1);=opr1(2)xor opr2(2);=opr1(3)xor opr2(3);=opr1(4)xor opr2(4);=opr1(5)xor opr2(5);=opr1(6)xor opr2(6);=opr1(7)xor opr2(7);1010SAL case opr2 is wh

20、en =opr1;00000001result(0) result(7 downto 1)=opr1(6 downto 0);00000010 result(7 downto 2)=opr1(5 downto 0);00000011 result(7 downto 3)=opr1(4 downto 0);00000100 result(7 downto 4)=opr1(3 downto 0);00000101 result(7 downto 5)=opr1(2 downto 0);00000110 result(7 downto 6)-error end case;1011SARresult(7)=opr1(7); result(6 downto 0)=opr1(7 downto

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1