Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Several changes for better compatibility between PDKs #16

Merged
merged 6 commits into from
Oct 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
*.spice
*.csv
*.osdi
.DS_Store
3 changes: 1 addition & 2 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,4 @@ Steffen Reith
Thorsten Knoll
Tim Henkes
Volker Muehlhaus


Harald Pretl
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ T {S-param} 1440 -710 0 0 0.8 0.8 {}
C {devices/title.sym} 160 -30 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} 90 -780 0 0 {name=h1
descr="IHP-Open-PDK"
url="https://github.com/KHermanUBB/IHP-Open-PDK/tree/main"}
url="https://github.com/IHP-GmbH/IHP-Open-PDK/tree/main"}
C {sg13g2_tests/dc_lv_nmos.sym} 180 -630 0 0 {name=x5}
C {sg13g2_tests/dc_hv_nmos.sym} 180 -600 0 0 {name=x6}
C {sg13g2_tests/dc_lv_pmos.sym} 180 -570 0 0 {name=x7}
Expand Down
6 changes: 3 additions & 3 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/ac_lv_nmosrf.sch
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,14 @@ C {devices/code_shown.sym} 1190 -310 0 0 {name=NGSPICE only_toplevel=true
value="
.param temp=27
.control
pre_osdi ./psp103_nqs.osdi
* pre_osdi ./psp103_nqs.osdi
save all
ac dec 1001 10meg 10000meg
let vd1 = abs(Vout1)
let vd2 = abs(Vout2)
meas ac Vout_1_5GHz find vd1 at=5000meg
meas ac Vout_2_5GHz find vd2 at=5000meg
write ../raw/ac_lv_nmosrf.raw
write ac_lv_nmosrf.raw
.endc
"}
C {devices/gnd.sym} 160 50 0 0 {name=l1 lab=GND}
Expand All @@ -124,7 +124,7 @@ C {devices/gnd.sym} 210 50 0 0 {name=l4 lab=GND}
C {devices/title.sym} -130 260 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} -210 -300 0 0 {name=h5
descr="load waves Ctrl + left click"
tclcommand="xschem raw_read $netlist_dir/../raw/ac_lv_nmosrf.raw ac"}
tclcommand="xschem raw_read $netlist_dir/ac_lv_nmosrf.raw ac"}
C {sg13g2_pr/sg13_lv_rf_nmos.sym} 140 -40 2 1 {name=M1
L=0.35u
W=1.0u
Expand Down
4 changes: 2 additions & 2 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/ac_mim_cap.sch
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ let mag=abs(out)
meas ac freq_at when mag = 0.707
let C = 1/(2*PI*freq_at*1e+5)
print C
write ../raw/ac_mim_cap.raw
write ac_mim_cap.raw
.endc
" }
C {devices/title.sym} 160 -30 0 0 {name=l1 author="Copyright 2023 IHP PDK Authors"}
Expand All @@ -95,5 +95,5 @@ C {devices/lab_pin.sym} 690 -390 1 0 {name=p2 sig_type=std_logic lab=out}
C {sg13g2_pr/cap_cmim.sym} 530 -380 1 0 {name=C1 model=cap_cmim W=7.0e-6 L=7.0e-6 MF=1 spiceprefix=X}
C {devices/launcher.sym} 200 -740 0 0 {name=h5
descr="load waves"
tclcommand="xschem raw_read $netlist_dir/../raw/ac_mim_cap.raw ac"
tclcommand="xschem raw_read $netlist_dir/ac_mim_cap.raw ac"
}
14 changes: 6 additions & 8 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/dc_diode_op.sch
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ unitx=1
logx=0
logy=0
color="7 8"
node="i(vmdp)
i(vmda)"}
node="i(Vmdp)
i(Vmda)"}
N -500 20 -500 40 {
lab=GND}
N -500 -100 -500 -40 {
lab=#net1}
N -500 -100 -380 -100 {
N -500 -100 -350 -100 {
lab=#net1}
N -350 40 -350 50 {
lab=GND}
Expand All @@ -46,8 +46,6 @@ N -170 -30 -170 -20 {
lab=#net3}
N -170 -100 -170 -90 {
lab=#net1}
N -380 -100 -350 -100 {
lab=#net1}
N -350 -100 -170 -100 {
lab=#net1}
C {devices/gnd.sym} -500 40 0 0 {name=l2 lab=GND}
Expand All @@ -65,8 +63,8 @@ op
print I(Vmda) I(Vmdp)
reset
dc V1 -12 1 1m
write ../raw/dc_diode_op.raw
wrdata ../csv/dc_diode.csv I(Vmda) I(Vmdp)
write dc_diode_op.raw
wrdata dc_diode.csv I(Vmda) I(Vmdp)
.endc
"}
C {sg13g2_pr/dantenna.sym} -350 10 2 0 {name=XD1
Expand All @@ -77,7 +75,7 @@ w=780n
C {devices/title.sym} -360 130 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} -470 -260 0 0 {name=h5
descr="Load IV curve"
tclcommand="xschem raw_read $netlist_dir/../raw/dc_diode_op.raw dc"
tclcommand="xschem raw_read $netlist_dir/dc_diode_op.raw dc"
}
C {devices/gnd.sym} -170 50 0 0 {name=l3 lab=GND}
C {sg13g2_pr/dpantenna.sym} -170 10 2 0 {name=XD2
Expand Down
18 changes: 5 additions & 13 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/dc_diode_temp.sch
Original file line number Diff line number Diff line change
Expand Up @@ -31,34 +31,26 @@ N -500 40 -500 60 {
lab=GND}
N -500 -80 -500 -20 {
lab=Vd}
N -500 -80 -380 -80 {
lab=Vd}
N -320 -80 -220 -80 {
N -500 -80 -220 -80 {
lab=Vd}
N -220 -80 -220 -40 {
lab=Vd}
N -220 20 -220 60 {
lab=GND}
N -220 -80 -200 -80 {
lab=Vd}
N -380 -80 -320 -80 {
lab=Vd}
N -70 40 -70 60 {
lab=GND}
N -70 -80 -70 -20 {
lab=Vdp}
N -70 -80 50 -80 {
lab=Vdp}
N 110 -80 210 -80 {
N -70 -80 210 -80 {
lab=Vdp}
N 210 -80 210 -40 {
lab=Vdp}
N 210 20 210 60 {
lab=GND}
N 210 -80 230 -80 {
lab=Vdp}
N 50 -80 110 -80 {
lab=Vdp}
C {devices/gnd.sym} -220 60 0 0 {name=l1 lab=GND}
C {devices/gnd.sym} -500 60 0 0 {name=l2 lab=GND}
C {devices/code_shown.sym} -510 -160 0 0 {name=MODEL only_toplevel=true
Expand All @@ -75,8 +67,8 @@ op
print Vd
reset
dc temp -40 125 1
write ../raw/dc_diode_temp.raw
wrdata ../csv/dc_diode_temp.csv Vd Vdp
write dc_diode_temp.raw
wrdata dc_diode_temp.csv Vd Vdp

.endc
"}
Expand All @@ -90,7 +82,7 @@ C {devices/isource.sym} -500 10 2 0 {name=I0 value=200n}
C {devices/title.sym} -360 130 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} -450 -220 0 0 {name=h5
descr="Load IV curve"
tclcommand="xschem raw_read $netlist_dir/../raw/dc_diode_temp.raw dc"
tclcommand="xschem raw_read $netlist_dir/dc_diode_temp.raw dc"
}
C {devices/gnd.sym} 210 60 0 0 {name=l3 lab=GND}
C {devices/gnd.sym} -70 60 0 0 {name=l4 lab=GND}
Expand Down
12 changes: 4 additions & 8 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/dc_hbt_13g2.sch
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ unitx=1
logx=0
logy=0
color=4
node=i(vc)
node=i(Vc)
y1=-5.5e-05
rainbow=0}
T {Nx - number of emitters} -210 110 0 0 0.2 0.2 {}
Expand All @@ -47,11 +47,7 @@ N -170 -80 -140 -80 {
lab=#net2}
N -80 -80 -40 -80 {
lab=#net3}
N -220 -10 -210 -10 {
lab=#net1}
N -300 -10 -280 -10 {
lab=#net1}
N -280 -10 -220 -10 {
N -300 -10 -210 -10 {
lab=#net1}
C {devices/code_shown.sym} -310 180 0 0 {name=MODEL only_toplevel=true
format="tcleval( @value )"
Expand All @@ -67,7 +63,7 @@ op
print I(Vc)
reset
dc Vce 0 2 0.01 I0 0 5u 0.1u
write ../raw/test_npn_13G2.raw
write test_npn_13G2.raw
.endc
"}
C {devices/gnd.sym} -170 80 0 0 {name=l1 lab=GND}
Expand All @@ -78,7 +74,7 @@ C {devices/gnd.sym} -120 80 0 0 {name=l4 lab=GND}
C {devices/title.sym} -130 260 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} 70 -70 0 0 {name=h5
descr="load waves"
tclcommand="xschem raw_read $netlist_dir/../raw/test_npn_13G2.raw dc"
tclcommand="xschem raw_read $netlist_dir/test_npn_13G2.raw dc"
}
C {sg13g2_pr/npn13G2.sym} -190 -10 0 0 {name=Q1
model=npn13G2
Expand Down
6 changes: 3 additions & 3 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/dc_hv_nmos.sch
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@ C {devices/code_shown.sym} 310 -30 0 0 {name=NGSPICE only_toplevel=true
value="
.param temp=27
.control
pre_osdi ./psp103_nqs.osdi
* pre_osdi ./psp103_nqs.osdi
save all
op
print all
reset
dc Vds 0 3 0.01 Vgs 0. 0.9 0.1
write ../raw/dc_hv_nmos.raw
write dc_hv_nmos.raw
.endc
"}
C {devices/gnd.sym} 20 90 0 0 {name=l1 lab=GND}
Expand All @@ -77,7 +77,7 @@ C {devices/gnd.sym} 70 90 0 0 {name=l4 lab=GND}
C {devices/title.sym} -130 260 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} -200 -160 0 0 {name=h5
descr="load waves Ctrl + left click"
tclcommand="xschem raw_read $netlist_dir/../raw/dc_hv_nmos.raw dc"
tclcommand="xschem raw_read $netlist_dir/dc_hv_nmos.raw dc"
}
C {sg13g2_pr/sg13_hv_nmos.sym} 0 0 2 1 {name=M1
L=0.45u
Expand Down
6 changes: 3 additions & 3 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/dc_hv_pmos.sch
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,13 @@ C {devices/code_shown.sym} 290 -10 0 0 {name=NGSPICE only_toplevel=true
value="
.param temp=27
.control
pre_osdi ./psp103_nqs.osdi
* pre_osdi ./psp103_nqs.osdi
save all
op
print I(Vd)
reset
dc Vds 0 -2 -0.01 Vgs -0.45 -1.1 -0.05
write ../raw/dc_hv_pmos.raw
write dc_hv_pmos.raw
*plot all
.endc
"}
Expand All @@ -82,7 +82,7 @@ C {devices/gnd.sym} 70 90 0 0 {name=l4 lab=GND}
C {devices/title.sym} -130 260 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} -230 -150 0 0 {name=h5
descr="load waves"
tclcommand="xschem raw_read $netlist_dir/../raw/dc_hv_pmos.raw dc"
tclcommand="xschem raw_read $netlist_dir/dc_hv_pmos.raw dc"
}
C {sg13g2_pr/sg13_hv_pmos.sym} 0 0 2 1 {name=M1
L=0.45u
Expand Down
42 changes: 17 additions & 25 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/dc_logic_not.sch
Original file line number Diff line number Diff line change
Expand Up @@ -29,54 +29,46 @@ node="gain
out"}
N -290 100 -290 120 {
lab=GND}
N -290 30 -290 40 {
lab=in}
N 20 60 20 120 {
lab=GND}
N 280 60 280 120 {
lab=GND}
N 280 -40 280 0 {
lab=#net1}
N -30 30 -20 30 {
lab=in}
N 70 30 70 60 {
N 70 30 70 120 {
lab=GND}
N 20 30 70 30 {
lab=GND}
N 70 -90 70 -70 {
lab=#net1}
N 20 -70 70 -70 {
lab=#net1}
N 20 -40 20 0 {
N 20 -20 20 0 {
lab=out}
N 20 -170 20 -100 {
lab=#net1}
N 20 -170 280 -170 {
N 70 -170 280 -170 {
lab=#net1}
N 280 -170 280 -40 {
N 280 -170 280 0 {
lab=#net1}
N 70 -170 70 -150 {
N 70 -170 70 -70 {
lab=#net1}
N -50 30 -30 30 {
N -50 30 -20 30 {
lab=in}
N -50 -70 -50 30 {
N -50 -20 -50 30 {
lab=in}
N -50 -70 -20 -70 {
lab=in}
N -290 -20 -290 30 {
N -290 -20 -290 40 {
lab=in}
N -290 -20 -230 -20 {
N -290 -20 -50 -20 {
lab=in}
N 20 -20 150 -20 {
lab=out}
N -310 -20 -290 -20 {
lab=in}
N -230 -20 -50 -20 {
lab=in}
N 70 60 70 120 {
lab=GND}
N 70 -150 70 -90 {
N 20 -170 70 -170 {
lab=#net1}
N 20 -40 20 -20 {
lab=out}
N -50 -70 -50 -20 {
lab=in}
C {devices/code_shown.sym} -300 170 0 0 {name=MODEL only_toplevel=true
format="tcleval( @value )"
value="
Expand All @@ -87,11 +79,11 @@ C {devices/code_shown.sym} -360 -260 0 0 {name=NGSPICE only_toplevel=true
value="
.param temp=27
.control
pre_osdi ./psp103_nqs.osdi
* pre_osdi ./psp103_nqs.osdi
save all
dc Vin 0 1.8 1m
let gain = -deriv(V(out))/10
write ../raw/dc_logic_not.raw
write dc_logic_not.raw
.endc
"}
C {devices/gnd.sym} 20 120 0 0 {name=l1 lab=GND}
Expand All @@ -103,7 +95,7 @@ C {devices/gnd.sym} 70 120 0 0 {name=l4 lab=GND}
C {devices/title.sym} -130 260 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} 420 180 0 0 {name=h5
descr="load waves Ctrl + left click"
tclcommand="xschem raw_read $netlist_dir/../raw/dc_logic_not.raw dc"
tclcommand="xschem raw_read $netlist_dir/dc_logic_not.raw dc"
}
C {sg13g2_pr/sg13_lv_nmos.sym} 0 30 2 1 {name=M1
L=0.45u
Expand Down
6 changes: 3 additions & 3 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/dc_lv_nmos.sch
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,12 @@ C {devices/code_shown.sym} -300 -320 0 0 {name=NGSPICE only_toplevel=true
value="
.param temp=27
.control
pre_osdi ./psp103_nqs.osdi
* pre_osdi ./psp103_nqs.osdi
save all
op
*reset
dc Vds 0 3 0.01 Vgs 0. 0.9 0.1
write ../raw/dc_lv_nmos.raw
write dc_lv_nmos.raw
.endc
"}
C {devices/gnd.sym} 20 90 0 0 {name=l1 lab=GND}
Expand All @@ -75,7 +75,7 @@ C {devices/gnd.sym} 70 90 0 0 {name=l4 lab=GND}
C {devices/title.sym} -130 260 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} 310 90 0 0 {name=h5
descr="load waves Ctrl + left click"
tclcommand="xschem raw_read $netlist_dir/../raw/dc_lv_nmos.raw dc"
tclcommand="xschem raw_read $netlist_dir/dc_lv_nmos.raw dc"
}
C {sg13g2_pr/sg13_lv_nmos.sym} 0 0 2 1 {name=M1
L=0.45u
Expand Down
6 changes: 3 additions & 3 deletions ihp-sg13g2/libs.tech/xschem/sg13g2_tests/dc_lv_pmos.sch
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,13 @@ C {devices/code_shown.sym} 290 -10 0 0 {name=NGSPICE only_toplevel=true
value="
.param temp=27
.control
pre_osdi ./psp103_nqs.osdi
* pre_osdi ./psp103_nqs.osdi
save all
op
print I(Vd)
*reset
dc Vds 0 -2 -0.01 Vgs -0.45 -1.1 -0.05
write ../raw/dc_lv_pmos.raw
write dc_lv_pmos.raw
*plot all
.endc
"}
Expand All @@ -86,7 +86,7 @@ C {devices/gnd.sym} 70 90 0 0 {name=l4 lab=GND}
C {devices/title.sym} -130 260 0 0 {name=l5 author="Copyright 2023 IHP PDK Authors"}
C {devices/launcher.sym} -230 -150 0 0 {name=h5
descr="load waves"
tclcommand="xschem raw_read $netlist_dir/../raw/dc_lv_pmos.raw dc"
tclcommand="xschem raw_read $netlist_dir/dc_lv_pmos.raw dc"
}
C {sg13g2_pr/sg13_lv_pmos.sym} 0 0 2 1 {name=M1
L=0.45u
Expand Down
Loading