用74LS153设计一个一位全加器,方法如下:
1.首先根据全加器真值表,写出和S、高位进位C1的逻辑函数:S=A⊕B⊕C0;
2.A1、A0作为两个输入变量即加数和被加数A、B,D0~D3作为第三个输入变量即低位进位C0,
1Y为全加器的和S,2Y为全加器的高位进位C1,于是就可以令数据选择器的输入为:
A1=A,A0=B,1DO=1D3=C0,1D1=1D2=C0反,2D0=0,2D3=1,2D1=2D2=C0,1Q=S1,
2Q=C1
3.根据对应的管脚连接电路。
图:一位全加器原理图
扩展资料携岩答:
一位全加器的逻辑函数:S=A⊕B⊕Cin,Co=ACin+BCin+AB;
其辩慧中枣态A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出。
如果要实现多位加法可以进行级联,就是串起来使用,比如:32位+32位,就需要32个全加器,这
种级联就是串行结构速度慢;如果要并行快速相加可以用超前进位加法;超前进位加法前查阅相关
资料;
如果将全加器的输入置换成A和B的组合函数Xi和Y(S0…S3控制),然后再将X,Y和进位数通过全加
器进行全加,就是ALU的逻辑结构结构,即 :
X=f(A,B);
Y=f(A,B)。
不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。
一位全加前笑穗慧卜器源代码如升薯下:library ieee
use ieee.std_logic_1164.all
use ieee.std_logic_unsigned.all
use ieee.std_logic_arith.all
entity bit1adder is
port(
a,b,ci:in std_logic
s,co:out std_logic
)
end bit1adder
architecture func of bit1adder is
signal:x,y:std_logic
begin
x<=a xor b
y<=x and ci
s<=x xor ci
co<=y or (a and b)
end func
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)