SINGr: An ngSPICE SI Simulation and Analysis Tool for Automated Simulation and Optimisation Workflows
Signal Integrity ngSPICE Analyser or SINGr (like singer) for short
This package is designed for the purpose of allowing one to specify arbitrary net topologies with modular structural components such as transmission line models, terminations, and behavioural models of components and then simulate them with a range of different workflows.
Features
Currently, only the base configuration structure is implemented, which uses a recursive tree structure with arbitrary node connections to allow for more complex structures. There are, however, two automated simulation and analysis workflows that have been implemented:
- Waveform Analysis
- This assesses all valid transitions and logic states (currently limited to NRZ/PAM2 waveforms) and provides, rise/fall time (at 10% and 90%), settling time (within 10% margin of stable value), slew rate, overshoot, and undershoot.
- Eye Analysis
- This segments a time series of logic transitions into chunks of 3 and then overlays them to assess eye width, eye height, eye amplitude, and logic levels.
For full API docs go here: https://singr.readthedocs.io/en/latest/index.html
Contribution
Developers can contribute to the tool by forking the repository and submitting pull requests.
Issues and Feature Requests
- Please record any bugs, issues and feature requests here: https://github.com/Jamanaman/SINGr/issues
- Detailed information on how any issue can be reproduced should be provided including any IBIS files used and version number of the program. Screenshots would also help.
References
This tool is built off of pyBIS2PICE (https://github.com/Jamanaman/pybis2spice) to translate IBIS Models that are used in SI simulations, ecdtools which allows one to parse and process ibis files, and InSpice as the interface into ngSPICE.
Eye Diagram analysis was implemented using a PAM4 Eye-Diagram Analysis algorithm [1] using Least Mean of Squares mode estimation instead of shorth mode estimation [2].
[1] Jargon, J. and Cheron, J. (2021), A Robust Algorithm for PAM4 Eye-Diagram Analysis, Proceedings of the Asia Pacific Microwave Conference, Brisbane, AU, [online], https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=932331 (Accessed June 29, 2026)
[2] Jargon, Jeffrey & Wang, Chih-Ming Jack & Hale, Paul. (2008). A Robust Algorithm for Eye-Diagram Analysis. Journal of Lightwave Technology. 26. 3592-3600. [online], https://ieeexplore.ieee.org/document/4758639 (Accessed June 29, 2026)
Metadata
Release files for SINGr 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| singr-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / singr-0.0.1-py3-none-any.whl
| Download URL | singr-0.0.1-py3-none-any.whl |
|---|---|
| Size | 19.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a581d4455dde8143f20badbce448aaa152c941ee34d7adccbc031e3c258c3fb3
|
|
BLAKE2b-256 checksum How to use checksums |
b104be526cc0ff1db6b643e50c4db197bbf8ff3395020b7e683229cae8c78efe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency log