16位算术逻辑运算实验 共5页
- 格式:docx
- 大小:41.40 KB
- 文档页数:6
算术逻辑单元实验报告一、实验目的1、掌握运算器的工作原理。
2、验证运算器的功能。
二、实验原理算术逻辑单元的主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移位操作。
算术运算包括定点加减乘除运算;逻辑运算主要有逻辑与、逻辑或、逻辑异或和逻辑非操作。
ALU通常有两个数据输入端A和B,一个数据输出端Y 以及标志位等。
三、实验要求1、实验设计目标设计一个16位算术逻辑单元,满足以下要求。
(1)16位算术逻辑单元能够进行下列运算:加法、减法、加1、减1、与、或、非和传送。
用3位运算操作码OP[2..0]进行运算,控制方式如下表所示。
(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)算术逻辑单元用一个设计实体完成。
2.顶层设计实体的引脚要求(1)clk对应试验台上的时钟(单脉冲)。
(2)reset对应实验台上的CPU复位信号CPU-RST。
(3)数据输入dinput对应试验台开关SD15~SD0。
(4)允许写信号write对应试验台开关SA5.(5)OP[2..0]对应试验台开关SA2~SA0.(6)寄存器选择信号sel对应试验台开关SA4.(7)16为运算结果result对应实验台上的指示灯A15~A0.(8)Z、C标志位对应试验台上的Z、C指示灯。
基本算数运算一、实验目的和要求加、减、乘、除是数字信号处理中最基本的算术运算。
DSP 中提供了大量的指令来实现这些功能。
本实验学习使用定点DSP 实现16 位定点加、减、乘、除运算的基本方法和编程技巧。
本实验的演示文件为exer1.out。
二、实验原理1) 定点DSP 中的数据表示方法2) 实现16 位定点加法ld temp1,a ;将变量temp1 装入寄存器Aadd temp2,a ;将变量temp2 与寄存器A相加,结果放入A中stl a,add_result ;将结果(低16 位)存入变量add_result 中3)实现16 位定点减法stm #temp1,ar3 ;将变量temp1 的地址装入ar3 寄存器stm #temp3,ar2 ;将变量temp3 的地址装入ar2 寄存器sub *ar2+, *ar3,b ;将变量temp3 左移16 位同时变量temp1 也左移16 位,然后相减,结果放入寄存器B(高16位)中,同时ar2 加1。
sth b,sub_result ;将相减的结果(高16位)存入变量sub_result 4)实现16 位定点整数乘法rsbx FRCT ;清FRCT标志,准备整数乘ld temp1,T ;将变量temp1 装入T 寄存器mpy temp2,a ;完成temp2*temp1,结果放入A寄存器(32 位)5)实现16 位定点小数乘法我们使用下列ssbx FRCT ;FRCT=1,准备小数乘法ld temp1,16,a ;将变量temp1 装入寄存器A的高16位mpya temp2 ;完成temp2 乘寄存器A的高16 位,结果在B中,同时将temp2 装入T 寄存器sth b,mpy_f ;将乘积结果的高16 位存入变量mpy_f6)实现16 位定点整数除法代码如下:ld temp1,T ;将被除数装入T 寄存器mpy temp2,A ;除数与被除数相乘,结果放入A寄存器ld temp2,B ;将除数temp2 装入B 寄存器的低16位abs B ;求绝对值stl B,temp2 ;将B 寄存器的低16 位存回temp2ld temp1,B ;将被除数temp1 装入B寄存器的低16 位abs B ;求绝对值rpt #15 ;重复SUBC 指令16 次subc temp2,b ;使用SUBC 指令完成除法运算bcd div_end,agt ;延时跳转,先执行下面两条指令,然后判断A,若A>0,则跳转到标号div_end,结束除法运算stl B,quot_i ;将商(B寄存器的低16 位)存入变量quot_i sth B,remain_i ;将余数(B 寄存器的高16 位)存入变量remain_ixor B ;若两数相乘的结果为负,则商也应为负。
实验报告一、实騎名称运算器实騎一算术遐辑运算实騎二、实豔目的1、了解运算器的组成原理。
2、掌握运算器的工作原理。
3、掌握简单运算器的数据传送通路。
4、验证运算功能发生器(74LS181 )的组合助能。
三、实豔设备TDN-CM++it算机组成原理教学实验系统一套,导线若干。
实验中所用的运算器数据通路如图1"所示。
其中两片74LSI81以串行方式沟成8位字长的ALU, ALU的输出经il 一个三态门(74LS245)和数据总线相连。
三态门由ALU-R控制,控制运算器运算的绪果能否送往总线,低电平有效。
为实现双操作数的运算,ALU的两个数据输入端分别由二个锁存器DR1、DR2(由74LS273实现)锁存数据。
要稱数据总线上的数据锁存到DRk DR2中,锁存器的控制S LDDR1和DDR2必须为高电平,同时由T4脉冲到来。
数据开关(“INPUT DEVICE")用来给出参与运算的数摇,经过三态(74LS245 ) 后送人数据总线,三态门由SW-B控朝低电平有效。
数据显示灯(“BUS UNIT-) 已和数播总线相连,用来显示数据总线上的内容。
图中已将用户需要连接的腔制信号用冏IS标明(其他实騎相同,不再说明),其中除T4为脉冲信号外,其它均为电平信号。
由于实騎电路中的时序信号均已连至“W/RUNIT”的相应时序信号引岀端,因此,在进行实验时,只需将“W / R UNIT"的T4接至“STATEUNIT”的fit动开关KK2的输入竭,按动微动开关, 即可获得实酚所需的单脉冲。
ALU运算所需的电平控制信号S3、S2、S1、SO、Cn、M、LDDRk LDDR2、ALU-B、SW-B均由M SWITCH UNIT ”中的二进制数摇开关来模81,其中Cn、ALU—B s SW-B为低电平有效LDDRk LDDR2为高电平有效。
对单总线数据通路,需要分时共享总线,每一时刻只能由一组数弼送往总线。
实验名称:十六位超前进位加法器一、实验目的设计、验证并优化16位超前进位加法器的逻辑功能。
二、实验原理1、1位全加器原理全加器的求和输出信号和进位信号,定义为输入变量A、B、C的两种组合布尔函数:求和输出信号 = A ⊕ B ⊕ C进位信号 = AB + AC + BC实现这两个函数的门级电路如下图。
并不是单独实现这两个函数,而是用进位信号来产生求和输出信号。
这样可以减少电路的复杂度,因此节省了芯片面积。
上述全加器电路可以用作一般的n位二进制加法器的基本组合模块,它允许两个n 位的二进制数作为输入,在输出端产生二进制和。
最简单的n位加法器可由全加器串联构成,这里每级加法器实现两位加法运算,产生相应求和位,再将进位输出传到下一级。
这样串联的加法器结构称为并行加法器,但其整体速度明显受限于进位链中进位信号的延迟。
因此,为了能够减少从最低有效位到最高有效位的最坏情况进位传播延时,最终选择的电路是十六位超前加法器。
2、超前进位加法器原理超前进位加法器的结构如下图。
超前进位加法器的每一位由一个改进型全加器产生一个进位信号gi和一个进位传播信号pi,其中全加器的输入为Ai和Bi,产生的等式为:改进的全加器的进位输出可由一个进位信号和一个进位传输信号计算得出,因此进位信号可改写为:式中可以看出,当gi = 1(Ai = Bi = 1)时,产生进位;当pi = 1(Ai =1或Bi = 1)时,传输进位输入,这两种情况都使得进位输出是1。
近似可以得到i+2和i+3级的进位输出如下:下图为一个四位超前进位加法器的结构图。
信号经过pi和gi产生一级时延,经过计算C产生一级时延,则A,B输入一旦产生,首先经过两级时延算出第1轮进位值C’不过这个值是不正确的。
C’再次送入加法器,进行第2轮2级时延的计算,算出第2轮进位值C,这一次是正确的进位值。
这里的4个4位超前进位加法器仍是串行的,所以一次计算经过4级加法器,一级加法器有2级时延,因此1次计算一共经过8级时延,相比串行加法器里的16级时延,速度提高很多。
计算机组成原理实验报告实验(验证74LS181运算和逻辑功能)一、实验目的:(1)掌握算数逻辑单元的工作原理;(2)熟悉简单运算器的数据传送通路;(3)画出逻辑电路图及布出美观整齐的接线图;(4)验证4位运算功能发生器组合功能。
二、实验仪器:NI_Circuit_Design_Suite_14_0_1_Education软件。
三、简要原理:ALU能进行多种算术运算和逻辑运算。
4位ALU_74LS181能进行16种算术运算和逻辑运算。
功能表如下:方式M=1 逻辑运算 M=0 算术运算S3 S2 S1 S0 逻辑运算CN=1(无进位) CN=0(有进位)0 0 0 0 F=/A F=A F=A加10 0 0 1 F=/(A+B) F=A+B F=(A+B)加10 0 1 0 F=(/A)B F=A+/B F=(A+/B)加10 0 1 1 F=0 F=负1(补码形式)F=00 1 0 0 F=/(AB) F=A加A(/B) F=A加A/B加10 1 0 1 F=/B F=(A+B)加A/B F=(A+B)加A/B加10 1 1 0 F=A⊕B F=A减B减1 F=A减B0 1 1 1 F=A/B F=A(/B)减1 F=A(/B)1 0 0 0 F=/A+B F=A加AB F=A加AB加11 0 0 1 F=/(A⊕B)F=A加B F=A加A加11 0 1 0 F=B F=(A+/B)加AB F=(A+/B)加AB加11 0 1 1 F=AB F=AB减1 F=AB1 1 0 0 F=1 F=A加A F=A加A加11 1 0 1 F=A+/B F=(A+B)加A F=(A+B)加A加11 1 1 0 F=A+B F=(A+/B)加A F=(A+/B)加A加11 1 1 1 F=A F=A减1 F=A(上表中的“/”表示求反)ALU-74LS181引脚说明:M=1 逻辑运算,M=0 算术运算四、实验数据及计量结果综上验证74LS181型4位ALU 的逻辑算术功能,列出结果如下表: S3 S2 S1 S0 数据1 数据2 算术运算(M=0)逻辑运算(M=1) Cn=1(无进位) Cn=0(有进位) 0 0 0 0 AH 5H A B 5 0 0 0 1 AH 5H F 0 0 0 0 1 0 AH 5H A B 5 0 0 1 1 AH 5H F 0 0 0 1 0 0 FH 1H D E E 0 1 0 1 FH 1H D E E 0 1 1 0 FH 1H D E E 0 1 1 1 FH 1H D E E 1 0 0 0 FHFHEFFM 状态控制M=1 逻辑运算,M=0算术运算 S3 S2 S1 S0运算选择控制 S3 S2 S1 S0决定电路执行哪一运算 A3 A2 A1 A0 运算数1,引脚3为最高位 B3 B2 B1 B0 运算数2,引脚3为最高位 Cn 最低位进位输入 Cn=0有进位;Cn=1 无进位 Cn+4本片产生的进位信号 Cn+4=0有进位;Cn+4=1无进位 F3 F2 F1 F0F3 F2 F1 F0运算结果,F3为最高位。
湖北第二师范学院计算机学院09计应单片机课程设计实验报告课程设计名称:电子计算器课程设计单位:10计应(1)班课设小组成员:徐凡(1060310039)凡平(1060310058)彭浩(1060310045)桂银(1060310010)潘光卉(1060300033)完成时间:2012年04月02日至2012年04月 24 日单片机课程设计实验报告课程设计题目:简易计算器作品功能描述:当通过输入键盘数字时,能够在显示器上显示输出的数值,并且通过想实现的简单运算功能,实现计算器的加、减、乘、除和清零,并将结果显示出来。
小组成员工作分工:徐凡:程序主框架的构造和主要功能函数的设计。
凡平:原理图的设计和硬件的焊接。
彭浩:基本功能函数的设计(“+,-,*,/”)。
桂银:程序流程图的设计和键盘扫描程序的实现。
潘光卉:编写文档和功能测试。
硬件电路设计:本设计中我们用的是AT89C52芯片,LCD1602 (PROTEUS中为LM016L)就是那个液晶屏,因为可以显示2行16个字符,故叫做LCD1602.11.0592M或12M晶振(CRYSTAL),两者均可,但要涉及到串口需选用12MKEYPAD-SMALLCALC就是那个4X4键盘电容20~30PF(CAP),接最小电路电容10PF主要接复位电路RESPACK-8排阻,为20K的,一个引脚接正极,另8个引脚接I/O口接RES电阻10K,接复位电路实物照片:硬件原理图原理说明:1,上电后,屏幕初始化;2,计算。
按下数字键,屏幕显示要运行的第一个数字,再按下符号键,然后再按下数字键,屏幕显示要运算的第二个数字,最后按下“=”号键,屏幕上显示出计算结果。
3,如果要再次计算,可以按下“ON/C”键清零,或者继续按下数字键,即可重新计算。
键盘使用说明如下:按键功能说明:Array“+”实现两个数的相加“-”实现两个数的相减“×”实现两个数的乘积“÷”实现两个数商的运算“ON/C”计算器显示的清零和接通电源程序控制流程图:软件设计:在程序设计方法上,模块化程序设计是单片机应用中最常用的程序设计方法。
⼗六位运算器ALU实验报告学⽣实验报告实验名称⽤Verilog HDL语句实现16位运算器的功能实验⽇期2013年10⽉19学号2012551212姓名李超班级12计算机科学与技术⼀班⼀、实验⽬的与要求1、了解运算器的组成结构;2、掌握算术逻辑运算器的⼯作原理;3、掌握简单运算器的数据传送通道4、掌握⽤Verilog HDL实现16位简单运算器的设计⼆、实验原理74LS181的逻辑功能表图中,S0到S3是四个控制端,⽤于选择进⾏何种运算。
M ⽤于控制ALU进⾏算术运算还是逻辑运算。
当M=0时,M对进位信号没有任何影响,Fi值与操作数Ai,Bi以及地位向本位进位Cn+1有关,所以M=0时进⾏算术运算。
操作数⽤补码表⽰,“加”只算术加,运算时考虑进位;“+”指逻辑加,不考虑进位;减法运算时,减法取反码运算后⽤加法器实现,结果输出为A减B减1在最末位产⽣⼀个强迫进位(加1),以得到A减B的结果。
当M=1时,封锁了各位的进位输出Cn+i=0,因此各位的运算结果Fi仅与操作数Ai,Bi有关,此时进⾏逻辑运算。
三、实验内容与步骤1.根据书85⾯的逻辑功能表编写Verilog HDL语句,编译,仿真等步骤。
实验代码SN74181:module sn74181(A,B,S,Cn,M,F,C);parameter bit_width=4;output [bit_width-1:0]F;output C;input [bit_width-1:0]A,B,S;input Cn,M;reg C;reg Y=0;reg [bit_width-1:0]F;reg t;initial C=0;always@(S)begincase(S)4'b0000:beginif(M) {t,F}=~{1'b0,A};elsebeginif(Cn) {t,F}={1'b0,A};else {t,F}={1'b0,A}|1;endend4'b0001:beginif(M) {t,F}=~({1'b0,A}|{1'b0,B});endend4'b0010:beginif(M) {t,F}=~{1'b0,A}&{1'b0,B};elsebeginif(Cn) {t,F}={1'b0,A}|({1'b0,~B});else {t,F}=({1'b0,A}|({1'b0,~B}))+1;endend4'b0011:beginif(M) {t,F}=0;elsebeginif(Cn) {t,F}={t,F}-1;else {t,F}=0;endend4'b0100 :beginif(M) {t,F}=~({1'b0,A}&{1'b0,B});elsebeginif(Cn) {t,F}={1'b0,A}+({1'b0,A}&({1'b0,~B}));else {t,F}={1'b0,A}+({1'b0,A}&({1'b0,~B}))+1;endend4'b0101 :beginif(M) {t,F}={1'b0,~B};elsebeginif (Cn) {t,F}=({1'b0,A}&({1'b0,~B}))+({1'b0,A}|{1'b0,B}); else{t,F}=({1'b0,A}&({1'b0,~B}))+({1'b0,A}|{1'b0,B})+1; endend4'b0110 :beginif(M) {t,F}={1'b0,A}^{1'b0,B};elsebeginif(Cn) {t,F}={1'b0,A}-{1'b0,B}-1;else {t,F}={1'b0,A}-{1'b0,B};endend4'b0111 :beginelse {t,F}={1'b0,A}&({1'b0,~B});endend4'b1000 :beginif(M) {t,F}={1'b0,~A}|{1'b0,B};elsebeginif(Cn) {t,F}={1'b0,A}+({1'b0,A}&{1'b0,B});else {t,F}={1'b0,A}+({1'b0,A}&{1'b0,B})+1;end4'b1001 :beginif(M) {t,F}={1'b0,~(A^B)};elsebeginif(Cn) {t,F}={1'b0,A}+{1'b0,B}+1;else {t,F}={1'b0,A}+{1'b0,B};endend4'b1010 :beginif(M) {t,F}={1'b0,B};elsebeginif(Cn){t,F}=({1'b0,A}&{1'b0,B})+({1'b0,A}|({1'b0,~B})); else{t,F}=({1'b0,A}&{1'b0,B})+({1'b0,A}|({1'b0,~B}))+1; end4'b1011 :beginif(M) {t,F}={1'b0,A}&{1'b0,B};elsebeginif(Cn) {t,F}={1'b0,A}&{1'b0,B}-1;else {t,F}={1'b0,A}&{1'b0,B};endend4'b1100 :beginif(M) {t,F}=1;elsebeginif(Cn) {t,F}={1'b0,A}+{1'b0,A};else {t,F}={1'b0,A}+{1'b0,A}+1;endend4'b1101:beginelse {t,F}={1'b0,A}+({1'b0,A}|{1'b0,B})+1; endend4'b1110 :beginif(M) {t,F}={1'b0,A}|{1'b0,B};elsebeginif(Cn) {t,F}={1'b0,A}+({1'b0,A}|({1'b0,~B})); else {t,F}={1'b0,A}+({1'b0,A}|({1'b0,~B}))+1; endend4'b1111 :beginif(M) {t,F}={1'b0,A};elsebeginif(Cn) {t,F}={1'b0,A}-1;else {t,F}={1'b0,A};endendendcaseC=t;endEndmoduleSHIFT:module shift(A,choose,result); parameter bit_width=16;input [bit_width-1:0]A;input[1:0] choose;output [bit_width-1:0] result;reg [bit_width-1:0]result;always@(A or choose)begincase(choose)2'b01:beginresult=A<<1;end2'b10:beginresult={A[0],A[15:1]};end2'b11:beginresult=$signed(A)>>>1;endendcaseendEndmoduleinput [width-1:0] r;input [1:0]x;output [width-1:0] result; output overflow,z,c,p,n;reg [width-1:0] a,b;reg [3:0]s;reg [1:0]sh;reg cn,m,ov;wire co1,co2,co3;wire [width-1:0]co,re1,re2; always@ (x or r)begincase(x)2'b11: begina=r;end2'b10: beginb=r;end2'b00: begins=r[3:0];sh=r[5:4];m=r[8];cn=r[12]; endendcaseendsn74181 u_sn74181_1(.A(a[3:0]),.B(b[3:0]),.S(s),.M(m),.Cn(cn),.C(co1),.F(re1[3:0]));sn74181 u_sn74181_2 (.A(a[7:4]),.B(b[7:4]),.S(s),.M(m),.Cn(co1),.C(co2),.F(re1[7:4]));sn74181 u_sn74181_3 (.A(a[11:8]),.B(b[11:8]),.S(s),.M(m),.Cn(co2),.C(co3),.F(re1[11:8]).B(b[15:12]),.S(s),.M(m),.Cn(co3),.C(overflow),.F(re1[15:12]));shift u_shift(.A(a),.choose(sh),.result(re2[15:0]));assign result=(sh?re2:re1);assign z=~|result;assign n=result[15];Endmodule仿真波形图按照模式⼀电路图结构图设置对应的引脚参数。
实验报告一、实验名称运算器实验—算术逻辑运算实验二、实验目得1、了解运算器得组成原理。
2、掌握运算器得工作原理.3、掌握简单运算器得数据传送通路。
4、验证运算功能发生器(74LS181)得组合功能.三、实验设备TDN-CM++计算机组成原理教学实验系统一套,导线若干。
四、实验原理实验中所用得运算器数据通路如图1-1所示。
其中两片74LSl81以串行方式构成8位字长得ALU,ALU得输出经过一个三态门(74LS245)与数据总线相连.三态门由ALU—R控制,控制运算器运算得结果能否送往总线,低电平有效。
为实现双操作数得运算,ALU得两个数据输入端分别由二个锁存器DR1、DR2(由74LS273实现)锁存数据。
要将数据总线上得数据锁存到DRl、DR2中,锁存器得控制端LDDR1与DDR2必须为高电平,同时由T4脉冲到来。
数据开关(“INPUTDEVICE”)用来给出参与运算得数据,经过三态(74LS245)后送入数据总线,三态门由SW—B控制,低电平有效。
数据显示灯(“B USUNIT")已与数据总线相连,用来显示数据总线上得内容.图中已将用户需要连接得控制信号用圆圈标明(其她实验相同,不再说明),其中除T4为脉冲信号外,其它均为电平信号。
由于实验电路中得时序信号均已连至“W/RUNIT”得相应时序信号引出端,因此,在进行实验时,只需将“W/R UNIT"得T4接至“STATE UNIT"得微动开关KK2得输入端,按动微动开关,即可获得实验所需得单脉冲.ALU运算所需得电平控制信号S3、S2、S1、S0、Cn、M、LDDRl、LDDR2、ALU-B、SW-B均由“SWITCH UNIT ”中得二进制数据开关来模拟,其中Cn、ALU—B、SW一B为低电平有效LDDR1、LDDR2为高电平有效。
对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。
五、实验内容1.输入数据通过三态门74LS245后送往数据总线,在数据显示灯与数码显示管LED上显示。
16 位算术逻辑运算实验一、实验内容1、实验原理实验中所用16位运算器数据通路如图3-3所示。
其中运算器由四片74LS181以并/串形成16位字长的ALU构成。
低8位运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,低8位数据总线通过LZD0~LZD7显示灯显示;高8位运算器的输出经过一个三态门74LS245(U33`)到ALUO1`插座,实验时用8芯排线和高8位数据总线BUSD8~D15插座KBUS1或KBUS2相连,高8位数据总线通过LZD8~LZD15显示灯显示;参与运算的四个数据输入端分别由四个锁存器74LS273(U29、U30、U29`、U30、)锁存,实验时四个锁存器的输入并联后用8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据源来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,输入的数据通过LD0~LD7显示。
2、实验接线本实验用到6个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块),⑸高8位运算器模块,⑹高8位(扩展)数据总线显示模块。
根据实验原理详细接线如下(接线⑴~⑸同实验一):⑴ALUBUS连EXJ3;⑵ALUO1连BUS1;⑶SJ2连UJ2;⑷跳线器J23上T4连SD;⑸LDDR1、LDDR2、ALUB、SWB四个跳线器拨在左边(手动方式);⑹AR跳线器拨在左边,同时开关AR拨在"1"电平;⑺ALUBUS`连EXJ2;⑻ALUO1`连KBUS1;⑼跳线器J19、J25拨左边(16位ALU状态);⑽高8位运算器区跳线器ZI2、CN0、CN4连上短路套;二、实验目的1、掌握16位算术逻辑运算数据传送通路组成原理2、进一步验证算术逻辑运算能力发生器74LS181的组合功能三、实验步骤⑴连接线路,仔细查线无误后,接通电源。
16位算术逻辑运算实验
、实验内容
1、实验原理
实验中所用16位运算器数据通路如图3-3所示。
其中运算器由四片74LS181以并/串形成16位字长的ALU构成。
低8位运算器的输出经过一个三态门74LS245( U33)到ALUO1插座,实验时用8芯
排线和内部数据总线BUSDO〜D7插座BUS1〜6中的任一个相连,低
8位数据总线通过LZD0〜LZD7显示灯显示;高8位运算器的输出经
过一个三态门74LS245 ( U33')到ALUO1'插座,实验时用8芯排线
和高8位数据总线BUSD8〜D15插座KBUS1或KBUS2相连,高8
位数据总线通过LZD8〜LZD15显示灯显示;参与运算的四个数据输入端分别由四个锁存器74LS273( U29、U30、U29'、U30、)锁存,实
验时四个锁存器的输入并联后用8芯排线连至外部数据总线EXDO
D7插座EXJ1〜EXJ3中的任一个;参与运算的数据源来自于8位数
据开并KD0〜KD7,并经过一三态门74LS245 (U51)直接连至外部
数据总线EXD0〜EXD7,输入的数据通过LD0〜LD7显示。
输入模块),⑸高8位运算器模块,⑹高8位(扩展)数据总线显示 模块。
根据实验原理详细接线如下(接线⑴〜⑸同实验一)
ALUBUS 连 EXJ3; ALUO1 连 BUS1; SJ2连 UJ2;
跳线器J23上T4连SD ;
LDDR1、LDDR2、ALUB 、SWB 四个跳线器拨在左边
(手动方式);
⑹ AR 跳线器拨在左边,同时开关 AR 拨在"1"电平;
2、实验接线
I- UUCF rN7L-H-3 一
i
w
讥弟-丄=
……
Bpkb
w-1
Sr.
iL 軋.
吧
n
“H ■■
: U X
““期扣甫
LU
^ — —^1
■ B ■
H- I ■
J I
■E;
K Kppn
L Kr
本实验用到6个主要模块: ⑴低8位运算器模块,⑵数据输
入并显示模块,⑶数据总线显示模块, ⑷功能开关模块(借用微地址
竺誥壬
巨
⑺ ALUBUS'连EXJ2;
ALU01' 连KBUS1;
跳线器J19 J25拨左边(16位ALU状态);
高8位运算器区跳线器ZI2、CNO、CN4连上短路套;
、实验目的
1、掌握16位算术逻辑运算数据传送通路组成原理
2、进一步验证算术逻辑运算能力发生器74LS181的组合功能
三、实验步骤
⑴ 连接线路,仔细查线无误后,接通电源。
⑵用二进制数码开关KD0〜KD7向DR1、DR2、DR3、DR4寄
存器置数。
方法:关闭ALU输出三态门应使ALUB'=1 (即开关ALUB=1 ),开启输入三态门应使SWB'=0 (即开关SWB=0),选通哪
LDDR3、LDDR4开关在高8位运算器上部,输入脉冲T4按手动脉
冲发生按钮。
设置数据开关具体操作步骤图示如下:
开输入三态门
一个寄存器用对应开关LDDR1〜LDDR4 (高电平有效),其中
ALUB=1
开输入三态门
LDDR1=O
LDDR2=O
LDDR3=0
LDDR4]
J数抿存入富岸器DR4
LDDR1=1
ALUB=1
SWB=O
LDDRJ=O
LDDR2=ft
LDDR3-1
LDDR4=0 __________________
'件TL J数据存人劈存器DR3
说明:LDDR1、LDDR2、ALUB'、SWB'、LDDR3、LDDR4 六个信号电平由对应的开关LDDR1、LDDR2、ALUB、SWB LDDR3、
LDDR4给出,拨在上面为"1",拨在下面为"0",电平值由对应显示灯
显示;T4由手动脉冲开关给出。
⑶ 进一步验证74LS181的算术运算和逻辑运算功能(采用正逻辑)。
-开关ALUB=0 ,关闭输入三态门;
-开关SWB=1,打开输出三态门;
-LDDR1〜LDDR4四个开关全拨在"0"电平。
•根据下表3-2,置功能开关S3 S2 S1、SO M、CN,以
验证74LS181的算术运算和逻辑运算功能。
说明:如果要实现16位带进位控制算术逻辑运算,只需在实验三
的基础上将开关AR=1变成AR=0即可。
注意:本实验做完后,拔掉连线ALUBUS'和ALUO1' ,去掉短路套
ZI2、CN0、CN4。
四、实验过程
1.实验过程中遇到的问题及解决办法(200字以上)
2•实验过程收获(需结合理论学习与实验操作学习进行说明,
200
字以上)
五、实验结果
验证成功。