https://open-source-silicon.dev logo
Title
m

Mudasir

03/08/2023, 3:06 PM
Do the corner simulations ss,ff,fs,sf model the resistor and cap variations with process.
s

Stefan Schippers

03/08/2023, 3:27 PM
ss/ff/fs/sf corners all use typical resistors/capacitors. hh/ll/lh/hl corners apply to resistors and capacitors, while using typical transistors. lh --> low resistances, high capacitances
m

Mudasir

03/08/2023, 5:19 PM
Can we use hh/ll/lh/hl together with ss/ff/fs/sf.
s

Stefan Schippers

03/09/2023, 4:42 PM
I think you can do that but you must manually call the various corner files: remove the
.lib
in your netlist and replace with these lines: .param mc_mm_switch=0 .param mc_pr_switch=0 .include /home/schippes/share/pdk/sky130A/libs.tech/ngspice/corners/`tt`.spice .include /home/schippes/share/pdk/sky130A/libs.tech/ngspice/r+c/res_`typical`__cap_`typical`.spice .include /home/schippes/share/pdk/sky130A/libs.tech/ngspice/r+c/res_`typical`__cap_`typical`__lin.spice .include /home/schippes/share/pdk/sky130A/libs.tech/ngspice/corners/`tt`/specialized_cells.spice In above lines put the correct path to your libs.tech installation (the above is the path on my system). then replace the
tt
with one of
ss
,
sf
,
fs
,
ff
for transistor corners. and replace
typical
with
high
or
low
for resistor and capacitor corners. First
typical
applies to resistor, second one for capacitors. I have not tried mixing transistor and res/cap corners, but it should work. Example: slow transistor corner, high resistances, low capacitances: .param mc_mm_switch=0 .param mc_pr_switch=0 .include /home/schippes/share/pdk/sky130A/libs.tech/ngspice/corners/`ss`.spice .include /home/schippes/share/pdk/sky130A/libs.tech/ngspice/r+c/res_`high`__cap_`low`.spice .include /home/schippes/share/pdk/sky130A/libs.tech/ngspice/r+c/res_`high`__cap_`low`__lin.spice .include /home/schippes/share/pdk/sky130A/libs.tech/ngspice/corners/`ss`/specialized_cells.spice
m

Mudasir

03/11/2023, 3:24 PM
Thanks.
I want to automate the process you described above, something like when I click simulate it automatically runs through all the corners. That would save me alot of time.