stineje / CharLib

Open-source repository for a standard-cell library characterizer using complete open-source tools
GNU General Public License v2.0
16 stars 2 forks source link

spice model parameters #24

Closed thesourcerer8 closed 3 months ago

thesourcerer8 commented 7 months ago

If I specify the typical parameter to a model, it seems to be handled as a tuple value, but then it crashes:

models:
        - ../Tech.GF180MCU/sm141064.ngspice typical # This syntax tells CharLib to use the '.lib file section' syntax for this model
        - ../Tech.GF180MCU/design.ngspice

This is the result:

Searching for YAML files in . Reading configuration found in "libresilicon-charlib.yml" Prefixed unit not found for 1e-15 J and power -15 Prefixed unit not found for 1e-15 J and power -15 Recognized INV pin Y function as INV Recognized MARTIN1989 pin C function as OR2 Running input_capacitance for pin A of cell INV Traceback (most recent call last): File "/home/philipp/.local/lib/python3.10/site-packages/PySpice/Spice/Netlist.py", line 928, in getattr return self.getitem(attribute_name) File "/home/philipp/.local/lib/python3.10/site-packages/PySpice/Spice/Netlist.py", line 921, in getitem raise IndexError(attribute_name) # KeyError IndexError: lib

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/philipp/.local/bin/charlib", line 8, in sys.exit(main()) File "/home/philipp/.local/lib/python3.10/site-packages/charlib/characterizer/run.py", line 60, in main args.func(args) File "/home/philipp/.local/lib/python3.10/site-packages/charlib/characterizer/run.py", line 127, in run_charlib library = characterizer.characterize() File "/home/philipp/.local/lib/python3.10/site-packages/charlib/characterizer/Characterizer.py", line 39, in characterize cells = [self.characterize_cell(cell) for cell in self.tests] File "/home/philipp/.local/lib/python3.10/site-packages/charlib/characterizer/Characterizer.py", line 39, in cells = [self.characterize_cell(cell) for cell in self.tests] File "/home/philipp/.local/lib/python3.10/site-packages/charlib/characterizer/Characterizer.py", line 48, in characterize_cell return cell.characterize(self.settings) File "/home/philipp/.local/lib/python3.10/site-packages/charlib/characterizer/TestManager.py", line 307, in characterize input_capacitance = self._run_input_capacitance(settings, pin.name) @ u_F File "/home/philipp/.local/lib/python3.10/site-packages/charlib/characterizer/TestManager.py", line 256, in _run_input_capacitance self._include_models(circuit) File "/home/philipp/.local/lib/python3.10/site-packages/charlib/characterizer/TestManager.py", line 139, in _include_models circuit.lib(*model) File "/home/philipp/.local/lib/python3.10/site-packages/PySpice/Spice/Netlist.py", line 930, in getattr raise AttributeError(attribute_name) AttributeError: lib

If I remove the "typical", it continues running.

thesourcerer8 commented 3 months ago

The solution was to install the customized PySpice version.