if I extract manually with magic to get a full net...
# analog-design
m
if I extract manually with magic to get a full netlist including all transistors, then it doesn't work as I expect
@Tim Edwards says: You are likely causing problems by trying to include the SPICE library of the standard cells when the standard cells have been extracted and placed in the output file. I'm not sure why ngspice doesn't throw an error for the 1st netlist; the netlist contains "black-box" entries for the standard cells, and so from the standpoint of ngspice, all the subcells are empty. I thought that ngspice doesn't like subcircuits to be redefined, but what would be consistent with the evidence is that ngspice takes the first definition of the subcircuit and ignores any subsequent ones. So with the 1st netlist, the black-box entries are just ignored. But for the 2nd netlist, the extracted entries are ignored, and the library versions from the ".include" statement have a different pin order and so don't match up with the subcircuit calls, and so the simulation produces bad output (if it ever runs at all). As an aside remark, you should be using the open_pdks installation with its many, many patches to the device models, not the skywater-pdk repository, although for circuits having just digital logic with MOSFETs it probably doesn't make any difference.
by commenting out the include of the sky130_fd_sc_hd.spice in the broken version, that works
I couldn't find the library to include from the open_pdks installation
can you give me the paths to the libs I should be using for each version?
t
.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
will load all device models. Be sure to copy
/usr/share/pdk/sky130A/libs.tech/ngspice/spinit
to the local directory where you are running simulations and change the name to
.spiceinit
, or else ngspice will take ages to read all the device models.
👍 1