四位二进制加法器实验
一、实验目的
1.学习FPGA的设计方法;
2.掌握利用Verilog HDL设计逻辑电路的能力。
二、实验所用组件
Basys2开发板(芯片为XC3S100E,封装为CP132)1套。
三、实验内容
下面是4位二进制数加法器的数据流描述,由于被加数A和加数B 都是4位的,而低位来的进位Cin为1位,所以运算的结果可能为5位,用{Cout,Sum}拼接起来表示。
module adder(
input [3:0] A,
input [3:0] B,
input Cin,
output [3:0] SUM,
output Cout
);
assign {Cout,SUM}=A+B+Cin;
Endmodule
四、实验步骤与要求
1.创建一个子目录Lab2,并新建一个工程项目
2.建立一个Verilog HDL文件,将该文件添加到工程项目中并编译整个项目,查看该电路所占用的逻辑单元(Logic Elements,LE)的数量
3.对设计项目进行时序仿真,记录仿真波形图
测试代码如下:
module add4_tb;
// Inputs
reg [3:0] A;
reg [3:0] B;
reg Cin;
// Outputs
wire [3:0] Sum;
wire Cout;
// Instantiate the Unit Under Test (UUT)
add4 uut (
.A(A),
.B(B),
.Cin(Cin),
.Sum(Sum),
.Cout(Cout)
);
initial begin
// Initialize Inputs
A<=4'd0;B<=4'd0;Cin=1'b0;
#1 $display("A B Cin Sum Cout=%b %b %b %b %b",A,B,Cin,Sum,Cout);
A<=4'd0;B<=4'd1;Cin=1'b0;
#1 $display("A B Cin Sum Cout=%b %b %b %b %b",A,B,Cin,Sum,Cout);
A<=4'd0;B<=4'd2;Cin=1'b0;
#1 $display("A B Cin Sum Cout=%b %b %b %b %b",A,B,Cin,Sum,Cout);
A<=4'd0;B<=4'd3;Cin=1'b0;
#1 $display("A B Cin Sum Cout=%b %b %b %b %b",A,B,Cin,Sum,Cout);
A<=4'd0;B<=4'd4;Cin=1'b0;
#1 $display("A B Cin Sum Cout=%b %b %b %b %b",A,B,Cin,Sum,Cout);
A<=4'd1;B<=4'd0;Cin=1'b1;
#1 $display("A B Cin Sum Cout=%b %b %b %b %b",A,B,Cin,Sum,Cout);
A<=4'd2;B<=4'd0;Cin=1'b0;
#1 $display("A B Cin Sum Cout=%b %b %b %b %b",A,B,Cin,Sum,Cout);
A<=4'd4;B<=4'd0;Cin=1'b1;
#1 $display("A B Cin Sum Cout=%b %b %b %b %b",A,B,Cin,Sum,Cout);
end
endmodule
4.根据FPGA开发板使用说明书,对设计文件中的输入、输出信号分配引脚。
即使用开发板上的波动开关代表电路的输入,用发光二极管(LED)代表电路的输出。
引脚分布代码:
NET"A[0]" LOC="G3";
NET"A[1]" LOC="F3";
NET"A[2]" LOC="E2";
NET"A[3]" LOC="N3";
NET"B[0]" LOC="P11";
NET"B[1]" LOC="L3";
NET"B[2]" LOC="K3";
NET"B[3]" LOC="B4";
NET"Sum[0]" LOC="N5";
NET"Sum[1]" LOC="N4";
NET"Sum[2]" LOC="P4";
NET"Sum[3]" LOC="G1";
NET"Cin" LOC="A7";
NET"Cout" LOC="P6";
5.重新编译电路,并下载到FPGA器件中。
改变拨动开关的位置,并观察LED的亮、灭状态,测试电路功能
6.根据实验流程和实验结果,写出实验总结报告,并对波形图和实验现象进行说明。
7.完成实验后,关闭所有程序,并关闭计算机。
实验现象:
由波形图可见,输出由Cout,Sum组成,是A、B、低位进位Cin 的和,Cout是为和的进位。
用数据流模式描述,实现了二进制数四位加法器。
分析和心得:
通过这次实验我熟悉了Verilog HDL 元件例化语句的作用,并且熟悉全加器的工作原理。
在四位全加器的过程中,我也了解了如何调用模块,分配引脚。
了解了用代码设计电路的流程。
vhdl BCD码加法器
实验一BCD码加法器一、实验目的了解BCD 码的构成。
了解BCD 码加法器的原理和设计实现方法。
巩固Quartus II 的使用。
二、实验内容与要求通过键盘输入两组4BIT的二进制数据,按照二进制加法器原理进行加和,求出和合进位,并通过电路静态数码LED显示灯输出显示,完成编译、综合、适配、仿真、实验箱上的硬件测试。
三、实验平台(1)硬件:计算机、GX-SOC/SOPC-DEV-LABCycloneII EP2C35F672C8核心板(2)软件:Quartus II四、实验原理BCD码是二进制编码的十进制码,也就是用4位二进制数来表示十进制中的0~9这十个数。
由于4位二进制数有0000~1111共16种组合,而十进制数只需对应4位二进制数的10种组合,故从4位二进制数的16种组合中取出10种组合来分别表示十进制中的0~9,则有许多不同的取舍方式,于是变形成了不同类型的BCD码。
当BCD码相加的值小于等于9时,结果仍旧是正确的BCD码;当两个码相加的结果大于9时,必须作加6的修正处理,对于大于19的值作加12的修正处理,对于大于29的值作加18的修正处理。
然后根据仿真进行实验及验证。
六、仿真截图七、硬件实现八、程序代码1LIBRARY Ieee;USE Ieee.Std_Logic_1164.all;ENTITY f_ADDER IsPort (x: In Std_Logic;y: In Std_Logic;cin: In Std_Logic;cout: Out Std_Logic;sum: Out Std_Logic);END f_ADDER;ARCHITECTURE fd1 Of f_ADDER Is Component HADDERPort( a,b: In Std_Logic;co,so: Out Std_Logic);END Component;Component oraPort(a,b: In Std_Logic;c: Out Std_Logic);END Component;Signal d,e,f: Std_Logic;BeginU1: HADDERPort Map(a=>X,b=>Y,Co=>d,so=>e);U2:HADDERPort Map(a=>e,b=>cin,Co=>f,so=>sum);U3:ora Port Map(a=>d,b=>f,c=>cout);END ARCHITECTURE fd1;2LIBRARY Ieee;USE Ieee.Std_Logic_1164.all;ENTITY HADDER IsPort (a,b: In Bit;Co, So: Out Bit);END HADDER;ARCHITECTURE fh1 Of HADDER Is BEGINSo <= (a Xor b);Co <= (a And b);END fh1;3LIBRARY Ieee;USE Ieee.Std_Logic_1164.all;ENTITY ora IsPort ( a: in Std_Logic;b: in Std_Logic;c: out Std_Logic);END ora;ARCHITECTURE org OF ora ISBEGINc <= a Or b;END org;4Library ieee;Use ieee.std_logic_1164.all;Entity Qadd isPort (a:in std_logic_VECTOR(7 DOWNTO 0);b:in std_logic_VECTOR(7 DOWNTO 0);--cin:in std_logic;s:out std_logic_VECTOR(7 DOWNTO 0));End Qadd;Architecture one of Qadd isSignal c0,c1,c2,c3,c4,c5,c6,c7 : std_logic;Component f_ADDERPort (x: In Std_Logic;y: In Std_Logic;cin: In Std_Logic;cout: Out Std_Logic;sum: Out Std_Logic);END Component;Beginu1 :F_ADDERPort map(sum=>s(0),cout=>c0,X=>a(0),Y=>b(0),cin=>'0'); u2 :F_ADDERPort map(sum=>s(1),cout=>c1,X=>a(1),Y=>b(1),cin=>c0 ); u3 : F_ADDERPort map(sum=>s(2),cout=>c2,X=>a(2),Y=>b(2),cin=>c1 ); u4 : F_ADDERPort map(sum=>s(3),cout=>c3,X=>a(3),Y=>b(3),cin=>c2 ); u5 : F_ADDERPort map(sum=>s(4),cout=>c4,X=>a(4),Y=>b(4),cin=>c3 ); u6 : F_ADDERPort map(sum=>s(5),cout=>c5,X=>a(5),Y=>b(5),cin=>c4 ); u7 :F_ADDERPort map(sum=>s(6),cout=>c6,X=>a(6),Y=>b(6),cin=>c5 ); u8 : F_ADDERPort map(sum=>s(7),cout=>c7,X=>a(7),Y=>b(7),cin=>c6 ); END;九、实验总结。
组合逻辑电路实验报告
组合逻辑电路实验报告引言:组合逻辑电路是数字电路的重要组成部分,广泛应用于计算机、通信等领域。
本实验旨在通过设计和实现一个基本的组合逻辑电路,加深对数字电路的理解,同时掌握实验的步骤和方法。
一、实验目的本次实验的主要目的是设计并实现一个4位二进制加法器,通过对二进制数进行加法运算,验证组合逻辑电路的正确性。
二、实验原理1. 二进制加法二进制加法是指对两个二进制数进行相加的运算。
在这个过程中,我们需要考虑进位问题。
例如,对于两个4位二进制数A和B,加法的规则如下:- 当A和B的对应位都是0时,结果位为0;- 当A和B的对应位有一个位是1时,结果位为1;- 当A和B的对应位都是1时,结果位为0,并需要将进位加到它们的下一位。
2. 组合逻辑电路组合逻辑电路是由多个逻辑门组成的电路,根据输入信号的组合条件决定输出信号的状态。
在本实验中,我们将使用与门、或门、非门等基本逻辑门设计加法器电路。
三、实验步骤1. 设计电路根据二进制加法的原理,我们可以通过组合逻辑电路来实现一个4位二进制加法器。
设计原理如下:- 使用四个与门分别对应四个位的相加;- 使用四个异或门进行无进位相加;- 使用一个或门将各位相加后的进位输出;- 最后将四个位的和和进位进行合并得到最终结果。
2. 搭建电路实验装置根据设计步骤,将与门、异或门、或门等集成电路以及电阻、导线等连接在面包板上,搭建出电路实验装置。
3. 验证电路正确性输入两个4位的二进制数A和B,并将结果与预期结果进行对比,验证电路的正确性。
重复进行多组实验,确保电路的可靠性和稳定性。
四、实验结果与分析通过多次实验,我们得到了实验结果。
将结果与预期结果进行对比,并计算误差,可以得出结论。
在实验中,我们还观察到了实验结果的稳定性和可靠性,并对实验结果的波形进行了分析。
五、实验总结通过本次实验,我们了解了组合逻辑电路的基本原理和设计方法,并通过设计和搭建4位二进制加法器电路,实践了电路设计的过程。
4位二进制并行加法器的设计
实验一4位二进制并行加法器的设计1.实验目的:(1)学习使用Quartus II软件的基本用法(2)了解和掌握VHDL语言的语法规则和编程方法及基本流程(3)了解VHDL语言的基本结构2.实验内容用VHDL语言设计一4位二进制并行加法器。
参考设计思路:加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。
多位加法器的构成有两种方式:并行进位和串行进位方式。
并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。
并行进位加法器通常比串行级联加法器占用更多的资源。
随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。
因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。
实践证明,4位二进制并行加法器和串行级联加法器占用几乎相同的资源。
这样,多位加法器由4位二进制并行加法器级联构成是较好的折中选择。
3.实验要求(1)编写VHDL程序(2)记录系统仿真,画出时序图(3)记录实验过程中遇到的问题及解决办法4.程序设计5.生成RTL电路图6.仿真波形7.实验心得本周的实验是我学习该门课程进行的第一次实验,在实验过程中遇到了很多问题,比如:对Quartus II软件不熟悉,而且全是英文状态,不会使用软件的功能;编写程序时,多次报错,各种各样报错;编写程序完成后,成功编译了,但不会对仿真赋值等。
最后,我通过反复观看老师发的实验操作案例,并通过百度搜索相关的操作流程,翻阅教科书查找相关的解决方案。
第一次实验难免会遇到困难,最后经过我的不懈努力,终于把问题解决了,实验也很成功。
四位加法器实验报告
四位加法器实验报告四位加法器实验报告一、引言在数字电路的学习中,加法器是一个非常重要的基础电路。
本次实验旨在通过设计和实现四位加法器,加深对数字电路原理的理解,并掌握加法器的设计方法和实现过程。
二、实验目的1. 理解加法器的原理和工作方式;2. 掌握加法器的设计方法和实现过程;3. 学会使用逻辑门电路和触发器构建加法器;4. 验证加法器的正确性和稳定性。
三、实验原理1. 半加器半加器是最基本的加法器,用于实现两个一位二进制数的相加。
其逻辑电路如下:(插入半加器电路图)2. 全加器全加器是由两个半加器和一个或门构成,用于实现三个一位二进制数的相加。
其逻辑电路如下:(插入全加器电路图)3. 四位加法器四位加法器是由四个全加器和一些其他逻辑门组成,用于实现四个四位二进制数的相加。
其逻辑电路如下:(插入四位加法器电路图)四、实验步骤1. 按照电路图连接逻辑门和触发器,搭建四位加法器电路;2. 使用开关设置输入数据,观察输出结果;3. 验证加法器的正确性,将不同的输入数据相加,并手动计算结果进行对比;4. 测试加法器的稳定性,观察输出结果是否随着时间稳定。
五、实验结果与分析通过实验,我们成功搭建了四位加法器电路,并进行了多组数据的测试。
实验结果表明,加法器能够正确地进行四个四位二进制数的相加,并输出正确的结果。
同时,实验中观察到输出结果在一段时间后稳定下来,验证了加法器的稳定性。
六、实验总结本次实验通过设计和实现四位加法器,加深了对数字电路原理的理解,并掌握了加法器的设计方法和实现过程。
通过实验验证了加法器的正确性和稳定性,提高了实际操作能力和解决问题的能力。
同时,实验中还发现了一些问题,比如电路连接错误、输入数据设置错误等,这些问题在实验中及时发现和解决,也对实验结果的准确性起到了保障作用。
在今后的学习中,我们将进一步深入研究数字电路的原理和应用,不断提高自己的实验技能和创新能力。
希望通过这次实验,能够为我们的学习和未来的工作打下坚实的基础。
北邮数电实验报告
北邮数电实验报告北邮数电实验报告一、引言数电实验是电子信息类专业学生必修的一门实验课程,通过实践操作,帮助学生巩固理论知识,培养实际动手能力。
本次实验旨在通过设计和搭建一个简单的数字电路,来理解数字电路的基本原理和工作方式。
二、实验目的本次实验的目的是设计一个4位二进制加法器,实现两个4位二进制数的相加运算。
通过实验,我们可以加深对于数字电路的理解,掌握数字电路的设计和搭建方法。
三、实验原理1. 二进制加法器二进制加法器是一种用于计算二进制数相加的数字电路。
它由若干个逻辑门和触发器组成,可以实现二进制数的加法运算。
在本次实验中,我们将设计一个4位二进制加法器,即可以计算两个4位二进制数的相加结果。
2. 逻辑门逻辑门是数字电路中常用的基本元件,用于实现逻辑运算。
常见的逻辑门有与门、或门、非门、异或门等。
在本次实验中,我们将使用与门和异或门来构建4位二进制加法器。
四、实验步骤1. 设计4位二进制加法器的电路图根据实验要求,我们需要设计一个能够计算两个4位二进制数相加的电路。
首先,我们可以将两个4位二进制数分别用D0~D3和E0~E3表示,其中D0和E0分别为最低位。
然后,我们需要使用与门和异或门来实现加法器的功能。
通过逻辑运算,我们可以得到每一位的和以及进位。
最后,将每一位的和连接起来,即可得到最终的结果。
2. 搭建电路根据电路图,我们可以开始搭建实验电路。
首先,将所需的逻辑门和触发器连接起来,形成一个完整的电路。
然后,将所需的输入信号和电源连接到电路上。
最后,使用示波器等工具检查电路的工作状态,确保电路正常运行。
3. 进行实验测试在搭建好电路后,我们可以进行实验测试。
首先,将两个4位二进制数的输入信号连接到电路上。
然后,通过观察输出信号,判断电路是否正确计算了两个二进制数的相加结果。
如果输出信号与预期结果一致,说明电路设计和搭建成功。
五、实验结果与分析在进行实验测试后,我们可以得到实验结果。
通过观察输出信号,我们可以判断电路是否正确计算了两个二进制数的相加结果。
四位二进制加法器课程分析研究报告[1]
四位二进制加法器课程分析研究报告[1]————————————————————————————————作者:————————————————————————————————日期:课题名称与技术要求课题名称:四位二进制加法器设计技术要求:1)四位二进制加数与被加数输入2)二位数码管显示摘要本设计通过八个开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入四位串行进位加法器相加,将输出信号S3,S2,S1,S0和向高位的进位C3通过译码器Ⅰ译码,再将输出的Y3,Y2,Y1,Y0和X3,X2,X1,X0各自分别通过一个74LS247译码器,最后分别通过数码管BS204实现二位显示。
本设计中译码器Ⅰ由两部分组成,包括五位二进制译码器和八位二进制输出器。
信号S3,S2,S1,S0和向高位的进位C3输入五位二进制-脉冲产生器,将得到的n(五位二进制数码对应的十进制数)个脉冲信号输入八位二进制输出器,使电路的后续部分得以执行。
总体论证方案与选择设计思路:两个四位二进制数的输入可用八个开关实现,这两个二进制数经全加器求和后最多可以是五位二进制数。
本题又要求用两个数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和个位。
综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成八位,其中四位表示这个五位二进制数对应十进制数的十位,另四位表示个位。
而译码器Ⅱ有现成的芯片可选用,此处可选74LS247,故设计重点就在译码器Ⅰ。
加法器选择全加器:能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。
或:不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。
1)串行进位加法器构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。
优点:电路比较简单。
最大缺点:进位信号是由低位向高位逐级传递的,运算速度慢。
加法器实验总结
加法器实验总结1. 引言加法器是计算机中一种关键的数字逻辑电路,用于实现数字数据的加法运算。
本文将对我们进行的加法器实验进行总结和分析,包括实验的目的、设计原理、具体实验步骤、实验结果以及实验总结和改进方向。
2. 实验目的本次实验的主要目的是通过设计和实现一个4位二进制加法器,加深理解数字逻辑电路的工作原理和设计方法,并通过实际操纵和观察实验现象来验证所学到的知识。
3. 设计原理一个基本的4位二进制加法器包含4个输入端口(两个4位的二进制数A和B)、一个输出端口(4位二进制数S)和一个进位输出端口(C)。
设计原理可以简述如下: - 每一位的加法运算由一个半加器(half adder)实现,用于计算每一位的和(S)和进位(C)。
- 第一位的和(S[0])和进位(C[0])直接由对应的输入端口A[0]和B[0]进行异或和与运算,得到结果。
- 对于其它位(i>=1),和(S[i])的计算需要考虑前一位的进位(C[i-1]),即S[i] = A[i] ^ B[i] ^ C[i-1],进位(C[i])的计算需要考虑前一位的进位(C[i-1])和当前位的进位(Carry)信号,即C[i] = (A[i] & B[i]) || (C[i-1] & (A[i] ^ B[i]))。
4. 实验步骤4.1 材料准备•集成电路芯片:4个半加器、4个或门、3个异或门。
•连线材料:导线、面包板等。
4.2 电路连接根据设计原理进行电路的连接,确保每个元件都正确连接并没有短路或接触不良的情况。
4.3 电路测试对搭建好的电路进行测试,将不同的二进制数输入A和B接入相应的输入端口,并观察输出端口S和进位输出端口C的结果是否符合预期。
5. 实验结果根据我们的实验步骤,我们成功完成了一个4位二进制加法器的设计和实现。
通过输入不同的二进制数A和B,我们观察到输出端口S和进位输出端口C都能正确地计算出4位二进制数的和。
四位二进制加法器与乘法器
1 引言EDA(ElectronicDesign Automatic)技术的应用引起电子产品及系统开发的革命性变革。
VHDL语言作为可编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。
1.1 设计的目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,了解并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL基本单元电路的综合设计应用。
通过对四位二进制加法器和四位二进制乘法器的设计,巩固和综合运用所学课程,加深对数字电路和VHDL基本单元的理解,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
通过课程设计深入理解VHDL语言的精髓,达到课程设计的目标,加法器的设计可以加深对门电路的理解,乘法器的设计可以使对计算机怎样工作有了更深了解。
1.2 设计的基本内容本文是设计的一个四位二进制加法器和四位二进制乘法器。
四位二进制加法器使用门电路构成,用VHDL语言对其实现。
乘法器使用VHDL语言里的乘法运算符实现,使用数码管动态显示一个三位数结果。
然后用VHDL语言编写相应的程序,在计算机上实现,最后进行了加法器和乘法器的仿真分析。
2 EDA、VHDL简介2.1 EDA简介EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD (计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。
EDA技术是以计算机为工具,根据硬件描述语言HDL(Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。
典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。
4位全加器实验报告
4位全加器实验报告篇一:四位全加器实验报告实验一:四位全加器实验报告实验日期:学生姓名:陆小辉(学号:25)指导老师:黄秋萍加法器是数字系统中的基本逻辑器件,是构成算数运算电路的基本单元。
1位加法器有全加器和半加器两种。
多位加法器构成方式有并行进位方式和串行进位方式。
并行进位加法器设有并行进位产生逻辑,运算速度较快;串行进位加法器是将全加器级联构成多位加法器。
并行进位加法器通常比串行进位加法器占用更多的资源,随着位数的增多,相同位数的并行进位加法器比串行进位加法器的资源占用差距快速增大。
因此,在工程中使用加法器时,要在速度与容量之间寻求平衡。
一、设计要求:设计四位全加器,完成相应的功能。
可采用并行进位方式和串行进位方式,可采用三种常用建模方式中的任意一种。
三、测试代码如(转载自:小草范文网:4位全加器实验报告)下: module text_fulladd4; 二、设计代码如下:(此处采用数据流建模)wire [3:0]sum; module fulladd4(sum,cout,a,b,cin); wire cout; output [3:0]sum; reg [3:0]a,b; output cout; reg cin; input [3:0]a,b; fulladd4 f1(sum,cout,a,b,cin);input cin; initial assign {cout,sum}=a+b+cin; begin endmodule a=4'b0; b=4'b0; cin=1'b0; #210 $stop; end always #10 a=a+1; always #5 b=b+1; always #100 cin=cin+1;endmodule 四、仿真波形如下:续图篇二:4位全加器实验报告数电第一次实验通信1402 程杰 UXX13468【实验目的】采用ISE集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四进制全加器。
例试用四位二进制加法器74283构成可控的加法
A补 0001 + (-B)补 1011
0 1100
A 0001 - B 0101
- 1100
借位
1 1100
当C' =1,有借位
A-B < 0 S' =(A+(-B))补
S'0
=1
S'1
=1
(A+(-B)补)原码再求补
得原码
=((A+(-B))补 )补
S'2
=1
S'3
=1
= (S')反+1=加S加异异或或门门不求反反相
习题课
例:试用四位二进制加法器74283构成可控的加法、减法器( 允许附加少量门)。
分析:A-B=A+(-B)
(A+(-B))补=A补+(-B)补
A0 A1
各位不变
A2
A3
=A补+(-B)反+1
按位取反
B0
1
B1
1
B2
1
0Σ
A
0
3
进位Σ
0
B
3
S'0
S'1 和S'
S'2 S'3
1
CI
借位C'为进位取反
分析: A与B相减的结果 与采用补码相加的比较
1. A-B≥0时 A=0101 B=0001
求A-B
补码相加
A补 0101 + (-B)补 1111
1 0100
直接相减 A 0101 - B 0001
0100
借位
0 0100 (进位反相)
1. A-B<0时 A =0001 B =0101
