add wrapper for spice file:
diff --git a/xschem/lna/decap.sch b/xschem/lna/decap.sch new file mode 100644 index 0000000..8437cb7 --- /dev/null +++ b/xschem/lna/decap.sch
@@ -0,0 +1,46 @@ +v {xschem version=3.0.0 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 180 -340 660 -340 { +lab=vcc} +N 180 -200 660 -200 { +lab=#net1} +N 660 -280 660 -260 { +lab=#net2} +N 580 -280 580 -260 { +lab=#net3} +N 500 -280 500 -260 { +lab=#net4} +N 420 -280 420 -260 { +lab=#net5} +N 340 -280 340 -260 { +lab=#net6} +N 260 -280 260 -260 { +lab=#net7} +N 180 -280 180 -260 { +lab=#net8} +N 420 -200 420 -140 { +lab=#net1} +N 420 -380 420 -340 { +lab=vcc} +C {/foss/pdk/sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__cap_vpp_02p7x41p1_m1m2m3m4_shieldl1_fingercap.spice} 420 -190 0 0 {} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 180 -310 0 0 {name=C1 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 180 -230 0 0 {name=C2 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 260 -310 0 0 {name=C3 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 260 -230 0 0 {name=C4 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 340 -310 0 0 {name=C5 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 340 -230 0 0 {name=C6 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 420 -310 0 0 {name=C7 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 420 -230 0 0 {name=C8 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__cap_vpp_02p7x41p1_m1m2m3m4_shieldl1_fingercap.spice} 660 -190 0 0 {} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 500 -310 0 0 {name=C9 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 500 -230 0 0 {name=C10 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 580 -310 0 0 {name=C11 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 580 -230 0 0 {name=C12 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 660 -310 0 0 {name=C13 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/cap_mim_m3_1.sym} 660 -230 0 0 {name=C14 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {ipin.sym} 420 -380 1 0 {name=vcc lab=vcc} +C {ipin.sym} 420 -140 3 0 {name=gnd lab=gnd}
diff --git a/xschem/lna/decap.sym b/xschem/lna/decap.sym new file mode 100644 index 0000000..99f1737 --- /dev/null +++ b/xschem/lna/decap.sym
@@ -0,0 +1,56 @@ +v {xschem version=3.0.0 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +template="name=XDECAP1"} +V {} +S {} +E {} +L 4 200 -130 200 -120 {} +L 4 195 -130 205 -130 {} +L 4 195 -135 205 -135 {} +L 4 200 -145 200 -135 {} +L 4 215 -130 215 -120 {} +L 4 210 -130 220 -130 {} +L 4 210 -135 220 -135 {} +L 4 215 -145 215 -135 {} +L 4 230 -130 230 -120 {} +L 4 225 -130 235 -130 {} +L 4 225 -135 235 -135 {} +L 4 230 -145 230 -135 {} +L 4 245 -130 245 -120 {} +L 4 240 -130 250 -130 {} +L 4 240 -135 250 -135 {} +L 4 245 -145 245 -135 {} +L 9 190 -150 190 -145 {} +L 9 190 -150 195 -150 {} +L 9 255 -150 255 -145 {} +L 9 250 -150 255 -150 {} +L 9 255 -120 255 -115 {} +L 9 250 -115 255 -115 {} +L 9 190 -120 190 -115 {} +L 9 190 -115 195 -115 {} +L 9 255 -130 255 -125 {} +L 9 255 -140 255 -135 {} +L 9 240 -115 245 -115 {} +L 9 230 -115 235 -115 {} +L 9 220 -115 225 -115 {} +L 9 210 -115 215 -115 {} +L 9 200 -115 205 -115 {} +L 9 190 -140 190 -135 {} +L 9 190 -130 190 -125 {} +L 9 200 -150 205 -150 {} +L 9 210 -150 215 -150 {} +L 9 220 -150 225 -150 {} +L 9 230 -150 235 -150 {} +L 9 240 -150 245 -150 {} +L 9 180 -132.5 190 -132.5 {} +L 9 255 -132.5 265 -132.5 {} +L 9 255 -135 255 -130 {} +L 9 190 -135 190 -130 {} +B 5 177.5 -135 182.5 -130 {name=vcc +dir=in} +B 5 262.5 -135 267.5 -130 {name=gnd +dir=in} +T {decap} 190 -160 0 0 0.1 0.1 {} +T {decap} 255 -105 2 0 0.1 0.1 {}
diff --git a/xschem/lna/lna4stage.sch b/xschem/lna/lna4stage.sch index 2b55869..80912b1 100644 --- a/xschem/lna/lna4stage.sch +++ b/xschem/lna/lna4stage.sch
@@ -9,87 +9,63 @@ N 460 -160 500 -160 { lab=#net2} N 220 -110 220 -80 { -lab=GND} +lab=gnd} N 140 -20 820 -20 { -lab=GND} +lab=gnd} N 220 -240 220 -210 { -lab=#net3} +lab=gnd} N 400 -240 400 -210 { -lab=#net3} +lab=gnd} N 580 -240 580 -210 { -lab=#net3} +lab=gnd} N 760 -240 760 -210 { -lab=#net3} +lab=gnd} N 160 -240 840 -240 { -lab=#net3} +lab=gnd} N 820 -20 840 -20 { -lab=GND} +lab=gnd} N 140 -240 160 -240 { -lab=#net3} +lab=gnd} N 100 -160 140 -160 { -lab=#net4} +lab=in} N 820 -160 860 -160 { lab=out} -N 80 -140 100 -160 { -lab=#net4} N 640 -160 680 -160 { -lab=#net5} +lab=#net3} N 200 -50 200 -20 { -lab=GND} +lab=gnd} N 220 -80 220 -20 { -lab=GND} +lab=gnd} N 400 -110 400 -80 { -lab=GND} +lab=gnd} N 380 -50 380 -20 { -lab=GND} +lab=gnd} N 400 -80 400 -20 { -lab=GND} +lab=gnd} N 580 -110 580 -80 { -lab=GND} +lab=gnd} N 560 -50 560 -20 { -lab=GND} +lab=gnd} N 580 -80 580 -20 { -lab=GND} +lab=gnd} N 760 -110 760 -80 { -lab=GND} +lab=gnd} N 740 -50 740 -20 { -lab=GND} +lab=gnd} N 760 -80 760 -20 { -lab=GND} +lab=gnd} +N 840 -240 880 -240 { +lab=gnd} +N 965 -240 980 -240 { +lab=gnd} +N 980 -240 980 -20 { +lab=gnd} +N 840 -20 980 -20 { +lab=gnd} C {/foss/designs/caravel_ft8_receiver/xschem/lna/foldedcascode.sym} -20 -30 0 0 {name=XAMP1} C {/foss/designs/caravel_ft8_receiver/xschem/lna/foldedcascode.sym} 160 -30 0 0 {name=XAMP2} C {/foss/designs/caravel_ft8_receiver/xschem/lna/foldedcascode.sym} 340 -30 0 0 {name=XAMP3} -C {code.sym} -140 -250 0 0 {name=s1 only_toplevel=false value=" -.lib /foss/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt -.control - ** dc V1 0.769 3.769 0.01 - ** dc V2 0 3 0.01 - ** SIN(0.9 0.00001 700000000) - tran 0.0000000001 0.000001 - ** ac lin 500 1K 100MEG - ** plot vdb(out1) xlog -.endc -.save all -"} -C {code.sym} -280 -130 0 0 {name=sT_MODELS -only_toplevel=true -format="tcleval( @value )" -value="** manual skywater pdks install (with patches applied) -* .lib \\\\$::SKYWATER_MODELS\\\\/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /foss/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 -" -spice_ignore=false} C {opin.sym} 860 -160 0 0 {name=out lab=out} -C {vsource.sym} 80 -110 0 1 {name=V1 value="SIN(0.8 0.00005 7000000)"} -C {vsource.sym} 110 -240 1 0 {name=V2 value=1.8} -C {gnd.sym} 80 -240 1 0 {name=l1 lab=GND} -C {gnd.sym} 80 -80 0 0 {name=l2 lab=GND} -C {gnd.sym} 140 -20 0 0 {name=l3 lab=GND} C {/foss/designs/caravel_ft8_receiver/xschem/lna/foldedcascode.sym} 520 -30 0 0 {name=XAMP4} C {/foss/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/res_high_po_0p35.sym} 200 -80 0 1 {name=R1 W=0.35 @@ -115,3 +91,7 @@ model=res_high_po_0p35 spiceprefix=X mult=1} +C {/foss/designs/caravel_ft8_receiver/xschem/lna/decap.sym} 700 -107.5 0 0 {name=XDECAP1} +C {ipin.sym} 100 -160 0 0 {name=in lab=in} +C {ipin.sym} 140 -20 0 0 {name=gnd lab=gnd} +C {ipin.sym} 140 -240 0 0 {name=vdd lab=vdd}
diff --git a/xschem/lna/lna4stage.sym b/xschem/lna/lna4stage.sym new file mode 100644 index 0000000..28185cd --- /dev/null +++ b/xschem/lna/lna4stage.sym
@@ -0,0 +1,40 @@ +v {xschem version=3.0.0 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +template="name=XFLNA1"} +V {} +S {} +E {} +L 1 100 -220 100 -200 {} +L 1 100 -220 120 -220 {} +L 1 100 -80 100 -60 {} +L 1 100 -60 120 -60 {} +L 1 320 -220 320 -200 {} +L 1 300 -220 320 -220 {} +L 1 320 -80 320 -60 {} +L 1 300 -60 320 -60 {} +L 4 140 -200 140 -80 {} +L 4 160 -200 160 -80 {} +L 4 180 -200 180 -80 {} +L 4 180 -200 300 -140 {} +L 4 180 -80 300 -140 {} +L 4 160 -200 180 -190 {} +L 4 160 -80 180 -90 {} +L 4 140 -200 160 -190 {} +L 4 140 -80 160 -90 {} +L 4 120 -80 140 -90 {} +L 4 120 -200 140 -190 {} +L 4 120 -200 120 -80 {} +L 4 80 -140 120 -140 {} +L 4 300 -140 340 -140 {} +L 4 240 -200 240 -170 {} +L 4 240 -110 240 -80 {} +B 5 77.5 -142.5 82.5 -137.5 {name=in +dir=in} +B 5 237.5 -202.5 242.5 -197.5 {name=vdd +dir=in} +B 5 337.5 -142.5 342.5 -137.5 {name=out +dir=out} +B 5 237.5 -82.5 242.5 -77.5 {name=gnd +dir=in}
diff --git a/xschem/user_analog_project_wrapper.sch b/xschem/user_analog_project_wrapper.sch new file mode 100644 index 0000000..3eb46b7 --- /dev/null +++ b/xschem/user_analog_project_wrapper.sch
@@ -0,0 +1,32 @@ +v {xschem version=3.0.0 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +C {/foss/designs/caravel_ft8_receiver/xschem/lna/lna4stage.sym} 160 -90 0 0 {name=XFLNA1} +C {code.sym} -210 -320 0 0 {name=s1 only_toplevel=false value=" +.lib /foss/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt +.control + ** dc V1 0.769 3.769 0.01 + ** dc V2 0 3 0.01 + ** SIN(0.9 0.00001 700000000) + tran 0.0000000001 0.000001 + ** ac lin 500 1K 100MEG + ** plot vdb(out1) xlog +.endc +.save all +"} +C {code.sym} -350 -200 0 0 {name=sT_MODELS +only_toplevel=true +format="tcleval( @value )" +value="** manual skywater pdks install (with patches applied) +* .lib \\\\$::SKYWATER_MODELS\\\\/models/sky130.lib.spice tt + +** opencircuitdesign pdks install +.lib /foss/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt + +.param mc_mm_switch=0 +.param mc_pr_switch=0 +" +spice_ignore=false}