算术逻辑运算单元.doc_第1页
算术逻辑运算单元.doc_第2页
算术逻辑运算单元.doc_第3页
算术逻辑运算单元.doc_第4页
算术逻辑运算单元.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

运算器部件实验:加法器一、 实验目的1、 掌握运算器的工作原理。2、 验证运算器的功能。二、 实验原理算术逻辑单元的主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移位操作。算术运算包括定点加减乘除运算;逻辑运算主要有逻辑与、逻辑或、逻辑异或和逻辑非操作。ALU通常有两个数据输入端A和B,一个数据输出端Y以及标志位等。74181是一种典型的4位ALU器件。下图是74181的逻辑电路图。20世纪80年代计算机中的算术逻辑单元有许多是用现成的算术逻辑器件连接起来构成的,如上面提到的74181和Am2901等就是著名的算术逻辑器件。使用这些4位的算术逻辑器件,能够构成8位、16位等长度的算术逻辑单元。现在由于超大规模器件的广泛应用,使用这种方法构成算术逻辑单元已经不多见,代之以直接用硬件描述语言设计算术逻辑单元。三、 实验内容设计一个16位算术逻辑单元,满足以下要求。(1)16位算术逻辑单元能够进行下列运算:加法、减法、加1、减1、与、或、非和传送。用3位运算操作码OP20进行运算,控制方式如下表所示。运算操作码OP20运算对标志位Z和C的影响000resultA+B影响标志位Z和C001resultA+1影响标志位Z和C010resultA-B影响标志位Z和C011resultA-1影响标志位Z和C100resultA and B影响标志位Z101resultA or B影响标志位Z110resultnot B影响标志位Z111resultB不影响标志位Z和C(2)设立两个标志寄存器Z和C。当复位信号reset为低电平时,将这两个标志寄存器清零。当运算结束后,在时钟clk的上升沿改变标志寄存器Z和C的值。运算结果改变标志寄存器C、Z的情况如下:加法、减法、加1、减1运算改变Z、C;与、或、非运算改变Z,C保持不变;传送操作保持Z、C不变。因此在运算结束时Z、C需要两个D触发器保存。(3)为了保存操作数A和B,设计两个16位寄存器A和B。当寄存器选择信号sel=0时,如果允许写信号write=1,则在时钟clk的上升沿将数据输入dinput送入A寄存器;当sel=1时,如果允许写信号write=1,则在时钟clk的上升沿将数据输入dinput送入B寄存器。(4)算术逻辑单元用一个设计实体完成。四、 实验数据运算数据运算类型操作码OP运算结果result标志C标志Z运算前运算后运算前运算后第一组数据A=0xAAAAB=0x5555resultA+B0000xFFFF0000resultA+10010xAAAB0000resultA-B0100x55550000resultA-10110xAAA90000resultA and B1000x00000001resultA or B1010xFFFF0010resultnot B1100AAAA0000resultB1110x55550000第2组数据A=0xFFFFB=0x0000resultA+B0000xFFFF0000resultA+10010x00000101resultA-B0100xFFFF1010resultA-10110xFFFE0000resultA and B1000x00000001resultA or B1010xFFFF0010resultnot B1100xFFFF0000resultB1110x00000001第3组数据A=0x0000B=0xFFFFresultA+B0000xFFFF0010resultA+10010x00010000resultA-B0100x00010100resultA-10110xFFFF1100resultA and B1000x00001001resultA or B1010xFFFF0010resultnot B1100x00000001resultB1110xFFFF0010第4组数据A=0x8950B=0x9863resultA+B0000x21B30100resultA+10010x89511000resultA-B0100xF0ED0100resultA-10110x894F1000resultA and B1000x88400000resultA or B1010x99730000resultnot B1100x679C0000resultB1110x98630000五、 心得体会本次实验中,实现了算术逻辑运算单元,其主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移位操作。通过本次实验,对算术逻辑运算单元的计算原理及过程有了进一步的理解,通过实验解决了课上发现而且没有解决的问题。六、 源代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity alu isport ( clk,reset,wt,sel:in std_logic; dinput:in std_logic_vector(15 downto 0); OP:in std_logic_vector(2 downto 0); result:out std_logic_vector(15 downto 0); Z,C:out std_logic);end entity;architecture rtl of alu iscomponent regis isport( clr,clk,wt,sel:in std_logic; D :in std_logic_vector(15 downto 0); Q :out std_logic_vector(15 downto 0);end component regis;signal A:std_logic_vector(15 downto 0);signal B:std_logic_vector(15 downto 0);signal res:std_logic_vector(16 downto 0);beginresult=res(15 downto 0);process(clk)is begin if(clkevent and clk=1)then if(wt=1 and sel=0)then A=dinput; elsif(wt=1 and sel=1)then Bresresresresresresresres=0&B; end case;end process;process(reset,clk,res)isbegin if(reset=0)then C=0; elsif(clkevent and clk=1)then if(res(16)=1)then C=1; else C=0; end if; end if;end process;process(reset,clk,res)isb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论