The basic workflow is:
Darter also supports pseudo-differential models. Add the suffix '_DIFF' for thekdifferential model. Threshold information is pulled from the 'Diff Pin' section or the 'Receiver Thresholds'.
Pin parasitics are supported with additional subckts:
There is limited support for board description files. If the board description file only connects from an external pin to internal nodes, it can be used. This is the case for board description files that describe multiple dies in a single package. It is done the same way with component pin parasitics except that a different symbol must be used depending on the number of die pads the along the path.
Because the buffers that darter generates respond to binary data, there are two scripts to assist in the generation of that data.
Darter also includes several tools for post-analysis based on Werner Hoch's spice_read.py tool.
The below image shows an overlaid comparison of a Micron U69A HSPICE model (solid grey, pink, blue), a Micron U69A IBIS model with existing IBIS tool (dotted grep, pink, blue), and the output of the model generated by darter.py (overlying solid orange, blue, and green):
Note that the Darter simulation results overlay the Micron IBIS results perfectly.
An example circuit using pseudo-differential models is shown below:
The below circuit utilize a board description file:
Example eye diagram generated by eye-pattern.py: