Or Dicker
03/14/2024, 1:13 PMcace-gui cace/sky130_od_ip__tempsensor.txt
and getting:
Checking for out-of-date schematic-captured netlists.
Process Process-1:
Traceback (most recent call last):
File "/home/dicker/anaconda3/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/home/dicker/anaconda3/lib/python3.11/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/dicker/anaconda3/lib/python3.11/site-packages/cace/cace_gui.py", line 888, in cace_process
charresult = cace_run(datasheet, name)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dicker/anaconda3/lib/python3.11/site-packages/cace/cace_cli.py", line 411, in cace_run
fullnetlistpath = regenerate_netlists(datasheet)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dicker/anaconda3/lib/python3.11/site-packages/cace/common/cace_regenerate.py", line 1279, in regenerate_netlists
result = regenerate_schematic_netlist(dsheet)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dicker/anaconda3/lib/python3.11/site-packages/cace/common/cace_regenerate.py", line 973, in regenerate_schematic_netlist
need_schem_capture = check_schematic_out_of_date(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dicker/anaconda3/lib/python3.11/site-packages/cace/common/cace_regenerate.py", line 339, in check_schematic_out_of_date
if not os.path.isfile(spicepath):
^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen genericpath>", line 30, in isfile
TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
Tim Edwards
03/14/2024, 1:24 PMnetlist_schem: netlist/schem
netlist_lvs: netlist/lvs
netlist_rcx: netlist/rcx
to just:
netist: netlist
Tim Edwards
03/14/2024, 1:25 PMTim Edwards
03/14/2024, 2:23 PMdccurrent_vdd.sch
needs to add the file extension .data
to the filename in the wrdata
command, to match what the characterization file is looking for (the format
line in simulate
).
With the update to CACE and the .data
in the testbench schematic, I can successfully run the characterization simulation.Or Dicker
03/14/2024, 2:37 PMSubcircuit sky130_od_ip__tempsensor was not found!
Do I need to define DUT_path
?Tim Edwards
03/14/2024, 3:02 PMOr Dicker
03/14/2024, 3:03 PM.lib {PDK_ROOT}/{PDK}/libs.tech/combined/sky130.lib.spice
you got */combined/*
, I use /usr/local/share/*
, I think that the default is /usr/share/*
.
I think all that should be resolved in xschemrc
Tim Edwards
03/14/2024, 3:04 PM{PDK_ROOT}
with ${PDK_ROOT}
and then xschem should handle it (likewise, replace {PDK}
with ${PDK}
.Or Dicker
03/14/2024, 3:06 PMOr Dicker
03/14/2024, 3:08 PM*/combined/*
that you have in your example, right?Tim Edwards
03/14/2024, 3:08 PMTim Edwards
03/14/2024, 3:09 PMcombined
? The sky130 PDK (since about half a year ago) has the newer continuous models in the path libs.tech/combined/
. If you want to use the older, discrete-binned models, change that to libs.tech/ngspice/
.Or Dicker
03/14/2024, 3:11 PMcombined
is something local on your machine.Or Dicker
03/14/2024, 3:11 PMTim Edwards
03/14/2024, 3:13 PMChristoph Maier
03/15/2024, 2:58 PMcombined
models not barf at you if you want to draw 80um long transistors?
[Personal observations on the reliability of the shuttle]Christoph Maier
03/15/2024, 3:43 PMpython3 -m pip install --upgrade cace
~/EDA/efabless/chipalooza2024/sky130_od_ip__tempsensor$ cace-gui
just works!
On another computer with a different setup!!
THIS IS SPECTACULAR!!!
Only one thing:
I'd like to log anything and everything that the tools report,
and the text in cace-gui
is not selectable.
Is that available in some log file or do I need to take a screenshot to document this?
The terminal output can be caught by copy-and-paste, which I did.Tim Edwards
03/15/2024, 4:15 PMSettings-->Log simulation output
. I have not tested that setting recently and I'm not sure how much of the terminal output it will capture. The switch to multithreading already split the output between the console and terminal, and I have not yet worked on figuring out how to get it all back into one place.Christoph Maier
03/16/2024, 10:49 AMTim Edwards
03/16/2024, 2:04 PM.lib $PDK_ROOT/sky130A/libs.tech/combined/sky130.lib.spice tt_mm
), keep the testbench simulation simple, measure it 100+ times and get a statistically meaningful spread of results, and then measure the circuit performance based on some standard cutoff like three sigma.