Update Install_pdk. New order in xschem files
diff --git a/install_pdk.sh b/install_pdk.sh index cec9ca0..e59e6ab 100755 --- a/install_pdk.sh +++ b/install_pdk.sh
@@ -92,7 +92,7 @@ git clone git://opencircuitdesign.com/open_pdks cd open_pdks git checkout open_pdks-1.0 -mkdir -p /home/skywater/pdk/skywater130 +mkdir -p $HOME/skywater/pdk/skywater130 ./configure --with-sky130-source=/home/skywater/skywater-pdk --with-sky130-local-path=/home/skywater/pdk/skywater130 --with-ef-style cd sky130 make
diff --git a/xschem/netlist/bsim4v5.out b/xschem/opamp_diego/netlist/bsim4v5.out similarity index 100% rename from xschem/netlist/bsim4v5.out rename to xschem/opamp_diego/netlist/bsim4v5.out
diff --git a/xschem/netlist/opamp.spice b/xschem/opamp_diego/netlist/opamp.spice similarity index 100% rename from xschem/netlist/opamp.spice rename to xschem/opamp_diego/netlist/opamp.spice
diff --git a/xschem/netlist/opamp_closeloop.spice b/xschem/opamp_diego/netlist/opamp_closeloop.spice similarity index 91% rename from xschem/netlist/opamp_closeloop.spice rename to xschem/opamp_diego/netlist/opamp_closeloop.spice index 9e39f56..6ae96df 100644 --- a/xschem/netlist/opamp_closeloop.spice +++ b/xschem/opamp_diego/netlist/opamp_closeloop.spice
@@ -24,7 +24,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @M.X1.XM1.msky130_fd_pr__pfet_01v8[id] @M.X1.XM1.msky130_fd_pr__pfet_01v8[vth] @@ -60,13 +60,13 @@ *print PM*180/PI *meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) {vp(vout)*180/PI} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_ac1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_closeloop_ac1.raw reset tran 0.01u 11u setplot tran1 plot v(vsen) v(vout) - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_tran1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_closeloop_tran1.raw reset noise v(vout) V4 dec 100 1k 10G 1 @@ -78,13 +78,13 @@ *plot inoise_total onoise_total print inoise_total print onoise_total - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_noise.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_closeloop_noise.raw reset op setplot op1 print vout - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_op1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_closeloop_op1.raw .endc @@ -119,7 +119,7 @@ + ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=15 m=15 XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=0.75 L=0.15 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 m=6 -XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=15 L=17.55 MF=6 m=6 +XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=17.55 L=15 MF=6 m=6 XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=4.5 L=0.45 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=150 m=150 .ends
diff --git a/xschem/netlist/opamp_closeloop_rpad.spice b/xschem/opamp_diego/netlist/opamp_closeloop_rpad.spice similarity index 91% rename from xschem/netlist/opamp_closeloop_rpad.spice rename to xschem/opamp_diego/netlist/opamp_closeloop_rpad.spice index d3a3261..591eac3 100644 --- a/xschem/netlist/opamp_closeloop_rpad.spice +++ b/xschem/opamp_diego/netlist/opamp_closeloop_rpad.spice
@@ -26,7 +26,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @M.X1.XM1.msky130_fd_pr__pfet_01v8[id] @M.X1.XM1.msky130_fd_pr__pfet_01v8[vth] @@ -62,13 +62,13 @@ *print PM*180/PI *meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) {vp(vout)*180/PI} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_closeloop_rpad_ac1.raw reset tran 0.01u 11u setplot tran1 plot v(vsen) v(vout) - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_tran1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_closeloop_rpad_tran1.raw reset noise v(vout) V4 dec 100 1k 10G 1 @@ -80,13 +80,13 @@ *plot inoise_total onoise_total print inoise_total print onoise_total - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_noise.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_closeloop_rpad_noise.raw reset op setplot op1 print vout - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_closeloop_rapd_op1.raw .endc @@ -121,7 +121,7 @@ + ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=15 m=15 XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=0.75 L=0.15 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 m=6 -XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=15 L=17.55 MF=6 m=6 +XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=17.55 L=15 MF=6 m=6 XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=4.5 L=0.45 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=150 m=150 .ends
diff --git a/xschem/netlist/opamp_openloop.spice b/xschem/opamp_diego/netlist/opamp_openloop.spice similarity index 92% rename from xschem/netlist/opamp_openloop.spice rename to xschem/opamp_diego/netlist/opamp_openloop.spice index 1b2a719..93bdcd0 100644 --- a/xschem/netlist/opamp_openloop.spice +++ b/xschem/opamp_diego/netlist/opamp_openloop.spice
@@ -25,9 +25,7 @@ .options TEMP = 65.0 * Include Models -*.lib /home/dhernando/projects/foundry/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS -*.lib ~/fulgor-opamp-sky130/xschem/sky130.lib TT -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib fs +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib fs * OP Parameters & Singals to save .save all @M.X1.XM1.msky130_fd_pr__pfet_01v8[id] @M.X1.XM1.msky130_fd_pr__pfet_01v8[vth] @@ -64,12 +62,12 @@ print PM*180/PI meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) {vp(vout)*180/PI} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_ac1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_openloop_ac1.raw reset op setplot op1 - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_op1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_openloop_op1.raw .endc
diff --git a/xschem/netlist/opamp_openloop_rpad.spice b/xschem/opamp_diego/netlist/opamp_openloop_rpad.spice similarity index 93% rename from xschem/netlist/opamp_openloop_rpad.spice rename to xschem/opamp_diego/netlist/opamp_openloop_rpad.spice index cc50390..c012baa 100644 --- a/xschem/netlist/opamp_openloop_rpad.spice +++ b/xschem/opamp_diego/netlist/opamp_openloop_rpad.spice
@@ -29,7 +29,7 @@ * Include Models *.lib /home/dhernando/projects/foundry/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS *.lib ~/fulgor-opamp-sky130/xschem/sky130.lib TT -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @M.X1.XM1.msky130_fd_pr__pfet_01v8[id] @M.X1.XM1.msky130_fd_pr__pfet_01v8[vth] @@ -66,12 +66,12 @@ print PM*180/PI meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) {vp(vout)*180/PI} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_openloop_rpad_ac1.raw reset op setplot op1 - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_openloop_rpad_op1.raw .endc @@ -99,14 +99,14 @@ XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=60 m=60 ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=30 m=30 XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=150 m=150 XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=15 m=15 XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=0.75 L=0.15 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=12 m=12 -XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=20 L=20 MF=6 m=6 ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=6 m=6 +XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=17.55 L=15 MF=6 m=6 XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=4.5 L=0.45 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=150 m=150 .ends
diff --git a/xschem/sch/opamp.sch b/xschem/opamp_diego/sch/opamp.sch similarity index 100% rename from xschem/sch/opamp.sch rename to xschem/opamp_diego/sch/opamp.sch
diff --git a/xschem/opampjulia/sch/opamp.sym b/xschem/opamp_diego/sch/opamp.sym similarity index 100% copy from xschem/opampjulia/sch/opamp.sym copy to xschem/opamp_diego/sch/opamp.sym
diff --git a/xschem/sch/opamp_closeloop.sch b/xschem/opamp_diego/sch/opamp_closeloop.sch similarity index 93% rename from xschem/sch/opamp_closeloop.sch rename to xschem/opamp_diego/sch/opamp_closeloop.sch index 6605bab..4714fb4 100644 --- a/xschem/sch/opamp_closeloop.sch +++ b/xschem/opamp_diego/sch/opamp_closeloop.sch
@@ -82,7 +82,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @@ -106,13 +106,13 @@ *print PM*180/PI *meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) \{vp(vout)*180/PI\} - write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_closeloop_ac1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_closeloop_ac1.raw reset tran 0.01u 11u setplot tran1 plot v(vsen) v(vout) - write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_closeloop_tran1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_closeloop_tran1.raw reset noise v(vout) V4 dec 100 1k 10G 1 @@ -124,13 +124,13 @@ *plot inoise_total onoise_total print inoise_total print onoise_total - write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_closeloop_noise.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_closeloop_noise.raw reset op setplot op1 print vout - write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_closeloop_op1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_closeloop_op1.raw .endc
diff --git a/xschem/sch/opamp_closeloop_rpad.sch b/xschem/opamp_diego/sch/opamp_closeloop_rpad.sch similarity index 93% rename from xschem/sch/opamp_closeloop_rpad.sch rename to xschem/opamp_diego/sch/opamp_closeloop_rpad.sch index f42c385..8d155e1 100644 --- a/xschem/sch/opamp_closeloop_rpad.sch +++ b/xschem/opamp_diego/sch/opamp_closeloop_rpad.sch
@@ -85,7 +85,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @@ -109,13 +109,13 @@ *print PM*180/PI *meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) \{vp(vout)*180/PI\} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_closeloop_rpad_ac1.raw reset tran 0.01u 11u setplot tran1 plot v(vsen) v(vout) - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_tran1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_closeloop_rpad_tran1.raw reset noise v(vout) V4 dec 100 1k 10G 1 @@ -127,13 +127,13 @@ *plot inoise_total onoise_total print inoise_total print onoise_total - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_noise.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_closeloop_rpad_noise.raw reset op setplot op1 print vout - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_closeloop_rapd_op1.raw .endc
diff --git a/xschem/sch/opamp_openloop.sch b/xschem/opamp_diego/sch/opamp_openloop.sch similarity index 95% rename from xschem/sch/opamp_openloop.sch rename to xschem/opamp_diego/sch/opamp_openloop.sch index f478e1c..fae93db 100644 --- a/xschem/sch/opamp_openloop.sch +++ b/xschem/opamp_diego/sch/opamp_openloop.sch
@@ -94,7 +94,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib fs +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib fs * OP Parameters & Singals to save .save all @@ -119,12 +119,12 @@ print PM*180/PI meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) \{vp(vout)*180/PI\} - write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_openloop_ac1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_openloop_ac1.raw reset op setplot op1 - write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_openloop_op1.raw + write ~/caravel_fulgor_opamp/xschem/opamp_diego/sim_results/opamp_openloop_op1.raw .endc
diff --git a/xschem/sch/opamp_openloop_rpad.sch b/xschem/opamp_diego/sch/opamp_openloop_rpad.sch similarity index 95% rename from xschem/sch/opamp_openloop_rpad.sch rename to xschem/opamp_diego/sch/opamp_openloop_rpad.sch index f687bb0..e1e5bbc 100644 --- a/xschem/sch/opamp_openloop_rpad.sch +++ b/xschem/opamp_diego/sch/opamp_openloop_rpad.sch
@@ -98,7 +98,7 @@ * Include Models *.lib /home/dhernando/projects/foundry/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS *.lib ~/fulgor-opamp-sky130/xschem/sky130.lib TT -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @@ -123,12 +123,12 @@ print PM*180/PI meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) \{vp(vout)*180/PI\} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_openloop_rpad_ac1.raw reset op setplot op1 - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_diego/sim_results/opamp_openloop_rpad_op1.raw .endc
diff --git a/xschem/opamp_diego/sim_results/opamp_closeloop_ac1.raw b/xschem/opamp_diego/sim_results/opamp_closeloop_ac1.raw new file mode 100644 index 0000000..d008950 --- /dev/null +++ b/xschem/opamp_diego/sim_results/opamp_closeloop_ac1.raw Binary files differ
diff --git a/xschem/sim_results/opamp_closeloop_noise.raw b/xschem/opamp_diego/sim_results/opamp_closeloop_noise.raw similarity index 87% rename from xschem/sim_results/opamp_closeloop_noise.raw rename to xschem/opamp_diego/sim_results/opamp_closeloop_noise.raw index a9d997e..012433b 100644 --- a/xschem/sim_results/opamp_closeloop_noise.raw +++ b/xschem/opamp_diego/sim_results/opamp_closeloop_noise.raw Binary files differ
diff --git a/xschem/sim_results/opamp_closeloop_op1.raw b/xschem/opamp_diego/sim_results/opamp_closeloop_op1.raw similarity index 85% rename from xschem/sim_results/opamp_closeloop_op1.raw rename to xschem/opamp_diego/sim_results/opamp_closeloop_op1.raw index 4bc9fbd..959268f 100644 --- a/xschem/sim_results/opamp_closeloop_op1.raw +++ b/xschem/opamp_diego/sim_results/opamp_closeloop_op1.raw Binary files differ
diff --git a/xschem/opamp_diego/sim_results/opamp_closeloop_tran1.raw b/xschem/opamp_diego/sim_results/opamp_closeloop_tran1.raw new file mode 100644 index 0000000..0000f6c --- /dev/null +++ b/xschem/opamp_diego/sim_results/opamp_closeloop_tran1.raw Binary files differ
diff --git a/xschem/sim_results/opamp_openloop_ac1.raw b/xschem/opamp_diego/sim_results/opamp_openloop_ac1.raw similarity index 99% rename from xschem/sim_results/opamp_openloop_ac1.raw rename to xschem/opamp_diego/sim_results/opamp_openloop_ac1.raw index 495da28..3098358 100644 --- a/xschem/sim_results/opamp_openloop_ac1.raw +++ b/xschem/opamp_diego/sim_results/opamp_openloop_ac1.raw Binary files differ
diff --git a/xschem/sim_results/opamp_openloop_op1.raw b/xschem/opamp_diego/sim_results/opamp_openloop_op1.raw similarity index 99% rename from xschem/sim_results/opamp_openloop_op1.raw rename to xschem/opamp_diego/sim_results/opamp_openloop_op1.raw index bc42c73..56a492a 100644 --- a/xschem/sim_results/opamp_openloop_op1.raw +++ b/xschem/opamp_diego/sim_results/opamp_openloop_op1.raw Binary files differ
diff --git a/xschem/netlist/opamp_closeloop.spice b/xschem/opamp_julia/netlist/OpampJulia_CloseLoop.spice similarity index 76% copy from xschem/netlist/opamp_closeloop.spice copy to xschem/opamp_julia/netlist/OpampJulia_CloseLoop.spice index 9e39f56..f7218d8 100644 --- a/xschem/netlist/opamp_closeloop.spice +++ b/xschem/opamp_julia/netlist/OpampJulia_CloseLoop.spice
@@ -1,4 +1,4 @@ -**.subckt opamp_closeloop +**.subckt OpampJulia_CloseLoop V1 vss GND DC{vss} V2 vdd vss DC{vdd} V4 vsen vcm sin(0 {vac} 1Meg) dc 0 ac 1 @@ -24,7 +24,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @M.X1.XM1.msky130_fd_pr__pfet_01v8[id] @M.X1.XM1.msky130_fd_pr__pfet_01v8[vth] @@ -60,13 +60,13 @@ *print PM*180/PI *meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) {vp(vout)*180/PI} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_ac1.raw reset tran 0.01u 11u setplot tran1 plot v(vsen) v(vout) - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_tran1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_tran1.raw reset noise v(vout) V4 dec 100 1k 10G 1 @@ -78,13 +78,13 @@ *plot inoise_total onoise_total print inoise_total print onoise_total - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_noise.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_noise.raw reset op setplot op1 print vout - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_op1.raw .endc @@ -103,25 +103,25 @@ *.ipin vin_p *.ipin iref *.opin vout -XM1 vbn vin_n vp vp sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=200 m=200 -XM2 voe1 vin_p vp vp sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=200 m=200 -XM3 vbn vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 -XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 -XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=30 m=30 -XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=150 m=150 -XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=15 m=15 -XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=0.75 L=0.15 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 m=6 -XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=15 L=17.55 MF=6 m=6 -XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=4.5 L=0.45 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=150 m=150 +XM1 vbn vin_n vp vp sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM2 voe1 vin_p vp vp sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM3 vbn vbn vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=20 m=20 +XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=20 m=20 +XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=20 m=20 +XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=18 m=18 +XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=1 L=0.6 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=24 m=24 +XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=17.55 L=15 MF=6 m=6 +XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=120 m=120 .ends .GLOBAL GND
diff --git a/xschem/netlist/opamp_closeloop_rpad.spice b/xschem/opamp_julia/netlist/OpampJulia_CloseLoop_rpad.spice similarity index 77% copy from xschem/netlist/opamp_closeloop_rpad.spice copy to xschem/opamp_julia/netlist/OpampJulia_CloseLoop_rpad.spice index d3a3261..801307a 100644 --- a/xschem/netlist/opamp_closeloop_rpad.spice +++ b/xschem/opamp_julia/netlist/OpampJulia_CloseLoop_rpad.spice
@@ -1,4 +1,4 @@ -**.subckt opamp_closeloop_rpad +**.subckt OpampJulia_CloseLoop_rpad V1 vss GND DC{vss} V2 vdd vss DC{vdd} V4 vsen vcm sin(0 {vac} 1Meg) dc 0 ac 1 @@ -26,7 +26,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @M.X1.XM1.msky130_fd_pr__pfet_01v8[id] @M.X1.XM1.msky130_fd_pr__pfet_01v8[vth] @@ -62,13 +62,13 @@ *print PM*180/PI *meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) {vp(vout)*180/PI} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_ac1.raw reset tran 0.01u 11u setplot tran1 plot v(vsen) v(vout) - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_tran1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_tran1.raw reset noise v(vout) V4 dec 100 1k 10G 1 @@ -80,13 +80,13 @@ *plot inoise_total onoise_total print inoise_total print onoise_total - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_noise.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_noise.raw reset op setplot op1 print vout - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_op1.raw .endc @@ -105,25 +105,25 @@ *.ipin vin_p *.ipin iref *.opin vout -XM1 vbn vin_n vp vp sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=200 m=200 -XM2 voe1 vin_p vp vp sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=200 m=200 -XM3 vbn vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 -XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 -XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=30 m=30 -XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=150 m=150 -XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=15 m=15 -XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=0.75 L=0.15 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 m=6 -XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=15 L=17.55 MF=6 m=6 -XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=4.5 L=0.45 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=150 m=150 +XM1 vbn vin_n vp vp sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM2 voe1 vin_p vp vp sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM3 vbn vbn vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=20 m=20 +XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=20 m=20 +XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=20 m=20 +XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=18 m=18 +XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=1 L=0.6 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=24 m=24 +XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=17.55 L=15 MF=6 m=6 +XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=120 m=120 .ends .GLOBAL GND
diff --git a/xschem/netlist/opamp_openloop.spice b/xschem/opamp_julia/netlist/OpampJulia_OpenLoop.spice similarity index 79% copy from xschem/netlist/opamp_openloop.spice copy to xschem/opamp_julia/netlist/OpampJulia_OpenLoop.spice index 1b2a719..71460ed 100644 --- a/xschem/netlist/opamp_openloop.spice +++ b/xschem/opamp_julia/netlist/OpampJulia_OpenLoop.spice
@@ -1,4 +1,4 @@ -**.subckt opamp_openloop +**.subckt OpampJulia_OpenLoop V1 vss GND DC{vss} V2 vdd vss DC{vdd} V3 vcm vss DC{vcm} @@ -27,7 +27,7 @@ * Include Models *.lib /home/dhernando/projects/foundry/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS *.lib ~/fulgor-opamp-sky130/xschem/sky130.lib TT -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib fs +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib fs * OP Parameters & Singals to save .save all @M.X1.XM1.msky130_fd_pr__pfet_01v8[id] @M.X1.XM1.msky130_fd_pr__pfet_01v8[vth] @@ -64,12 +64,12 @@ print PM*180/PI meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) {vp(vout)*180/PI} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_openloop_ac1.raw reset op setplot op1 - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_openloop_op1.raw .endc @@ -88,25 +88,25 @@ *.ipin vin_p *.ipin iref *.opin vout -XM1 vbn vin_n vp vp sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=200 m=200 -XM2 voe1 vin_p vp vp sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=200 m=200 -XM3 vbn vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 -XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 -XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=30 m=30 -XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=150 m=150 -XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=15 m=15 -XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=0.75 L=0.15 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 m=6 +XM1 vbn vin_n vp vp sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM2 voe1 vin_p vp vp sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM3 vbn vbn vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=20 m=20 +XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=20 m=20 +XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=20 m=20 +XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=18 m=18 +XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=1 L=0.6 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=24 m=24 XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=17.55 L=15 MF=6 m=6 -XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=4.5 L=0.45 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=150 m=150 +XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=120 m=120 .ends .GLOBAL GND
diff --git a/xschem/netlist/opamp_openloop_rpad.spice b/xschem/opamp_julia/netlist/OpampJulia_OpenLoop_rpad.spice similarity index 74% copy from xschem/netlist/opamp_openloop_rpad.spice copy to xschem/opamp_julia/netlist/OpampJulia_OpenLoop_rpad.spice index cc50390..02f1e46 100644 --- a/xschem/netlist/opamp_openloop_rpad.spice +++ b/xschem/opamp_julia/netlist/OpampJulia_OpenLoop_rpad.spice
@@ -1,4 +1,4 @@ -**.subckt opamp_openloop_rpad +**.subckt OpampJulia_OpenLoop_rpad V1 vss GND DC{vss} V2 vdd vss DC{vdd} V3 vcm vss DC{vcm} @@ -27,9 +27,11 @@ .options TEMP = 65.0 * Include Models -*.lib /home/dhernando/projects/foundry/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS +*.lib /home/jalvarez/skywater-pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS *.lib ~/fulgor-opamp-sky130/xschem/sky130.lib TT -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +*.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib /home/jalvarez/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners +.include /home/jalvarez/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/tt.spice * OP Parameters & Singals to save .save all @M.X1.XM1.msky130_fd_pr__pfet_01v8[id] @M.X1.XM1.msky130_fd_pr__pfet_01v8[vth] @@ -66,12 +68,12 @@ print PM*180/PI meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) {vp(vout)*180/PI} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results_julia/opamp_openloop_ac1.raw reset op setplot op1 - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results_julia/opamp_openloop_op1.raw .endc @@ -90,25 +92,25 @@ *.ipin vin_p *.ipin iref *.opin vout -XM1 vbn vin_n vp vp sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=200 m=200 -XM2 voe1 vin_p vp vp sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=200 m=200 -XM3 vbn vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 -XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=3 L=0.3 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=30 m=30 -XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=60 m=60 -XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=150 m=150 -XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=3 L=0.3 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=15 m=15 -XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=0.75 L=0.15 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=12 m=12 -XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=20 L=20 MF=6 m=6 -XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=4.5 L=0.45 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=150 m=150 +XM1 vbn vin_n vp vp sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM2 voe1 vin_p vp vp sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM3 vbn vbn vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=20 m=20 +XM4 voe1 vbn vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=20 m=20 +XM5 vp iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=20 m=20 +XM7 vout iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=180 m=180 +XM8 iref iref vdd vdd sky130_fd_pr__pfet_01v8 W=6 L=0.6 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=18 m=18 +XM9 net1 vdd voe1 vss sky130_fd_pr__nfet_01v8 W=1 L=0.6 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=24 m=24 +XC1 net1 vout sky130_fd_pr__cap_mim_m3_1 W=17.55 L=15 MF=6 m=6 +XM6 vout voe1 vss vss sky130_fd_pr__nfet_01v8 W=6 L=0.6 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=120 m=120 .ends .GLOBAL GND
diff --git a/xschem/opamp_julia/netlist/bsim4v5.out b/xschem/opamp_julia/netlist/bsim4v5.out new file mode 100644 index 0000000..b643676 --- /dev/null +++ b/xschem/opamp_julia/netlist/bsim4v5.out
@@ -0,0 +1,5 @@ +BSIM4v5: Berkeley Short Channel IGFET Model-4 +Developed by Xuemei (Jane) Xi, Mohan Dunga, Prof. Ali Niknejad and Prof. Chenming Hu in 2003. + +++++++++++ BSIM4v5 PARAMETER CHECKING BELOW ++++++++++ +Model = x1.xm1:sky130_fd_pr__pfet_01v8__model.14
diff --git a/xschem/opampjulia/opamp.spice b/xschem/opamp_julia/netlist/opamp.spice similarity index 100% rename from xschem/opampjulia/opamp.spice rename to xschem/opamp_julia/netlist/opamp.spice
diff --git a/xschem/opampjulia/sch/OpampJulia_CloseLoop.sch b/xschem/opamp_julia/sch/OpampJulia_CloseLoop.sch similarity index 93% rename from xschem/opampjulia/sch/OpampJulia_CloseLoop.sch rename to xschem/opamp_julia/sch/OpampJulia_CloseLoop.sch index 3ffd5d5..f668b80 100644 --- a/xschem/opampjulia/sch/OpampJulia_CloseLoop.sch +++ b/xschem/opamp_julia/sch/OpampJulia_CloseLoop.sch
@@ -82,7 +82,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @@ -106,13 +106,13 @@ *print PM*180/PI *meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) \{vp(vout)*180/PI\} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_ac1.raw reset tran 0.01u 11u setplot tran1 plot v(vsen) v(vout) - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_tran1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_tran1.raw reset noise v(vout) V4 dec 100 1k 10G 1 @@ -124,13 +124,13 @@ *plot inoise_total onoise_total print inoise_total print onoise_total - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_noise.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_noise.raw reset op setplot op1 print vout - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_op1.raw .endc
diff --git a/xschem/opampjulia/sch/OpampJulia_CloseLoop_rpad.sch b/xschem/opamp_julia/sch/OpampJulia_CloseLoop_rpad.sch similarity index 93% rename from xschem/opampjulia/sch/OpampJulia_CloseLoop_rpad.sch rename to xschem/opamp_julia/sch/OpampJulia_CloseLoop_rpad.sch index 4f4a142..2f93ad5 100644 --- a/xschem/opampjulia/sch/OpampJulia_CloseLoop_rpad.sch +++ b/xschem/opamp_julia/sch/OpampJulia_CloseLoop_rpad.sch
@@ -85,7 +85,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @@ -109,13 +109,13 @@ *print PM*180/PI *meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) \{vp(vout)*180/PI\} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_ac1.raw reset tran 0.01u 11u setplot tran1 plot v(vsen) v(vout) - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_tran1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_tran1.raw reset noise v(vout) V4 dec 100 1k 10G 1 @@ -127,13 +127,13 @@ *plot inoise_total onoise_total print inoise_total print onoise_total - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_noise.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_noise.raw reset op setplot op1 print vout - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_closeloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_closeloop_op1.raw .endc
diff --git a/xschem/opampjulia/sch/OpampJulia_OpenLoop.sch b/xschem/opamp_julia/sch/OpampJulia_OpenLoop.sch similarity index 95% rename from xschem/opampjulia/sch/OpampJulia_OpenLoop.sch rename to xschem/opamp_julia/sch/OpampJulia_OpenLoop.sch index c1cb380..dd99e64 100644 --- a/xschem/opampjulia/sch/OpampJulia_OpenLoop.sch +++ b/xschem/opamp_julia/sch/OpampJulia_OpenLoop.sch
@@ -96,7 +96,7 @@ * Include Models *.lib /home/dhernando/projects/foundry/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS *.lib ~/fulgor-opamp-sky130/xschem/sky130.lib TT -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib fs +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib fs * OP Parameters & Singals to save .save all @@ -121,12 +121,12 @@ print PM*180/PI meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) \{vp(vout)*180/PI\} - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_openloop_ac1.raw reset op setplot op1 - write ~/fulgor-opamp-sky130/xschem/sim_results/opamp_openloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results/opamp_openloop_op1.raw .endc
diff --git a/xschem/opampjulia/sch/OpampJulia_OpenLoop_rpad.sch b/xschem/opamp_julia/sch/OpampJulia_OpenLoop_rpad.sch similarity index 97% rename from xschem/opampjulia/sch/OpampJulia_OpenLoop_rpad.sch rename to xschem/opamp_julia/sch/OpampJulia_OpenLoop_rpad.sch index bc8534f..b095a08 100644 --- a/xschem/opampjulia/sch/OpampJulia_OpenLoop_rpad.sch +++ b/xschem/opamp_julia/sch/OpampJulia_OpenLoop_rpad.sch
@@ -125,12 +125,12 @@ print PM*180/PI meas ac GM find vdb(vout) when vp(vout)=0 plot vdb(vout) \{vp(vout)*180/PI\} - write ~/fulgor-opamp-sky130/xschem/sim_results_julia/opamp_openloop_ac1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results_julia/opamp_openloop_ac1.raw reset op setplot op1 - write ~/fulgor-opamp-sky130/xschem/sim_results_julia/opamp_openloop_op1.raw + *write ~/fulgor-opamp-sky130/xschem/opamp_julia/sim_results_julia/opamp_openloop_op1.raw .endc
diff --git a/xschem/opampjulia/sch/opamp.sch b/xschem/opamp_julia/sch/opamp.sch similarity index 100% rename from xschem/opampjulia/sch/opamp.sch rename to xschem/opamp_julia/sch/opamp.sch
diff --git a/xschem/opampjulia/sch/opamp.sym b/xschem/opamp_julia/sch/opamp.sym similarity index 100% rename from xschem/opampjulia/sch/opamp.sym rename to xschem/opamp_julia/sch/opamp.sym
diff --git a/xschem/opampjulia/sim_results_julia/opamp_closeloop_ac1.raw b/xschem/opamp_julia/sim_results/opamp_closeloop_ac1.raw similarity index 100% rename from xschem/opampjulia/sim_results_julia/opamp_closeloop_ac1.raw rename to xschem/opamp_julia/sim_results/opamp_closeloop_ac1.raw Binary files differ
diff --git a/xschem/opampjulia/sim_results_julia/opamp_closeloop_noise.raw b/xschem/opamp_julia/sim_results/opamp_closeloop_noise.raw similarity index 100% rename from xschem/opampjulia/sim_results_julia/opamp_closeloop_noise.raw rename to xschem/opamp_julia/sim_results/opamp_closeloop_noise.raw Binary files differ
diff --git a/xschem/opampjulia/sim_results_julia/opamp_closeloop_op1.raw b/xschem/opamp_julia/sim_results/opamp_closeloop_op1.raw similarity index 100% rename from xschem/opampjulia/sim_results_julia/opamp_closeloop_op1.raw rename to xschem/opamp_julia/sim_results/opamp_closeloop_op1.raw Binary files differ
diff --git a/xschem/opampjulia/sim_results_julia/opamp_closeloop_tran1.raw b/xschem/opamp_julia/sim_results/opamp_closeloop_tran1.raw similarity index 100% rename from xschem/opampjulia/sim_results_julia/opamp_closeloop_tran1.raw rename to xschem/opamp_julia/sim_results/opamp_closeloop_tran1.raw Binary files differ
diff --git a/xschem/opampjulia/sch/opamp_Diego.sch b/xschem/opampjulia/sch/opamp_Diego.sch deleted file mode 100644 index d7413ac..0000000 --- a/xschem/opampjulia/sch/opamp_Diego.sch +++ /dev/null
@@ -1,193 +0,0 @@ -v { version=2.9.8 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 1290 -35 1290 40 { lab=vss} -N 1570 -35 1570 40 { lab=vss} -N 1290 40 1357.5 40 { lab=vss} -N 1357.5 40 1570 40 { lab=vss} -N 1370 -135 1370 -65 { lab=vbn} -N 1210 -65 1290 -65 { lab=vss} -N 1210 -65 1210 40 { lab=vss} -N 1210 40 1290 40 { lab=vss} -N 1570 -65 1637.5 -65 { lab=vss} -N 1637.5 -65 1637.5 40 { lab=vss} -N 1570 -240 1570 -95 { lab=voe1} -N 1290 -360 1290 -300 { lab=vp} -N 1290 -360 1570 -360 { lab=vp} -N 1570 -360 1570 -300 { lab=vp} -N 1287.5 -270 1350 -270 { lab=vp} -N 1350 -360 1350 -270 { lab=vp} -N 1507.5 -360 1507.5 -270 { lab=vp} -N 1430 -410 1430 -360 { lab=vp} -N 1890 -472.5 1890 -470 { lab=vdd} -N 1890 -500 1890 -472.5 { lab=vdd} -N 1430 -500 1890 -500 { lab=vdd} -N 1430 -500 1430 -470 { lab=vdd} -N 1887.5 -440 1967.5 -440 { lab=vdd} -N 1967.5 -500 1967.5 -440 { lab=vdd} -N 1890 -500 1967.5 -500 { lab=vdd} -N 1050 -500 1050 -470 { lab=vdd} -N 1050 -500 1430 -500 { lab=vdd} -N 1050 -360 1152.5 -360 { lab=iref} -N 1152.5 -440 1152.5 -360 { lab=iref} -N 1767.5 -440 1850 -440 { lab=iref} -N 970 -440 1052.5 -440 { lab=vdd} -N 970 -500 970 -440 { lab=vdd} -N 970 -500 1050 -500 { lab=vdd} -N 1430 -440 1510 -440 { lab=vdd} -N 1510 -500 1510 -440 { lab=vdd} -N 1370 -137.5 1370 -135 { lab=vbn} -N 1507.5 -270 1572.5 -270 { lab=vp} -N 1290 -240 1290 -95 { lab=vbn} -N 1290 -137.5 1370 -137.5 { lab=vbn} -N 1090 -440 1152.5 -440 { lab=iref} -N 1275 -440 1390 -440 { lab=iref} -N 1152.5 -440 1275 -440 { lab=iref} -N 1330 -65 1530 -65 { lab=vbn} -N 1050 -410 1050 -360 { lab=iref} -N 1180 -270 1250 -270 { lab=vin_n} -N 1750 -190 1800 -190 { lab=#net1} -N 1720 -250 1720 -230 { lab=vdd} -N 1720 -190 1720 -110 { lab=vss} -N 1570 -190 1690 -190 { lab=voe1} -N 1860 -190 1890 -190 { lab=vout} -N 950 -500 970 -500 { lab=vdd} -N 950 40 1210 40 { lab=vss} -N 1610 -270 1670 -270 { lab=vin_p} -N 950 -360 1050 -360 { lab=iref} -N 1570 40 1890 40 { lab=vss} -N 1890 40 1980 40 { lab=vss} -N 1980 -60 1980 40 { lab=vss} -N 1890 -60 1980 -60 { lab=vss} -N 1670 -60 1850 -60 { lab=voe1} -N 1670 -190 1670 -60 { lab=voe1} -N 1890 -190 1890 -90 { lab=vout} -N 1890 -410 1890 -190 { lab=vout} -N 1890 -240 2030 -240 { lab=vout} -N 1890 -30 1890 40 { lab=vss} -C {sky130_fd_pr/pfet_01v8.sym} 1270 -270 0 0 {name=M1 -L=0.3 -W=3 -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=200 -model=pfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 1590 -270 0 1 {name=M2 -L=0.3 -W=3 -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=200 -model=pfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/nfet_01v8.sym} 1310 -65 0 1 {name=M3 -L=0.3 -W=3 -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=30 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/nfet_01v8.sym} 1550 -65 0 0 {name=M4 -L=0.3 -W=3 -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=30 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 1410 -440 0 0 {name=M5 -L=0.3 -W=3 -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=30 -model=pfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 1870 -440 0 0 {name=M7 -L=0.3 -W=3 -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=150 -model=pfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 1070 -440 0 1 {name=M8 -L=0.3 -W=3 -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=15 -model=pfet_01v8 -spiceprefix=X -} -C {lab_wire.sym} 1272.5 -500 0 0 {name=l1 sig_type=std_logic lab=vdd -} -C {lab_wire.sym} 1275 -440 0 0 {name=l2 sig_type=std_logic lab=iref - -} -C {lab_wire.sym} 1405 -360 0 0 {name=l4 sig_type=std_logic lab=vp} -C {lab_pin.sym} 1767.5 -440 0 0 {name=l5 sig_type=std_logic lab=iref} -C {lab_wire.sym} 1442.5 40 0 0 {name=l7 sig_type=std_logic lab=vss -} -C {lab_wire.sym} 1977.5 -240 0 0 {name=l8 sig_type=std_logic lab=vout -} -C {lab_wire.sym} 1450 -65 0 0 {name=l6 sig_type=std_logic lab=vbn} -C {sky130_fd_pr/nfet_01v8.sym} 1720 -210 1 0 {name=M9 -L=0.15 -W=0.75 -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=nfet_01v8 -spiceprefix=X -} -C {lab_pin.sym} 1720 -250 2 0 {name=l9 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 1720 -110 2 0 {name=l10 sig_type=std_logic lab=vss -} -C {sky130_fd_pr/cap_mim_m3_1.sym} 1830 -190 3 0 {name=C1 model=cap_mim_m3_1 W=17.55 L=15 MF=6 spiceprefix=X} -C {iopin.sym} 950 -500 2 0 {name=p1 lab=vdd} -C {iopin.sym} 950 40 2 0 {name=p2 lab=vss} -C {ipin.sym} 1180 -270 0 0 {name=p3 lab=vin_n} -C {ipin.sym} 1670 -270 2 0 {name=p4 lab=vin_p} -C {ipin.sym} 950 -360 0 0 {name=p5 lab=iref} -C {sky130_fd_pr/nfet_01v8.sym} 1870 -60 0 0 {name=M6 -L=0.45 -W=4.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=150 -model=nfet_01v8 -spiceprefix=X -} -C {lab_wire.sym} 1630 -190 0 0 {name=l3 sig_type=std_logic lab=voe1} -C {opin.sym} 2030 -240 0 0 {name=p6 lab=vout}
diff --git a/xschem/ring_vco/FD_v2.spice b/xschem/ring_vco/netlist/FD_v2.spice similarity index 100% rename from xschem/ring_vco/FD_v2.spice rename to xschem/ring_vco/netlist/FD_v2.spice
diff --git a/xschem/ring_vco/netlist/bsim4v5.out b/xschem/ring_vco/netlist/bsim4v5.out new file mode 100644 index 0000000..b5885f2 --- /dev/null +++ b/xschem/ring_vco/netlist/bsim4v5.out
@@ -0,0 +1,5 @@ +BSIM4v5: Berkeley Short Channel IGFET Model-4 +Developed by Xuemei (Jane) Xi, Mohan Dunga, Prof. Ali Niknejad and Prof. Chenming Hu in 2003. + +++++++++++ BSIM4v5 PARAMETER CHECKING BELOW ++++++++++ +Model = x1.xm1:sky130_fd_pr__nfet_01v8__model.161
diff --git a/xschem/ring_vco/nand.spice b/xschem/ring_vco/netlist/nand.spice similarity index 100% rename from xschem/ring_vco/nand.spice rename to xschem/ring_vco/netlist/nand.spice
diff --git a/xschem/ring_vco/not.spice b/xschem/ring_vco/netlist/not.spice similarity index 100% rename from xschem/ring_vco/not.spice rename to xschem/ring_vco/netlist/not.spice
diff --git a/xschem/ring_vco/not_test.spice b/xschem/ring_vco/netlist/not_test.spice similarity index 100% rename from xschem/ring_vco/not_test.spice rename to xschem/ring_vco/netlist/not_test.spice
diff --git a/xschem/ring_vco/ring_osc.spice b/xschem/ring_vco/netlist/ring_osc.spice similarity index 100% rename from xschem/ring_vco/ring_osc.spice rename to xschem/ring_vco/netlist/ring_osc.spice
diff --git a/xschem/ring_vco/ring_vco.spice b/xschem/ring_vco/netlist/ring_vco.spice similarity index 94% rename from xschem/ring_vco/ring_vco.spice rename to xschem/ring_vco/netlist/ring_vco.spice index 5d7e0e5..4be4533 100644 --- a/xschem/ring_vco/ring_vco.spice +++ b/xschem/ring_vco/netlist/ring_vco.spice
@@ -62,7 +62,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @M.X2.XM1.msky130_fd_pr__nfet_01v8[id] @M.X2.XM1.msky130_fd_pr__nfet_01v8[vth] @@ -100,7 +100,7 @@ fft v(out) spec 10 1000000 1000 v(out) plot mag(v(out)) - write ~/caravel_fulgor_opamp/xschem/ring_vco/ring_vco_tran1.raw + write ~/caravel_fulgor_opamp/xschem/ring_vco/sim_results/ring_vco_tran1.raw .endc @@ -111,7 +111,7 @@ **** end user architecture code **.ends -* expanding symbol: /home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/not.sym # of pins=5 +* expanding symbol: not.sym # of pins=5 .subckt not vdd in out vss vbulk *.ipin vdd @@ -126,7 +126,7 @@ .ends -* expanding symbol: /home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym # of pins=4 +* expanding symbol: FD_v2.sym # of pins=4 .subckt FD_v2 clk vss out vdd *.opin out @@ -160,7 +160,7 @@ .ends -* expanding symbol: /home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nand.sym # of pins=6 +* expanding symbol: nand.sym # of pins=6 .subckt nand vdd A OUT B vss vbulk *.opin OUT
diff --git a/xschem/ring_vco/ring_vco_only.spice b/xschem/ring_vco/netlist/ring_vco_only.spice similarity index 100% rename from xschem/ring_vco/ring_vco_only.spice rename to xschem/ring_vco/netlist/ring_vco_only.spice
diff --git a/xschem/ring_vco/FD_v2.sch b/xschem/ring_vco/sch/FD_v2.sch similarity index 100% rename from xschem/ring_vco/FD_v2.sch rename to xschem/ring_vco/sch/FD_v2.sch
diff --git a/xschem/ring_vco/FD_v2.sym b/xschem/ring_vco/sch/FD_v2.sym similarity index 100% rename from xschem/ring_vco/FD_v2.sym rename to xschem/ring_vco/sch/FD_v2.sym
diff --git a/xschem/ring_vco/nand.sch b/xschem/ring_vco/sch/nand.sch similarity index 100% rename from xschem/ring_vco/nand.sch rename to xschem/ring_vco/sch/nand.sch
diff --git a/xschem/ring_vco/nand.sym b/xschem/ring_vco/sch/nand.sym similarity index 100% rename from xschem/ring_vco/nand.sym rename to xschem/ring_vco/sch/nand.sym
diff --git a/xschem/ring_vco/not.sch b/xschem/ring_vco/sch/not.sch similarity index 100% rename from xschem/ring_vco/not.sch rename to xschem/ring_vco/sch/not.sch
diff --git a/xschem/ring_vco/not.sym b/xschem/ring_vco/sch/not.sym similarity index 100% rename from xschem/ring_vco/not.sym rename to xschem/ring_vco/sch/not.sym
diff --git a/xschem/ring_vco/not_test.sch b/xschem/ring_vco/sch/not_test.sch similarity index 100% rename from xschem/ring_vco/not_test.sch rename to xschem/ring_vco/sch/not_test.sch
diff --git a/xschem/ring_vco/ring_osc.sch b/xschem/ring_vco/sch/ring_osc.sch similarity index 100% rename from xschem/ring_vco/ring_osc.sch rename to xschem/ring_vco/sch/ring_osc.sch
diff --git a/xschem/ring_vco/ring_vco.sch b/xschem/ring_vco/sch/ring_vco.sch similarity index 98% rename from xschem/ring_vco/ring_vco.sch rename to xschem/ring_vco/sch/ring_vco.sch index 04f9773..1b966d9 100644 --- a/xschem/ring_vco/ring_vco.sch +++ b/xschem/ring_vco/sch/ring_vco.sch
@@ -271,7 +271,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT +.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @@ -301,7 +301,7 @@ fft v(out) spec 10 1000000 1000 v(out) plot mag(v(out)) - write ~/caravel_fulgor_opamp/xschem/ring_vco/ring_vco_tran1.raw + write ~/caravel_fulgor_opamp/xschem/ring_vco/sim_results/ring_vco_tran1.raw .endc
diff --git a/xschem/ring_vco/ring_vco_tran1.raw b/xschem/ring_vco/sim_results/ring_vco_tran1.raw similarity index 99% rename from xschem/ring_vco/ring_vco_tran1.raw rename to xschem/ring_vco/sim_results/ring_vco_tran1.raw index 60d776a..efe3595 100644 --- a/xschem/ring_vco/ring_vco_tran1.raw +++ b/xschem/ring_vco/sim_results/ring_vco_tran1.raw Binary files differ
diff --git a/xschem/sch/opamp.sym b/xschem/sch/opamp.sym deleted file mode 100644 index 52d2a6c..0000000 --- a/xschem/sch/opamp.sym +++ /dev/null
@@ -1,34 +0,0 @@ -v {xschem version=2.9.8 file_version=1.2} -G {} -K {type=subcircuit -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 -30 40 -30 60 {} -L 4 -70 -20 -50 -20 {} -L 4 -70 20 -50 20 {} -L 4 50 0 70 0 {} -L 4 -50 -50 -50 -0 {} -L 4 -50 -0 -50 50 {} -L 4 -50 50 50 -0 {} -L 4 -50 -50 50 0 {} -L 7 -10 -50 -10 -30 {} -L 7 10 40 10 60 {} -L 7 10 20 10 40 {} -B 5 -12.5 -52.5 -7.5 -47.5 {name=vdd dir=inout name=p1 } -B 5 -32.5 57.5 -27.5 62.5 {name=iref dir=in name=p5 } -B 5 -72.5 -22.5 -67.5 -17.5 {name=vin_n dir=in name=p3 } -B 5 -72.5 17.5 -67.5 22.5 {name=vin_p dir=in name=p4 } -B 5 67.5 -2.5 72.5 2.5 {name=vout dir=out name=p6 } -B 5 7.5 57.5 12.5 62.5 {name=vss dir=inout name=p2 } -T {@symname} -30.5 -6 0 0 0.3 0.3 {} -T {@name} 15 -32 0 0 0.2 0.2 {} -T {vdd} -4 -55 3 1 0.2 0.2 {} -T {iref} -24 55 3 0 0.2 0.2 {} -T {vin_n} -45 -24 0 0 0.2 0.2 {} -T {vin_p} -45 16 0 0 0.2 0.2 {} -T {vout} 75 -14 0 1 0.2 0.2 {} -T {vss} 24 55 1 1 0.2 0.2 {}
diff --git a/xschem/sim_results/opamp_closeloop_ac1.raw b/xschem/sim_results/opamp_closeloop_ac1.raw deleted file mode 100644 index 3fab6a6..0000000 --- a/xschem/sim_results/opamp_closeloop_ac1.raw +++ /dev/null Binary files differ
diff --git a/xschem/sim_results/opamp_closeloop_tran1.raw b/xschem/sim_results/opamp_closeloop_tran1.raw deleted file mode 100644 index 6ad6a87..0000000 --- a/xschem/sim_results/opamp_closeloop_tran1.raw +++ /dev/null Binary files differ
diff --git a/xschem/xschemrc b/xschem/xschemrc index 7d172ab..0a634be 100644 --- a/xschem/xschemrc +++ b/xschem/xschemrc
@@ -1,8 +1,8 @@ #Configure xschem project directory to use sky130 symbols set XSCHEM_LIBRARY_PATH {} append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library -append XSCHEM_LIBRARY_PATH :~/skywater_pdk/xschem_sky130 -append XSCHEM_LIBRARY_PATH :~/caravel_fulgor_opamp/xschem/sch -append XSCHEM_LIBRARY_PATH :~/caravel_fulgor_opamp/xschem/opampjulia +append XSCHEM_LIBRARY_PATH :~/skywater/xschem_sky130 +append XSCHEM_LIBRARY_PATH :~/caravel_fulgor_opamp/xschem/opamp_diego +append XSCHEM_LIBRARY_PATH :~/caravel_fulgor_opamp/xschem/opamp_julia append XSCHEM_LIBRARY_PATH :~/caravel_fulgor_opamp/xschem/ring_vco