| v { version=2.9.8 file_version=1.2} |
| G {} |
| K {} |
| V {} |
| S {} |
| E {} |
| N 1030 -450 1030 -310 {lab=ref} |
| N 790 -490 790 -420 {lab=#net1} |
| N 790 -360 790 -310 {lab=#net2} |
| N 730 -280 750 -280 {lab=GND} |
| N 730 -280 730 0 {lab=GND} |
| N 730 0 790 0 {lab=GND} |
| N 790 -250 790 0 {lab=GND} |
| N 1030 -250 1030 0 {lab=GND} |
| N 1030 0 1090 0 {lab=GND} |
| N 1090 -280 1090 0 {lab=GND} |
| N 1070 -280 1090 -280 {lab=GND} |
| N 470 -1110 790 -1110 {lab=vdd} |
| N 790 -1110 790 -1080 {lab=vdd} |
| N 790 -1110 1030 -1110 {lab=vdd} |
| N 1030 -1110 1030 -1080 {lab=vdd} |
| N 970 0 1030 0 {lab=GND} |
| N 440 0 730 0 {lab=GND} |
| N 1400 0 1850 0 {lab=GND} |
| N 310 -470 360 -470 {lab=ptat} |
| N 440 -410 440 0 {lab=GND} |
| N 1850 -460 1850 0 {lab=GND} |
| N 1030 -1110 1310 -1110 {lab=vdd} |
| N 440 -930 440 -530 {lab=vdd} |
| N 1850 -900 1850 -580 {lab=vdd} |
| N 1820 -1110 1850 -1110 {lab=vdd} |
| N 2330 -1110 2330 -1080 {lab=vdd} |
| N 2120 -1110 2330 -1110 {lab=vdd} |
| N 2120 -1110 2120 -1080 {lab=vdd} |
| N 2330 -340 2330 -310 {lab=#net3} |
| N 2120 -870 2120 -790 {lab=#net3} |
| N 2120 -790 2330 -790 {lab=#net3} |
| N 2400 -280 2580 -280 {lab=#net3} |
| N 2330 -340 2400 -340 {lab=#net3} |
| N 2400 -340 2400 -280 {lab=#net3} |
| N 2330 0 2620 0 {lab=GND} |
| N 2620 -250 2620 0 {lab=GND} |
| N 2330 -250 2330 0 {lab=GND} |
| N 2310 -280 2330 -280 {lab=GND} |
| N 2310 -280 2310 0 {lab=GND} |
| N 2620 -280 2640 -280 {lab=GND} |
| N 2640 -280 2640 0 {lab=GND} |
| N 2620 0 2640 0 {lab=GND} |
| N 2620 -900 2620 -310 {lab=cas} |
| N 1850 -1110 2120 -1110 {lab=vdd} |
| N 2330 -860 2330 -790 {lab=#net3} |
| N 2330 -790 2330 -340 {lab=#net3} |
| N 2370 -280 2400 -280 {lab=#net3} |
| N 2310 0 2330 0 {lab=GND} |
| N 1850 0 2310 0 {lab=GND} |
| N 310 -600 310 -470 {lab=ptat} |
| N 650 -1010 650 -600 {lab=ptat} |
| N 650 -1010 700 -1010 {lab=ptat} |
| N 1030 -500 1750 -500 {lab=ref} |
| N 200 -1110 440 -1110 {lab=vdd} |
| N 200 0 440 0 {lab=GND} |
| N 790 -280 850 -280 { lab=GND} |
| N 850 -280 850 0 { lab=GND} |
| N 970 -280 1030 -280 { lab=GND} |
| N 970 -280 970 0 { lab=GND} |
| N 790 0 850 0 {lab=GND} |
| N 850 0 970 0 {lab=GND} |
| N 1820 -870 1820 -580 { lab=#net4} |
| N 790 -860 790 -630 { lab=#net5} |
| N 790 -570 790 -490 { lab=#net1} |
| N 1030 -860 1030 -630 { lab=#net6} |
| N 470 -900 470 -590 { lab=#net7} |
| N 60 -1110 200 -1110 { lab=vdd} |
| N 200 -1110 200 -950 { lab=vdd} |
| N 200 -850 200 0 { lab=GND} |
| N 0 0 200 0 { lab=GND} |
| N 60 -900 110 -900 { lab=vdd} |
| N 60 -1110 60 -900 { lab=vdd} |
| N 440 -930 470 -930 { lab=vdd} |
| N 470 -1110 470 -960 { lab=vdd} |
| N 1820 -900 1850 -900 { lab=vdd} |
| N 1820 -1110 1820 -930 { lab=vdd} |
| N 1750 -1110 1820 -1110 { lab=vdd} |
| N 440 -1110 440 -930 {lab=vdd} |
| N 1850 -1110 1850 -900 {lab=vdd} |
| N 440 -1110 470 -1110 {lab=vdd} |
| N 0 -1110 60 -1110 { lab=vdd} |
| N 0 -590 0 0 { lab=GND} |
| N 0 -1110 0 -650 { lab=vdd} |
| N 540 -450 1030 -450 { lab=ref} |
| N 580 -600 650 -600 { lab=ptat} |
| N 580 -490 790 -490 { lab=#net1} |
| N 580 -600 580 -580 { lab=ptat} |
| N 580 -520 580 -490 { lab=#net1} |
| N 1650 -730 2040 -730 { lab=ac} |
| N 310 -600 580 -600 { lab=ptat} |
| N 540 -490 580 -490 { lab=#net1} |
| N 1310 -540 1750 -540 { lab=beta} |
| N 1310 -860 1310 -740 { lab=#net8} |
| N 1930 -520 2040 -520 { lab=ac} |
| N 1650 -1110 1650 -1070 { lab=vdd} |
| N 1680 -1070 1690 -1070 { lab=vdd} |
| N 1690 -1110 1690 -1070 { lab=vdd} |
| N 1610 -1070 1620 -1070 { lab=vdd} |
| N 1610 -1110 1610 -1070 { lab=vdd} |
| N 1650 -980 1650 -730 { lab=ac} |
| N 1090 0 1310 0 {lab=GND} |
| N 1610 -1110 1650 -1110 { lab=vdd} |
| N 1650 -1110 1690 -1110 { lab=vdd} |
| N 1310 -1110 1610 -1110 { lab=vdd} |
| N 1030 -500 1030 -450 {lab=ref} |
| N 1030 -570 1030 -500 { lab=ref} |
| N 2620 -1110 2620 -1040 {lab=vdd} |
| N 2660 -1010 2700 -1010 {lab=cas} |
| N 2700 -1010 2700 -930 {lab=cas} |
| N 2620 -980 2620 -950 {lab=#net9} |
| N 2600 -1010 2620 -1010 {lab=vdd} |
| N 2600 -1110 2600 -1010 {lab=vdd} |
| N 2600 -1110 2620 -1110 {lab=vdd} |
| N 2600 -1010 2600 -930 { lab=vdd} |
| N 2600 -930 2620 -930 { lab=vdd} |
| N 2660 -930 2700 -930 { lab=cas} |
| N 2700 -930 2700 -770 { lab=cas} |
| N 1310 -270 1310 -0 { lab=GND} |
| N 2330 -1110 2600 -1110 {lab=vdd} |
| N 1650 -1030 1650 -1010 { lab=ac} |
| N 1510 -830 1510 -810 { lab=GND} |
| N 1510 -910 1510 -890 { lab=#net10} |
| N 1610 -1010 1650 -1010 { lab=ac} |
| N 1510 -1010 1550 -1010 { lab=ctat} |
| N 1510 -1010 1510 -970 { lab=ctat} |
| N 2040 -730 2040 -520 { lab=ac} |
| N 2640 0 2700 -0 { lab=GND} |
| N 1310 -680 1310 -540 { lab=beta} |
| N 1310 -540 1400 -540 { lab=beta} |
| N 1690 -1110 1750 -1110 { lab=vdd} |
| N 1650 -1010 1650 -980 { lab=ac} |
| N 1310 0 1400 0 {lab=GND} |
| N 1400 -1010 1510 -1010 { lab=ctat} |
| N 1290 -1010 1310 -1010 {lab=vdd} |
| N 1290 -1110 1290 -1010 {lab=vdd} |
| N 1290 -1110 1310 -1110 {lab=vdd} |
| N 1310 -1110 1310 -1040 {lab=vdd} |
| N 1290 -900 1310 -900 {lab=vdd} |
| N 1290 -1010 1290 -900 {lab=vdd} |
| N 1310 -980 1310 -930 { lab=#net15} |
| N 1350 -1010 1400 -1010 { lab=ctat} |
| N 1310 -870 1310 -860 { lab=#net8} |
| N 1730 -980 1770 -980 { lab=ac} |
| N 1310 -540 1310 -330 { lab=beta} |
| N 2620 -770 2700 -770 { lab=cas} |
| N 1650 -980 1730 -980 { lab=ac} |
| N 1770 -980 1890 -980 { lab=ac} |
| N 1930 -980 1950 -980 { lab=vdd} |
| N 1950 -1110 1950 -980 { lab=vdd} |
| N 1930 -1110 1930 -1010 { lab=vdd} |
| N 1930 -920 1950 -920 {lab=vdd} |
| N 1930 -890 1930 -880 { lab=GND} |
| N 1950 -970 1950 -920 { lab=vdd} |
| N 1950 -980 1950 -970 { lab=vdd} |
| C {bandgap_opamp/bandgap_opamp.sym} 440 -470 0 1 {name=x1} |
| C {lab_wire.sym} 700 -1010 0 0 {name=l1 sig_type=std_logic lab=ptat} |
| C {lab_wire.sym} 940 -1010 0 0 {name=l2 sig_type=std_logic lab=ptat} |
| C {lab_wire.sym} 1400 -1010 0 1 {name=l3 sig_type=std_logic lab=ctat} |
| C {lab_wire.sym} 700 -930 0 0 {name=l4 sig_type=std_logic lab=cas} |
| C {lab_wire.sym} 940 -930 0 0 {name=l5 sig_type=std_logic lab=cas} |
| C {lab_wire.sym} 1350 -900 0 1 {name=l6 sig_type=std_logic lab=cas} |
| C {lab_wire.sym} 2030 -930 0 0 {name=l7 sig_type=std_logic lab=cas} |
| C {lab_wire.sym} 2240 -930 0 0 {name=l8 sig_type=std_logic lab=cas} |
| C {lab_wire.sym} 2030 -1010 0 0 {name=l9 sig_type=std_logic lab=ptat} |
| C {lab_wire.sym} 2240 -1010 0 0 {name=l10 sig_type=std_logic lab=ctat} |
| C {spice_probe.sym} 790 -490 0 0 {name=p6 analysis=tran voltage=0.7342} |
| C {spice_probe.sym} 1030 -450 0 0 {name=p7 analysis=tran voltage=0.7341} |
| C {spice_probe.sym} 1310 -540 0 0 {name=p8 analysis=tran voltage=0.7338} |
| C {spice_probe.sym} 1350 -900 0 0 {name=p12 analysis=tran voltage=0.4132} |
| C {ammeter.sym} 470 -560 0 0 {name=v2 current=7.5997e-06} |
| C {bandgap_cascurr_cell/bandgap_cascurr_cell.sym} 790 -970 0 0 {name=x5 m=8} |
| C {bandgap_cascurr_cell/bandgap_cascurr_cell.sym} 1030 -970 0 0 {name=x6 m=8} |
| C {bandgap_cascurr_cell/bandgap_cascurr_cell.sym} 2120 -970 0 0 {name=x10 m=2} |
| C {bandgap_cascurr_cell/bandgap_cascurr_cell.sym} 2330 -970 0 0 {name=x11 m=2} |
| C {sky130_fd_pr/pnp_05v5.sym} 770 -280 0 0 {name=Q1 |
| model="pnp_05v5_W3p40L3p40 m=8" |
| spiceprefix=X |
| } |
| C {sky130_fd_pr/pnp_05v5.sym} 1050 -280 0 1 {name=Q2 |
| m=1 |
| model=pnp_05v5_W3p40L3p40 |
| spiceprefix=X |
| } |
| C {ammeter.sym} 790 -600 0 0 {name=v3 current=7.9249e-06} |
| C {ammeter.sym} 1030 -600 0 0 {name=v5 current=7.9249e-06} |
| C {ammeter.sym} 1310 -710 0 0 {name=v6 current=2.3435e-05} |
| C {capa.sym} 580 -550 0 0 {name=C1 |
| m=1 |
| value=1m |
| footprint=1206 |
| device="ceramic capacitor"} |
| C {spice_probe.sym} 470 -770 0 1 {name=p11 analysis=tran voltage=0.8189} |
| C {spice_probe.sym} 1650 -730 0 0 {name=p9 analysis=tran voltage=0.884} |
| C {bandgap_bmr/bandgap_bmr.sym} 200 -900 0 0 {name=x8} |
| C {sky130_fd_pr/pfet_01v8_lvt.sym} 490 -930 0 1 {name=Mcurr |
| L=8 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=1 |
| model=pfet_01v8_lvt |
| spiceprefix=X |
| } |
| C {lab_wire.sym} 290 -900 0 1 {name=l12 sig_type=std_logic lab=bmr_biasv} |
| C {lab_wire.sym} 510 -930 0 1 {name=l13 sig_type=std_logic lab=bmr_biasv} |
| C {sky130_fd_pr/pfet_01v8_lvt.sym} 1800 -900 0 0 {name=Mcurr1 |
| L=8 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=1 |
| model=pfet_01v8_lvt |
| spiceprefix=X |
| } |
| C {lab_wire.sym} 1780 -900 0 0 {name=l14 sig_type=std_logic lab=bmr_biasv} |
| C {vsource.sym} 0 -620 0 0 {name=Vdd value=\{vdd\}} |
| C {gnd.sym} 0 0 0 0 {name=l15 lab=GND} |
| C {code.sym} 2530 -1340 0 0 {name=simulation only_toplevel=false value=" |
| .temp 127 |
| |
| .lib "sky130_fd_pr/models/sky130.lib.spice" fs |
| .include sky130_fd_pr/models/sky130_fd_pr__model__pnp.model.spice |
| |
| .param vdd=1.8 |
| |
| .save all |
| |
| .ac dec 10 1 1G |
| |
| *.control |
| * run |
| * setplot ac1 |
| * set units=degrees |
| * gnuplot bandgap_core_stability2 db(ac) ph(ac) db(beta) |
| * *gnuplot bandgap_core_stability2 db(beta) ph(beta) |
| *.endc |
| "} |
| C {res.sym} 1580 -1010 1 0 {name=R3 |
| value="1u ac=1G" |
| device=resistor |
| m=1 |
| ac=1G} |
| C {res.sym} 1510 -940 2 0 {name=R4 |
| value="1G ac=1u" |
| device=resistor |
| m=1 |
| ac=1u} |
| C {vsource.sym} 1510 -860 0 0 {name=Vin value="dc=0 ac=1"} |
| C {lab_wire.sym} 1700 -730 0 1 {name=l16 sig_type=std_logic lab=ac} |
| C {bandgap_opamp/bandgap_opamp.sym} 1850 -520 0 0 {name=x2} |
| C {sky130_fd_pr/pfet_01v8_lvt.sym} 1650 -1050 3 0 {name=Mcurr2 |
| L=8 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=71 |
| model=pfet_01v8_lvt |
| spiceprefix=X |
| } |
| C {sky130_fd_pr/pfet_01v8.sym} 2640 -1010 0 1 {name=Mtri_bias_cas |
| L=8 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=6 |
| model=pfet_01v8 |
| spiceprefix=X |
| } |
| C {sky130_fd_pr/pfet_01v8.sym} 2640 -930 0 1 {name=Mcas_bias |
| L=0.35 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=4 |
| model=pfet_01v8 |
| spiceprefix=X |
| } |
| C {lab_wire.sym} 2700 -1010 0 1 {name=l11 sig_type=std_logic lab=cas} |
| C {res.sym} 790 -390 0 0 {name=R2 |
| value=12.03k |
| footprint=1206 |
| device=resistor |
| m=1} |
| C {res.sym} 1310 -300 0 0 {name=R5 |
| value=25.8k |
| footprint=1206 |
| device=resistor |
| m=1} |
| C {sky130_fd_pr/nfet_01v8_lvt.sym} 2350 -280 0 1 {name=Mcurr_cas_nmirror1 |
| L=8 |
| W=7 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=4 |
| model=nfet_01v8_lvt |
| spiceprefix=X |
| } |
| C {sky130_fd_pr/nfet_01v8_lvt.sym} 2600 -280 0 0 {name=Mcurr_cas_nmirror2 |
| L=8 |
| W=7 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=4 |
| model=nfet_01v8_lvt |
| spiceprefix=X |
| } |
| C {lab_wire.sym} 1140 -500 0 1 {name=l18 sig_type=std_logic lab=ref} |
| C {gnd.sym} 1510 -810 0 0 {name=l17 lab=GND} |
| C {lab_wire.sym} 1590 -540 0 1 {name=l19 sig_type=std_logic lab=beta} |
| C {sky130_fd_pr/pfet_01v8.sym} 1330 -1010 0 1 {name=Mcurr3 |
| L=8 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=32 |
| model=pfet_01v8 |
| spiceprefix=X |
| } |
| C {sky130_fd_pr/pfet_01v8_lvt.sym} 1330 -900 0 1 {name=Mcas |
| L=0.35 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=32 |
| model=pfet_01v8_lvt |
| spiceprefix=X |
| } |
| C {lab_wire.sym} 0 -1110 0 1 {name=l20 sig_type=std_logic lab=vdd} |
| C {lab_wire.sym} 470 -410 2 0 {name=l21 sig_type=std_logic lab=vdd} |
| C {lab_wire.sym} 1820 -460 2 1 {name=l22 sig_type=std_logic lab=vdd} |
| C {code.sym} 2680 -1340 0 0 {name=STDCELL_MODELS |
| only_toplevel=true |
| place=end |
| format=tcleval(@value\\) |
| value="[sky130_models]" |
| } |
| C {sky130_fd_pr/pfet_01v8.sym} 1910 -980 0 0 {name=Mcurr4 |
| L=8 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=32 |
| model=pfet_01v8 |
| spiceprefix=X |
| } |
| C {lab_wire.sym} 1890 -920 0 0 {name=l23 sig_type=std_logic lab=cas} |
| C {sky130_fd_pr/pfet_01v8_lvt.sym} 1910 -920 0 0 {name=Mcas1 |
| L=0.35 |
| W=5 |
| ad="'W * 0.29'" pd="'2 * (W + 0.29)'" |
| as="'W * 0.29'" ps="'2 * (W + 0.29)'" |
| nrd="'0.29 / W'" nrs="'0.29 / W'" |
| sa=0 sb=0 sd=0 |
| nf=1 mult=32 |
| model=pfet_01v8_lvt |
| spiceprefix=X |
| } |
| C {gnd.sym} 1930 -880 0 0 {name=l24 lab=GND} |