74283为4位超前进位加法器,不同于普通串行进位加法器由低到高逐级进位,超前进位加法器所有位数的进位大多数情况下同时产生,运算速度快,电路结构复杂。其管脚如图1所示:
图1 74283管脚图
其真值表如下所示:
表1 4位超前进位加法器真值表
1
由全加器的真值表可得Si和Ci的逻辑表达式:
定义两个中间变量Gi和Pi:
当Ai=Bi=1时,Gi=1,由Ci的表达式可得Ci=1,即产生进位,所以Gi称为产生量变 。若Pi=1,则Ai·Bi=0,Ci=Ci-1,即Pi=1时,低位的进位能传送到高位的进位输出端,故Pi称为传输变量,这两个变量都与进位信号无关。 将Gi和Pi代入Si和Ci得:
进而可得各位进位信号的逻辑表达如下:
2
根据逻辑表达式做出电路图如下:
逻辑功能图中有2输入异或门,2输入与门,3输入与门,4输入与门,2输入或门,3输入或门,4输入或门,其转化成CMOS晶体管图如下:
3
4
电路网表如下:
*xor 2
.subckt xor2 a b c d f
mxorpa 1 a vdd vdd pmos l=2 w=8 mxorpb f d 1 vdd pmos l=2 w=8 mxorpc 2 b vdd vdd pmos l=2 w=8 mxorpd f c 2 vdd pmos l=2 w=8 mxorna f a 3 0 nmos l=2 w=4 mxornb 3 b 0 0 nmos l=2 w=4 mxornc f c 4 0 nmos l=2 w=4 mxornd 4 d 0 0 nmos l=2 w=4 .ends xor2
*and2
.subckt and2 a b f
mandpa f a vdd vdd pmos l=2 w=4 mandpb f b vdd vdd pmos l=2 w=4 mandna f a 1 0 nmos l=2 w=4 mandnb 1 b 0 0 nmos l=2 w=4 .ends and2
*and3
.subckt and3 a b c f
mandpa f a vdd vdd pmos l=2 w=4 mandpb f b vdd vdd pmos l=2 w=4 mandpc f c vdd vdd pmos l=2 w=4 mandna f a 1 0 nmos l=2 w=6 mandnb 1 b 2 0 nmos l=2 w=6 mandnc 2 c 0 0 nmos l=2 w=6 .ends and3
*and4
.subckt and4 a b c d f
mandpa f a vdd vdd pmos l=2 w=4 mandpb f b vdd vdd pmos l=2 w=4 mandpc f c vdd vdd pmos l=2 w=4 mandpd f d vdd vdd pmos l=2 w=4 mandna f a 1 0 nmos l=2 w=8 mandnb 1 b 2 0 nmos l=2 w=8 mandnc 2 c 3 0 nmos l=2 w=8 mandnd 3 d 0 0 nmos l=2 w=8 .ends and4
5
*or2
.subckt or2 a b f
morpa 1 a vdd vdd pmos l=2 w=8 morpb f b 1 vdd pmos l=2 w=8 mna f a 0 0 nmos l=2 w=4 mnb f b 0 0 nmos l=2 w=4 .ends or2 *or3
.subckt or3 a b c f
morpa 1 a vdd vdd pmos l=2 w=12 morpb 2 b 1 vdd pmos l=2 w=12 morpc f c 2 vdd pmos l=2 w=12 mna f a 0 0 nmos l=2 w=4 mnb f b 0 0 nmos l=2 w=4 mnc f c 0 0 nmos l=2 w=4 .ends or3 *or4
.subckt or4 a b c d f
morpa 1 a vdd vdd pmos l=2 w=16 morpb 2 b 1 vdd pmos l=2 w=16 morpc 3 c 2 vdd pmos l=2 w=16 morpd f d 3 vdd pmos l=2 w=16 mna f a 0 0 nmos l=2 w=4 mnb f b 0 0 nmos l=2 w=4 mnc f c 0 0 nmos l=2 w=4 mnd f d 0 0 nmos l=2 w=4 .ends or4 *not
.subckt not a f
mnotpa f a vdd vdd pmos l=2 w=4 mnotna f a 0 0 nmos l=2 w=2
.ends not *反相器
*or21
.subckt or21 a b f xor2 a b 1 or2 xnot 1 f not
.ends or21 *2输入或门
*or31
.subckt or31 a b c f
6
xor3 a b c 1 or3 xnot 1 f not
.ends or31 *3输入或门 *or41
.subckt or41 a b c d f xor4 a b c d 1 or4 xnot 1 f not
.ends or41 *4输入或门
*xor21
.subckt xor21 a b f xm a A5 not xn b B5 not
xxor a b A5 B5 f xor2
.ends xor21 * 2
*and21
.subckt and21 a b f xand2 a b 1 and2 xnot 1 f not
.ends and21 *2
*and31
.subckt and31 a b c f xand3 a b c 1 and3 xnot 1 f not
.ends and31 *3
*and41
.subckt and41 a b c d f xand4 a b c d 1 and4 xnot 1 f not
.ends and41 *4
xxor211 a1 b1 p1 xor21 xxor212 a2 b2 p2 xor21 xxor213 a3 b3 p3 xor21 xxor214 a4 b4 p4 xor21 xand211 a1 b1 g1 and21 xand212 a2 b2 g2 and21 xand213 a3 b3 g3 and21
xand214 p1 c0 m0 and21
输入异或门 输入与门 输入与门 输入与门7
xor211 m0 g1 c1 or21 *进位C1
xand311 p2 p1 c0 m1 and31 xand215 p2 g1 m2 and21
xor312 g2 m1 m2 c2 or31 *进位C2
xand411 p3 p2 p1 c0 m3 and41 xand313 p3 p2 g1 m4 and31 xand216 p3 g2 m5 and21
xor412 m3 m4 m5 g3 c3 or41 *进位C3
xxor215 p1 c0 s1 xor21 *输出s1 xxor216 p2 c1 s2 xor21 *输出s2 xxor217 p3 c2 s3 xor21 *输出s3 xxor218 p4 c3 s4 xor21 *输出s4
.include \"c:\\lib\\130nm_bulk.l\"tt
.opt scale=0.05u .global vdd gnd vdd vdd 0 1.2
va1 a1 0 pulse 1.2 1.2 20n 1f 1f 30n 100n va2 a2 0 pulse 0 0 20n 1f 1f 30n 100n va3 a3 0 pulse 0 0 20n 1f 1f 30n 100n va4 a4 0 pulse 0 0 20n 1f 1f 30n 100n
vb1 b1 0 pulse 1.2 1.2 20n 1f 1f 30n 100n vb2 b2 0 pulse 1.2 1.2 20 1f 1f 30n 100n vb3 b3 0 pulse 0 0 20n 1f 1f 30n 100n
vb4 b4 0 pulse 1.2 1.2 20n 1f 1f 30n 100n vc0 c0 0 pulse 0 0 4n 1f 1f 0n 100n .tran 1n 100n
.plot tran v(s1) .plot tran v(s2) .plot tran v(s3) .plot tran v(s4) .end
8
因篇幅问题不能全部显示,请点此查看更多更全内容