mirror of
https://github.com/KLayout/klayout.git
synced 2026-09-07 19:51:32 +02:00
Introduced perimeter parameters for MOS3/MOS4
This commit is contained in:
Vendored
+12
-12
@@ -279,10 +279,10 @@ Circuit RINGO ():
|
||||
XINV2 $9 (IN=$I6,$2=$I45,OUT=$I7,$4=VSS,$5=VDD)
|
||||
XINV2 $10 (IN=$I7,$2=$I46,OUT=$I8,$4=VSS,$5=VDD)
|
||||
Circuit INV2 (IN=IN,$2=$2,OUT=OUT,$4=$4,$5=$5):
|
||||
DPMOS $1 (S=$2,G=IN,D=$5) [L=0.25,W=0.95,AS=0.49875,AD=0.26125]
|
||||
DPMOS $2 (S=$5,G=$2,D=OUT) [L=0.25,W=0.95,AS=0.26125,AD=0.49875]
|
||||
DNMOS $3 (S=$2,G=IN,D=$4) [L=0.25,W=0.95,AS=0.49875,AD=0.26125]
|
||||
DNMOS $4 (S=$4,G=$2,D=OUT) [L=0.25,W=0.95,AS=0.26125,AD=0.49875]
|
||||
DPMOS $1 (S=$2,G=IN,D=$5) [L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5]
|
||||
DPMOS $2 (S=$5,G=$2,D=OUT) [L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95]
|
||||
DNMOS $3 (S=$2,G=IN,D=$4) [L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5]
|
||||
DNMOS $4 (S=$4,G=$2,D=OUT) [L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95]
|
||||
XTRANS $1 ($1=$2,$2=$4,$3=IN)
|
||||
XTRANS $2 ($1=$2,$2=$5,$3=IN)
|
||||
XTRANS $3 ($1=$5,$2=OUT,$3=$2)
|
||||
@@ -390,10 +390,10 @@ Circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I6,$4=$I5,$5=$I3,$6=$I2,$7=$I1):
|
||||
XINV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I4,VSS=$I5,VDD=$I6,BULK=BULK)
|
||||
XINV2 $2 ($1=$I1,IN=$I4,$3=$I8,OUT=$I2,VSS=$I5,VDD=$I6,BULK=BULK)
|
||||
Circuit INV2 ($1=$1,IN=IN,$3=$3,OUT=OUT,VSS=VSS,VDD=VDD,BULK=BULK):
|
||||
DPMOS $1 (S=$3,G=IN,D=VDD,B=$1) [L=0.25,W=0.95,AS=0.49875,AD=0.26125]
|
||||
DPMOS $2 (S=VDD,G=$3,D=OUT,B=$1) [L=0.25,W=0.95,AS=0.26125,AD=0.49875]
|
||||
DNMOS $3 (S=$3,G=IN,D=VSS,B=BULK) [L=0.25,W=0.95,AS=0.49875,AD=0.26125]
|
||||
DNMOS $4 (S=VSS,G=$3,D=OUT,B=BULK) [L=0.25,W=0.95,AS=0.26125,AD=0.49875]
|
||||
DPMOS $1 (S=$3,G=IN,D=VDD,B=$1) [L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5]
|
||||
DPMOS $2 (S=VDD,G=$3,D=OUT,B=$1) [L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95]
|
||||
DNMOS $3 (S=$3,G=IN,D=VSS,B=BULK) [L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5]
|
||||
DNMOS $4 (S=VSS,G=$3,D=OUT,B=BULK) [L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95]
|
||||
XTRANS $1 ($1=$3,$2=VSS,$3=IN)
|
||||
XTRANS $2 ($1=$3,$2=VDD,$3=IN)
|
||||
XTRANS $3 ($1=VDD,$2=OUT,$3=$3)
|
||||
@@ -416,10 +416,10 @@ Circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I6,$4=$I5,$5=$I3,$6=$I2,$7=$I1):
|
||||
XINV2 $1 ($1=$I1,IN=$I3,$3=(null),OUT=$I4,VSS=$I5,VDD=$I6,BULK=BULK)
|
||||
XINV2 $2 ($1=$I1,IN=$I4,$3=$I8,OUT=$I2,VSS=$I5,VDD=$I6,BULK=BULK)
|
||||
Circuit INV2 ($1=$1,IN=IN,$3=$3,OUT=OUT,VSS=VSS,VDD=VDD,BULK=BULK):
|
||||
DPMOS $1 (S=$3,G=IN,D=VDD,B=$1) [L=0.25,W=0.95,AS=0.49875,AD=0.26125]
|
||||
DPMOS $2 (S=VDD,G=$3,D=OUT,B=$1) [L=0.25,W=0.95,AS=0.26125,AD=0.49875]
|
||||
DNMOS $3 (S=$3,G=IN,D=VSS,B=BULK) [L=0.25,W=0.95,AS=0.49875,AD=0.26125]
|
||||
DNMOS $4 (S=VSS,G=$3,D=OUT,B=BULK) [L=0.25,W=0.95,AS=0.26125,AD=0.49875]
|
||||
DPMOS $1 (S=$3,G=IN,D=VDD,B=$1) [L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5]
|
||||
DPMOS $2 (S=VDD,G=$3,D=OUT,B=$1) [L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95]
|
||||
DNMOS $3 (S=$3,G=IN,D=VSS,B=BULK) [L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5]
|
||||
DNMOS $4 (S=VSS,G=$3,D=OUT,B=BULK) [L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95]
|
||||
END
|
||||
|
||||
# cleanup now
|
||||
|
||||
+14
-6
@@ -222,11 +222,15 @@ END
|
||||
d1.set_parameter(RBA::DeviceClassMOS3Transistor::PARAM_W, 2.0)
|
||||
d1.set_parameter(RBA::DeviceClassMOS3Transistor::PARAM_AS, 3.0)
|
||||
d1.set_parameter(RBA::DeviceClassMOS3Transistor::PARAM_AD, 4.0)
|
||||
d1.set_parameter(RBA::DeviceClassMOS3Transistor::PARAM_PS, 13.0)
|
||||
d1.set_parameter(RBA::DeviceClassMOS3Transistor::PARAM_PD, 14.0)
|
||||
d2 = circuit.create_device(cls, "d2")
|
||||
d2.set_parameter("L", 1.0)
|
||||
d2.set_parameter("W", 3.0)
|
||||
d2.set_parameter("AS", 4.0)
|
||||
d2.set_parameter("AD", 5.0)
|
||||
d2.set_parameter("PS", 14.0)
|
||||
d2.set_parameter("PD", 15.0)
|
||||
|
||||
pin_a = circuit.create_pin ("A")
|
||||
pin_b = circuit.create_pin ("B")
|
||||
@@ -249,8 +253,8 @@ END
|
||||
|
||||
assert_equal(nl.to_s, <<END)
|
||||
Circuit (A=n1,B=n2,C=n3):
|
||||
D d1 (S=n1,G=n3,D=n2) [L=1,W=2,AS=3,AD=4]
|
||||
D d2 (S=n1,G=n3,D=n2) [L=1,W=3,AS=4,AD=5]
|
||||
D d1 (S=n1,G=n3,D=n2) [L=1,W=2,AS=3,AD=4,PS=13,PD=14]
|
||||
D d2 (S=n1,G=n3,D=n2) [L=1,W=3,AS=4,AD=5,PS=14,PD=15]
|
||||
END
|
||||
|
||||
nl.combine_devices
|
||||
@@ -258,7 +262,7 @@ END
|
||||
|
||||
assert_equal(nl.to_s, <<END)
|
||||
Circuit (A=n1,B=n2,C=n3):
|
||||
D d1 (S=n1,G=n3,D=n2) [L=1,W=5,AS=7,AD=9]
|
||||
D d1 (S=n1,G=n3,D=n2) [L=1,W=5,AS=7,AD=9,PS=27,PD=29]
|
||||
END
|
||||
|
||||
end
|
||||
@@ -278,11 +282,15 @@ END
|
||||
d1.set_parameter(RBA::DeviceClassMOS4Transistor::PARAM_W, 2.0)
|
||||
d1.set_parameter(RBA::DeviceClassMOS4Transistor::PARAM_AS, 3.0)
|
||||
d1.set_parameter(RBA::DeviceClassMOS4Transistor::PARAM_AD, 4.0)
|
||||
d1.set_parameter(RBA::DeviceClassMOS4Transistor::PARAM_PS, 13.0)
|
||||
d1.set_parameter(RBA::DeviceClassMOS4Transistor::PARAM_PD, 14.0)
|
||||
d2 = circuit.create_device(cls, "d2")
|
||||
d2.set_parameter("L", 1.0)
|
||||
d2.set_parameter("W", 3.0)
|
||||
d2.set_parameter("AS", 4.0)
|
||||
d2.set_parameter("AD", 5.0)
|
||||
d2.set_parameter("PS", 14.0)
|
||||
d2.set_parameter("PD", 15.0)
|
||||
|
||||
pin_a = circuit.create_pin ("A")
|
||||
pin_b = circuit.create_pin ("B")
|
||||
@@ -311,8 +319,8 @@ END
|
||||
|
||||
assert_equal(nl.to_s, <<END)
|
||||
Circuit (A=n1,B=n2,C=n3,D=n4):
|
||||
D d1 (S=n1,G=n3,D=n2,B=n4) [L=1,W=2,AS=3,AD=4]
|
||||
D d2 (S=n1,G=n3,D=n2,B=n4) [L=1,W=3,AS=4,AD=5]
|
||||
D d1 (S=n1,G=n3,D=n2,B=n4) [L=1,W=2,AS=3,AD=4,PS=13,PD=14]
|
||||
D d2 (S=n1,G=n3,D=n2,B=n4) [L=1,W=3,AS=4,AD=5,PS=14,PD=15]
|
||||
END
|
||||
|
||||
nl.combine_devices
|
||||
@@ -320,7 +328,7 @@ END
|
||||
|
||||
assert_equal(nl.to_s, <<END)
|
||||
Circuit (A=n1,B=n2,C=n3,D=n4):
|
||||
D d1 (S=n1,G=n3,D=n2,B=n4) [L=1,W=5,AS=7,AD=9]
|
||||
D d1 (S=n1,G=n3,D=n2,B=n4) [L=1,W=5,AS=7,AD=9,PS=27,PD=29]
|
||||
END
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user