This release is a pre-release and may not be stable for production use.
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.
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 Median 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)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file singr-0.0.1.dev2-py3-none-any.whl.
File metadata
- Download URL: singr-0.0.1.dev2-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7789901ec92e32632ee55196143909819412dfeba5f351349c755fd898e320d4
|
|
| MD5 |
6ff9278ea170fb1b8f5c3d4733a2696f
|
|
| BLAKE2b-256 |
537b3a2ca804c4a54e862e1ce7c981194a9eb1a5519aaf156e9b454e2dc33e3e
|
Provenance
The following attestation bundles were made for singr-0.0.1.dev2-py3-none-any.whl:
Publisher:
release.yml on Jamanaman/SINGr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
singr-0.0.1.dev2-py3-none-any.whl -
Subject digest:
7789901ec92e32632ee55196143909819412dfeba5f351349c755fd898e320d4 - Sigstore transparency entry: 2582888870
- Sigstore integration time:
-
Permalink:
Jamanaman/SINGr@406b3247171ddd4937ca6cd7d8dc2b00df9faec7 -
Branch / Tag:
refs/tags/v0.0.1dev2 - Owner: https://github.com/Jamanaman
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@406b3247171ddd4937ca6cd7d8dc2b00df9faec7 -
Trigger Event:
push
-
Statement type: