Diarmuid Collins
05/25/2024, 9:37 PMStefan Schippers
05/26/2024, 7:50 AMALTER
or modify the netlist model process corner and re-run a simulation. So far the best that can be done is to change the netlist by replacing the process corner , adding set appendwrite
before the write
command, running the simulation again so the next corner data is appended to the previous raw file.
A more efficient way is to run all corner simulations in parallel, each process writing to a separate raw file.
The following launcher will poke into the produced netlist to change process corner and output raw filename , running 3 simulations in parallel on corners tt, ss, ff:
tclcommand="
set spicefile $netlist_dir/sky130_oscillator.spice
xschem netlist
simulate
after 1000 ;# wait 1sec for ngspice to start and read netlist
# change corner and output raw filename
exec sed -i {/^\.lib/s/tt/ff/} $spicefile
exec sed -i {s/sky130_oscillator.raw/sky130_oscillator_ff.raw/} $spicefile
simulate
after 1000 ;# wait 1sec for ngspice to start and read netlist
# change corner and output raw filename
exec sed -i {/^\.lib/s/ff/ss/} $spicefile
exec sed -i {s/sky130_oscillator_ff.raw/sky130_oscillator_ss.raw/} $spicefile
simulate
"
NOTE: if you don't have enough processor cores it may be faster to run one simulation after the other.Diarmuid Collins
05/26/2024, 6:31 PMDiarmuid Collins
05/27/2024, 1:31 PMStefan Schippers
05/27/2024, 8:34 PMDiarmuid Collins
05/28/2024, 10:26 AMDiarmuid Collins
06/13/2024, 9:12 PMDiarmuid Collins
06/22/2024, 9:54 PMStefan Schippers
06/23/2024, 9:56 AMDiarmuid Collins
06/25/2024, 7:53 PM