Skip to content
This repository has been archived by the owner on Aug 19, 2023. It is now read-only.

Commit

Permalink
Biasing attempt1: Dosen't work
Browse files Browse the repository at this point in the history
  • Loading branch information
sudharsan2000 committed Oct 2, 2021
1 parent 8b976a2 commit 40e669a
Show file tree
Hide file tree
Showing 2 changed files with 613 additions and 69 deletions.
219 changes: 150 additions & 69 deletions Circuits/Examples/Analog/Folded_Cascode/Folded_Cascode.sch
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ N 2180 -720 2180 -690 { lab=#net1}
N 2180 -720 2320 -720 { lab=#net1}
N 2320 -760 2320 -720 { lab=#net1}
N 2740 -720 2740 -650 { lab=GND}
N 3000 -720 3000 -690 { lab=GND}
N 3000 -690 3000 -650 { lab=GND}
N 2180 -660 2200 -660 { lab=GND}
N 2200 -660 2200 -620 { lab=GND}
N 2180 -620 2200 -620 { lab=GND}
Expand Down Expand Up @@ -57,8 +55,8 @@ N 2010 -1050 2010 -820 { lab=#net4}
N 2010 -1050 2740 -1050 { lab=#net4}
N 2760 -980 2770 -980 { lab=#net4}
N 2770 -1040 2770 -980 { lab=#net4}
N 2740 -950 2740 -890 { lab=#net6}
N 3000 -950 3000 -890 { lab=#net7}
N 2740 -950 2740 -890 { lab=Vout1}
N 3000 -950 3000 -890 { lab=Vout2}
N 2770 -1050 2770 -1040 { lab=#net4}
N 2740 -1050 2770 -1050 { lab=#net4}
N 2740 -1050 2740 -1010 { lab=#net4}
Expand All @@ -81,10 +79,10 @@ N 3220 -750 3220 -700 { lab=GND}
N 3200 -700 3220 -700 { lab=GND}
N 3200 -720 3200 -700 { lab=GND}
N 3200 -700 3200 -650 { lab=GND}
N 3040 -750 3160 -750 { lab=GND}
N 3130 -810 3130 -750 { lab=GND}
N 3130 -810 3200 -810 { lab=GND}
N 3200 -810 3200 -780 { lab=GND}
N 3040 -750 3160 -750 { lab=IB3}
N 3130 -810 3130 -750 { lab=IB3}
N 3130 -810 3200 -810 { lab=IB3}
N 3200 -810 3200 -780 { lab=IB3}
N 3130 -1120 3130 -1060 { lab=IB2}
N 3130 -1060 3200 -1060 { lab=IB2}
N 3200 -860 3200 -810 { lab=IB3}
Expand All @@ -109,20 +107,51 @@ N 1340 -740 1340 -710 { lab=GND}
N 1340 -890 1340 -850 { lab=VDD}
N 1920 -790 1970 -790 { lab=Vin1}
N 2360 -790 2400 -790 { lab=Vin2}
N 2780 -750 2900 -750 { lab=GND}
N 2900 -750 2900 -690 { lab=GND}
N 2900 -690 3060 -690 { lab=GND}
N 3060 -750 3060 -690 { lab=GND}
N 1220 -570 1220 -520 { lab=VB2}
N 1150 -570 1150 -520 { lab=VB1}
N 2660 -980 2700 -980 { lab=VB2}
N 2780 -750 2900 -750 { lab=IB3}
N 2900 -750 2900 -690 { lab=IB3}
N 2660 -980 2700 -980 { lab=VB1}
N 2660 -860 2700 -860 { lab=VB1}
N 2930 -980 2960 -980 { lab=VB2}
N 2930 -980 2960 -980 { lab=VB1}
N 2920 -860 2960 -860 { lab=VB1}
N 1430 -570 1430 -520 { lab=IB2}
N 1500 -570 1500 -520 { lab=VDD}
N 1150 -460 1150 -420 { lab=GND}
N 1220 -460 1220 -420 { lab=GND}
N 3000 -720 3000 -650 { lab=GND}
N 2900 -690 3070 -690 { lab=IB3}
N 3070 -750 3070 -690 { lab=IB3}
N 3490 -750 3510 -750 { lab=GND}
N 3510 -750 3510 -700 { lab=GND}
N 3490 -700 3510 -700 { lab=GND}
N 3490 -720 3490 -700 { lab=GND}
N 3490 -700 3490 -650 { lab=GND}
N 3200 -810 3310 -810 { lab=IB3}
N 3310 -810 3310 -750 { lab=IB3}
N 3310 -750 3450 -750 { lab=IB3}
N 3490 -830 3490 -780 { lab=#net6}
N 3490 -860 3510 -860 { lab=#net6}
N 3510 -860 3510 -820 { lab=#net6}
N 3490 -820 3510 -820 { lab=#net6}
N 3410 -860 3450 -860 { lab=VB1}
N 3490 -960 3510 -960 { lab=#net7}
N 3510 -1010 3510 -960 { lab=#net7}
N 3490 -1010 3510 -1010 { lab=#net7}
N 3490 -1010 3490 -990 { lab=#net7}
N 3420 -960 3450 -960 { lab=VB1}
N 3490 -930 3490 -890 { lab=VB1}
N 3490 -1120 3510 -1120 { lab=VDD}
N 3510 -1160 3510 -1120 { lab=VDD}
N 3490 -1160 3510 -1160 { lab=VDD}
N 3490 -1160 3490 -1150 { lab=VDD}
N 3200 -1210 3490 -1210 { lab=VDD}
N 3490 -1210 3490 -1160 { lab=VDD}
N 3490 -1090 3490 -1010 { lab=#net7}
N 3430 -1120 3450 -1120 { lab=#net7}
N 3430 -1120 3430 -1060 { lab=#net7}
N 3430 -1060 3490 -1060 { lab=#net7}
N 3430 -910 3430 -860 { lab=VB1}
N 3430 -910 3490 -910 { lab=VB1}
N 3430 -960 3430 -910 { lab=VB1}
N 2660 -980 2660 -860 { lab=VB1}
N 2930 -980 2930 -860 { lab=VB1}
C {devices/code.sym} 1390 -260 0 0 {name=TT_MODELS
only_toplevel=true
format="tcleval( @value )"
Expand All @@ -138,17 +167,17 @@ value="** manual skywater pdks install (with patches applied)
C {devices/code_shown.sym} 1150 -250 0 0 {name=s1 only_toplevel=false value=".ac dec 20 1 1e16
.control
run
plot db(Vout)
plot db(Vout2-Vout1)
.endc
.save all"}
C {devices/vsource.sym} 1340 -790 0 0 {name=V1 value=3}
C {devices/gnd.sym} 1340 -710 0 0 {name=l1 lab=GND}
C {devices/vdd.sym} 1340 -890 0 0 {name=l11 lab=VDD}
C {sky130_fd_pr/nfet_01v8.sym} 2160 -660 0 0 {name=M11
L=0.15
W=1
L=1
W=800
nf=1
mult=800
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -160,10 +189,10 @@ spiceprefix=X
}
C {devices/gnd.sym} 2180 -590 0 0 {name=l2 lab=GND}
C {sky130_fd_pr/nfet_01v8.sym} 1990 -790 0 0 {name=M1
L=0.15
W=1
L=1
W=400
nf=1
mult=400
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -174,10 +203,10 @@ model=nfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/nfet_01v8.sym} 2340 -790 0 1 {name=M2
L=0.15
W=1
L=1
W=400
nf=1
mult=400
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -188,10 +217,10 @@ model=nfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/nfet_01v8.sym} 2760 -750 0 1 {name=M9
L=0.15
W=1
L=1
W=278
nf=1
mult=278
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -202,10 +231,10 @@ model=nfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/nfet_01v8.sym} 3020 -750 0 1 {name=M10
L=0.15
W=1
L=1
W=278
nf=1
mult=278
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -218,10 +247,10 @@ spiceprefix=X
C {devices/gnd.sym} 2740 -650 0 0 {name=l3 lab=GND}
C {devices/gnd.sym} 3000 -650 0 0 {name=l4 lab=GND}
C {sky130_fd_pr/nfet_01v8.sym} 2720 -860 0 0 {name=M7
L=0.15
W=1
L=1
W=278
nf=1
mult=278
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -232,10 +261,10 @@ model=nfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/nfet_01v8.sym} 2980 -860 0 0 {name=M8
L=0.15
W=1
L=1
W=278
nf=1
mult=278
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -246,10 +275,10 @@ model=nfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/pfet_01v8.sym} 2720 -980 0 0 {name=M3
L=0.15
W=1
L=1
W=313
nf=1
mult=313
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -260,10 +289,10 @@ model=pfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/pfet_01v8.sym} 2980 -980 0 0 {name=M4
L=0.15
W=1
L=1
W=313
nf=1
mult=313
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -274,10 +303,10 @@ model=pfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/pfet_01v8.sym} 2760 -1120 0 1 {name=M5
L=0.15
W=1
L=1
W=400
nf=1
mult=400
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -288,10 +317,10 @@ model=pfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/pfet_01v8.sym} 3020 -1120 0 1 {name=M6
L=0.15
W=1
L=1
W=400
nf=1
mult=400
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -302,10 +331,10 @@ model=pfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/pfet_01v8.sym} 3180 -1120 0 0 {name=Mb2
L=0.15
W=1
L=1
W=400
nf=1
mult=400
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -316,10 +345,10 @@ model=pfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/nfet_01v8.sym} 3180 -750 0 0 {name=Mb3
L=0.15
W=1
L=1
W=278
nf=1
mult=278
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand All @@ -331,10 +360,10 @@ spiceprefix=X
}
C {devices/gnd.sym} 3200 -650 0 0 {name=l5 lab=GND}
C {sky130_fd_pr/nfet_01v8.sym} 1810 -660 0 1 {name=Mb1
L=0.15
W=1
L=1
W=800
nf=1
mult=800
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
Expand Down Expand Up @@ -370,13 +399,65 @@ C {devices/lab_pin.sym} 2400 -790 2 0 {name=l22 sig_type=std_logic lab=Vin2
}
C {devices/lab_pin.sym} 1920 -790 2 1 {name=l23 sig_type=std_logic lab=Vin1
}
C {devices/vsource.sym} 1220 -490 0 0 {name=V2 value=3}
C {devices/gnd.sym} 1220 -420 0 0 {name=l24 lab=GND}
C {devices/vsource.sym} 1150 -490 0 0 {name=V5 value=3}
C {devices/gnd.sym} 1150 -420 0 0 {name=l25 lab=GND}
C {devices/lab_pin.sym} 1150 -570 0 0 {name=l26 sig_type=std_logic lab=VB1}
C {devices/lab_pin.sym} 1220 -570 0 0 {name=l27 sig_type=std_logic lab=VB2}
C {devices/lab_pin.sym} 2660 -860 0 0 {name=l28 sig_type=std_logic lab=VB1}
C {devices/lab_pin.sym} 2920 -860 0 0 {name=l29 sig_type=std_logic lab=VB1}
C {devices/lab_pin.sym} 2660 -980 0 0 {name=l30 sig_type=std_logic lab=VB2}
C {devices/lab_pin.sym} 2930 -980 0 0 {name=l31 sig_type=std_logic lab=VB2}
C {devices/lab_pin.sym} 2740 -920 0 0 {name=l32 sig_type=std_logic lab=Vout1}
C {devices/lab_pin.sym} 3000 -920 0 1 {name=l33 sig_type=std_logic lab=Vout2}
C {sky130_fd_pr/nfet_01v8.sym} 3470 -750 0 0 {name=Mb4
L=1
W=278
nf=1
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/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
model=nfet_01v8
spiceprefix=X
}
C {devices/gnd.sym} 3490 -650 0 0 {name=l34 lab=GND}
C {sky130_fd_pr/nfet_01v8.sym} 3470 -860 0 0 {name=Mb7
L=1
W=278
nf=1
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/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
model=nfet_01v8
spiceprefix=X
}
C {devices/lab_pin.sym} 3410 -860 0 0 {name=l35 sig_type=std_logic lab=VB1}
C {sky130_fd_pr/pfet_01v8.sym} 3470 -960 0 0 {name=Mb6
L=1
W=313
nf=1
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/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
model=pfet_01v8
spiceprefix=X
}
C {sky130_fd_pr/pfet_01v8.sym} 3470 -1120 0 0 {name=Mb5
L=1
W=400
nf=1
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/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
model=pfet_01v8
spiceprefix=X
}
Loading

0 comments on commit 40e669a

Please sign in to comment.