adding en/select decode logic
diff --git a/mag/analog_mux.mag b/mag/analog_mux.mag new file mode 100644 index 0000000..6e520ad --- /dev/null +++ b/mag/analog_mux.mag
@@ -0,0 +1,133 @@ +magic +tech sky130A +timestamp 1634766604 +<< nwell >> +rect 1400 -2600 1900 -2100 +<< nnmos >> +rect 980 -2240 1050 -2190 +rect 980 -2370 1050 -2320 +rect 980 -2480 1050 -2430 +<< mvpmos >> +rect 1500 -2240 1600 -2190 +rect 1500 -2370 1600 -2320 +rect 1500 -2480 1600 -2430 +<< mvndiff >> +rect 980 -2160 1050 -2150 +rect 980 -2180 990 -2160 +rect 1040 -2180 1050 -2160 +rect 980 -2190 1050 -2180 +rect 980 -2250 1050 -2240 +rect 980 -2310 990 -2250 +rect 1040 -2310 1050 -2250 +rect 980 -2320 1050 -2310 +rect 980 -2430 1050 -2370 +rect 980 -2490 1050 -2480 +rect 980 -2510 990 -2490 +rect 1040 -2510 1050 -2490 +rect 980 -2520 1050 -2510 +<< mvpdiff >> +rect 1500 -2160 1600 -2150 +rect 1500 -2180 1510 -2160 +rect 1590 -2180 1600 -2160 +rect 1500 -2190 1600 -2180 +rect 1500 -2250 1600 -2240 +rect 1500 -2310 1510 -2250 +rect 1590 -2310 1600 -2250 +rect 1500 -2320 1600 -2310 +rect 1500 -2380 1600 -2370 +rect 1500 -2410 1510 -2380 +rect 1590 -2410 1600 -2380 +rect 1500 -2430 1600 -2410 +rect 1500 -2490 1600 -2480 +rect 1500 -2510 1510 -2490 +rect 1590 -2510 1600 -2490 +rect 1500 -2520 1600 -2510 +<< mvndiffc >> +rect 990 -2180 1040 -2160 +rect 990 -2310 1040 -2250 +rect 990 -2510 1040 -2490 +<< mvpdiffc >> +rect 1510 -2180 1590 -2160 +rect 1510 -2310 1590 -2250 +rect 1510 -2410 1590 -2380 +rect 1510 -2510 1590 -2490 +<< poly >> +rect 1220 -2190 1340 -2180 +rect 960 -2240 980 -2190 +rect 1050 -2240 1230 -2190 +rect 1330 -2240 1500 -2190 +rect 1600 -2240 1620 -2190 +rect 1220 -2250 1340 -2240 +rect 960 -2370 980 -2320 +rect 1050 -2370 1500 -2320 +rect 1600 -2370 1620 -2320 +rect 960 -2480 980 -2430 +rect 1050 -2480 1500 -2430 +rect 1600 -2480 1620 -2430 +<< polycont >> +rect 1230 -2240 1330 -2190 +<< locali >> +rect 800 1850 1050 1900 +rect 1500 1850 1750 1900 +rect 800 -1950 1050 -1900 +rect 980 -2100 1050 -1950 +rect 1500 -1950 1750 -1900 +rect 1500 -1970 1550 -1950 +rect 980 -2160 1050 -2150 +rect 980 -2180 990 -2160 +rect 1040 -2180 1050 -2160 +rect 1400 -2020 1550 -1970 +rect 1220 -2190 1340 -2180 +rect 1400 -2190 1450 -2020 +rect 1500 -2160 1600 -2150 +rect 1500 -2180 1510 -2160 +rect 1590 -2180 1600 -2160 +rect 1100 -2240 1230 -2190 +rect 1330 -2240 1450 -2190 +rect 790 -2310 990 -2250 +rect 1040 -2310 1050 -2250 +rect 1100 -2490 1150 -2240 +rect 1220 -2250 1340 -2240 +rect 1400 -2380 1450 -2240 +rect 1500 -2310 1510 -2250 +rect 1590 -2310 1790 -2250 +rect 1400 -2410 1510 -2380 +rect 1590 -2410 1600 -2380 +rect 980 -2510 990 -2490 +rect 1040 -2510 1150 -2490 +rect 980 -2520 1150 -2510 +rect 1500 -2510 1510 -2490 +rect 1590 -2510 1790 -2490 +rect 1500 -2520 1790 -2510 +<< viali >> +rect 980 -2150 1050 -2100 +rect 1500 -2150 1600 -2100 +<< metal1 >> +rect 2750 1150 2800 1550 +rect -50 350 0 750 +rect 2750 -750 2800 -350 +rect -50 -1550 0 -1150 +rect 970 -2100 1610 -2090 +rect 970 -2150 980 -2100 +rect 1050 -2150 1500 -2100 +rect 1600 -2150 1610 -2100 +rect 970 -2160 1610 -2150 +<< metal2 >> +rect 100 1850 600 1900 +rect 2150 1850 2650 1900 +rect 100 -50 600 0 +rect 2150 -50 2650 0 +rect 100 -1950 600 -1900 +rect 2150 -1950 2650 -1900 +use analog_switch analog_switch_1 +timestamp 1634419951 +transform 1 0 500 0 1 -1150 +box -500 -750 2250 1100 +use analog_switch analog_switch_0 +timestamp 1634419951 +transform 1 0 500 0 1 750 +box -500 -750 2250 1100 +<< labels >> +rlabel locali 990 -2040 1040 -1990 1 EN0 +rlabel locali 1450 -2010 1490 -1980 1 ENB0 +<< end >>
diff --git a/mag/analog_switch.mag b/mag/analog_switch.mag index ba037fd..7a3810d 100644 --- a/mag/analog_switch.mag +++ b/mag/analog_switch.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1634419951 +timestamp 1634764606 << nwell >> rect 800 -600 2150 900 << pwell >> @@ -191,4 +191,8 @@ port 6 n rlabel metal2 1650 -750 2150 -700 1 VDD3v3 port 5 n +rlabel locali 300 -750 550 -700 1 EN +port 3 n +rlabel locali 1000 -750 1250 -700 1 ENB +port 4 n << end >>
diff --git a/xschem/analog_mux_2_1.sch b/xschem/analog_mux_2_1.sch index e058f9f..f8aebf6 100644 --- a/xschem/analog_mux_2_1.sch +++ b/xschem/analog_mux_2_1.sch
@@ -145,7 +145,7 @@ C {devices/ipin.sym} 1120 -970 0 0 {name=p5 lab=VIN1} C {sky130_fd_pr/pfet_g5v0d10v5.sym} 890 -810 0 0 {name=M3 L=0.5 -W=0.75 +W=1 nf=1 mult=1 ad="'int((nf+1)/2) * W/nf * 0.29'" @@ -159,7 +159,7 @@ } C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -810 0 0 {name=M4 L=0.5 -W=0.75 +W=1 nf=1 mult=1 ad="'int((nf+1)/2) * W/nf * 0.29'" @@ -204,7 +204,7 @@ C {devices/ipin.sym} 960 -700 0 0 {name=p6 lab=EN} C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1280 -810 0 0 {name=M1 L=0.5 -W=0.75 +W=1 nf=1 mult=1 ad="'int((nf+1)/2) * W/nf * 0.29'" @@ -239,7 +239,7 @@ C {devices/ipin.sym} 810 -810 0 0 {name=p7 lab=SELECT} C {sky130_fd_pr/pfet_g5v0d10v5.sym} 890 -310 0 0 {name=M7 L=0.5 -W=0.75 +W=1 nf=1 mult=1 ad="'int((nf+1)/2) * W/nf * 0.29'" @@ -267,7 +267,7 @@ } C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1230 -380 0 0 {name=M9 L=0.5 -W=0.75 +W=1 nf=1 mult=1 ad="'int((nf+1)/2) * W/nf * 0.29'" @@ -311,7 +311,7 @@ C {devices/lab_pin.sym} 1280 -450 0 0 {name=l11 sig_type=std_logic lab=VDD3v3} C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1460 -380 0 0 {name=M12 L=0.5 -W=0.75 +W=1 nf=1 mult=1 ad="'int((nf+1)/2) * W/nf * 0.29'" @@ -341,7 +341,7 @@ C {devices/lab_pin.sym} 1650 -350 0 0 {name=l13 sig_type=std_logic lab=EN0} C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1070 -380 0 0 {name=M14 L=0.5 -W=0.75 +W=1 nf=1 mult=1 ad="'int((nf+1)/2) * W/nf * 0.29'"
diff --git a/xschem/analog_mux_2_1.spice b/xschem/analog_mux_2_1.spice index 07ab8f9..c87e91b 100644 --- a/xschem/analog_mux_2_1.spice +++ b/xschem/analog_mux_2_1.spice
@@ -8,10 +8,10 @@ *.ipin SELECT x1 VIN0 VGND VDD3v3 !EN0 EN0 VOUT analogue_switch x2 VIN1 VGND VDD3v3 !EN1 EN1 VOUT analogue_switch -XM3 !EN1 SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM3 !EN1 SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM4 !EN1 EN VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM4 !EN1 EN VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM2 net1 SELECT VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' @@ -20,19 +20,19 @@ XM5 !EN1 EN net1 VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' + sa=0 sb=0 sd=0 mult=1 m=1 -XM1 EN1 !EN1 VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM1 EN1 !EN1 VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM6 EN1 !EN1 VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM7 !SELECT SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM7 !SELECT SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM8 !SELECT SELECT VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM9 !EN0 EN VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM9 !EN0 EN VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM10 net2 !SELECT VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' @@ -41,13 +41,13 @@ XM11 !EN0 EN net2 VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM12 EN0 !EN0 VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM12 EN0 !EN0 VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM13 EN0 !EN0 VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM14 !EN0 !SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM14 !EN0 !SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 **.ends @@ -62,12 +62,12 @@ *.ipin VIN *.ipin !EN *.opin VOUT -XM2 VOUT !EN VIN VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM2 VOUT !EN VIN VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' -+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=15 m=15 -XM1 VIN EN VOUT VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' ++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 +XM1 VIN EN VOUT VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=10 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=10 m=10 ++ sa=0 sb=0 sd=0 mult=2 m=2 .ends ** flattened .save nodes
diff --git a/xschem/analogue_mux_tb.spice b/xschem/analogue_mux_tb.spice index e59b89b..f054772 100644 --- a/xschem/analogue_mux_tb.spice +++ b/xschem/analogue_mux_tb.spice
@@ -35,10 +35,10 @@ *.ipin SELECT x1 VIN0 VGND VDD3v3 !EN0 EN0 VOUT analogue_switch x2 VIN1 VGND VDD3v3 !EN1 EN1 VOUT analogue_switch -XM3 !EN1 SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM3 !EN1 SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM4 !EN1 EN VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM4 !EN1 EN VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM2 net1 SELECT VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' @@ -47,19 +47,19 @@ XM5 !EN1 EN net1 VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' + sa=0 sb=0 sd=0 mult=1 m=1 -XM1 EN1 !EN1 VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM1 EN1 !EN1 VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM6 EN1 !EN1 VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM7 !SELECT SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM7 !SELECT SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM8 !SELECT SELECT VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM9 !EN0 EN VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM9 !EN0 EN VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM10 net2 !SELECT VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' @@ -68,13 +68,13 @@ XM11 !EN0 EN net2 VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM12 EN0 !EN0 VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM12 EN0 !EN0 VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 XM13 EN0 !EN0 VGND VGND sky130_fd_pr__nfet_03v3_nvt L=0.5 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM14 !EN0 !SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.75 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' +XM14 !EN0 !SELECT VDD3v3 VDD3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' + as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' + nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 .ends