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

Stanley Lin

04/10/2023, 9:25 PM
Hi, I am using ngspice to run the transient simulation on a post-layout netlist. I keep getting this
Time step too small
error messages. I don't know if the reason is that there are some undefined nodes or singular matrix. However the extracted netlist is too complicated to solve these floating points or singular matrix if these are actually what cause the
Time step too small
error. Does anyone know how to avoid this error? Thanks! It seems that the transient initial op condition of each node is successfully calculated and this error happens during the transient.
🌍 1
s

Stefan Schippers

04/11/2023, 7:19 AM
You need to resolve the singular matrix issue. Usually some input node is not tied to a voltage source or unconneted.
s

Stanley Lin

04/11/2023, 8:25 PM
Thanks @Stefan Schippers. Do you have any advice for an efficient way to do that since my netlist is a post-layout netlist so there are thousands of caps in it. Or I need to do it manually.
s

Stefan Schippers

04/11/2023, 9:50 PM
If the extraction tool works well it does not create singularities. Verify all standard cells power and well/substrate connections, then verify if all top level inputs are driven. I can't say much more without digging into the netlist. ALso carefully read ngspice logs, usually it lists some nodes that are causing problems, in some cases this information could be useful (this is not always the case, unfortunately).
s

Stanley Lin

04/11/2023, 9:52 PM
Thank you so much
I will try to figure out what causes the singular matrix problem
s

Stefan Schippers

04/11/2023, 9:59 PM
Just for testing you can also try to remove all filler cells from the netlist.