一位全加器程序
module A201(a,b,c,sum,out);
input a,b,c;
output sum,out;
assign sum=a^b^c;
assign out=a&&b||a&&c||b&&c;
endmodule 一位全加器符号
一位全加器波形
四位全加器图
四位全加器波形
第二篇:计算机组成原理实验一报告
实 验 报 告 一
实验一 运算器实验(算术运算)
一、实验目的
1.掌握算术逻辑运算单元(ALU)的工作原理
2.熟悉运算器的数据传送通路和数据传输方式
3.验证运算功能发生器(74LS181)的算术运算功能
4.按给定数据,完成指定的算术运算
二、实验原理
实验中所用的运算器数据通路如图1-1所示。
图1-1 运算器电原理图
三、实验设备
1.Dais-CMH计算机组成原理实验系统一套
2.若干导线和排线
四、实验内容
1. 写操作(置数操作)
拨动二进制数据开关向DR1和DR2寄存器置数,具体操作步骤如下:
注:【单步】键的功能是启动时序电路产生T1~T4四拍单周期脉冲
2. 读操作(运算寄存器内容送总线)
首先关闭二进制数据开关(数据输入)三态控制端(SW-B=0),存储器控制端CE保持为0,令LDDR1=0、LDDR2=0,然后打开ALU输出三态门(CBA=010),置M、S0、S1、S2、S3为11111,再按【单步】键,数据总线单元显示DR1的内容为___65__H,若把M、S0、S1、S2、S3置为10101,再按【单步】键,数据总线单元显示DR2的内容为__A7___H。
3. 算术运算(验证74LS181的算术运算功能)
在给定DR1、DR2的情况下,改变运算器的功能设置即CN、M、S0、S1、S2、S3状态,置CBA=010,按【单步】键,观察运算器的输出,填入下页表格中,并和理论分析进行比较、验证。
表1-1
4. 完成指定算术运算表达式
为完成下面指定运算关系(算术运算表达式),请选择所需操作步骤,并正确控制参数S3S2S1S0M、选择运算器数据通路,将每次操作的结果值填入DR1和DR2。(假定给定原始的数据DR1和DR2分别为66H和FFH,以后的数据取自前面运算的结果。)
(DR1-DR2)×2+1 →DR2
表1-2
五、实验结果分析与体会
1.理论值与实测值基本上是一致的。实验的逻辑电路图本来就是逻辑设计方法(真值表,卡诺图,表达式,电路图)设计而来的,所以理论值与实测值是一致的。
2.思考题:
(1)控制信号LDDR1是控制LDDR1中的数据,控制信号SW-B是控制能否将数据打入存储器中。
(2)不能同时将数据送如运算单元DR1和DR2两个寄存器中,只能先送一个,再送另一个。
(3)不是溢出。
3.由于初次接触这门课的实验,对实验装置不熟悉,开始不知道怎么调节手动设置,只能按照实验指导书上连接电路,但还是有些不了解。不知道是否将数据打入存储器中,只能一步一步的测试。在74LS181功能表中误将“+”看成“加”,本是“或”计算成“加法”。对实验不熟悉只能向老师和同学寻求帮助。
4.在本次试验中,我们了解了算术逻辑运算单元的工作原理,应该注意M=0(算术运算),CN=0(无进位)与CN=1(有进位)的不一样。对数据是怎么传输的也有了一些了解。