An open-source platform that automates signal integrity (SI) and power integrity (PI) extractions.
Describe your simulations in a set of tables, and OpenSIPI does the rest: it parses the input, generates the scripts your EDA tool runs, launches and monitors the simulations, post-processes the extracted results, and writes a report. The focus so far is S-parameter and DCR extraction.
Important
OpenSIPI is free and open source, but the back-end solvers it drives are commercial tools. Extracting anything requires the appropriate commercial licenses, which are not included here.
| Extraction | Solver | Purpose | Result |
|---|---|---|---|
PDN |
Cadence PowerSI | Power delivery network (Z-param) | Touchstone (.sNp) |
LSIO |
Cadence PowerSI | Low-speed IO (S-param) | Touchstone (.sNp) |
HSIO |
Cadence Clarity | High-speed IO (S-param, 3D FEM) | Touchstone (.sNp) |
DCR |
Cadence PowerDC | DC resistance | CSV |
- Python 3.10 or newer
- A licensed installation of the Cadence Sigrity tools
Open a terminal or command window. Install or update the tool using the following command.
pip3 install git+https://github.com/rivosinc/opensipiThe starter kits walk you through a complete extraction on a real open-source board, from downloading the design to reading the report.
Once your input tables and opensipi_config folder are in place, a run is a
handful of lines:
from opensipi.integrated_flows import sim2report
input_info = {
"input_dir": r"C:\SIPIProj\Olympus\Sim_Input" + "\\",
"input_type": "csv",
"input_folder": "Sigrity_PDN",
"op_run_name": "",
}
mntr_info = {
"email": "",
"op_pause_after_model_check": 1,
}
report_dir = sim2report(input_info, mntr_info)Full documentation lives in docs/Home.md.
| Page | What it covers |
|---|---|
| Overview of the Application | The three layers OpenSIPI is built from. |
| Installation and Configuration | The opensipi_config folder and its YAML files. |
| Front-end Files IO | Every input sheet and keyword, with worked examples. |
| Mid-layer Platform | The run folder structure and the extraction workflow. |
| Back-end Simulation Solvers | Which solver is used for which extraction type. |
| User Manual | API reference for the flows and the Platform class. |
examples/Olympus/ is a full worked example built on the
Intel Olympus board from the Open Compute Project: input CSVs, launch scripts,
and sample output reports for all four extraction types.
Contributions in these areas are especially welcome:
- Enable back-end extraction tools from more vendors.
- Include more options for S-parameter post-processing.
- Beautify reports.
Fork the repo, make your changes, and open a pull request. See CONTRIBUTING.md to get set up, and CODE_OF_CONDUCT.md for the ground rules.
You can also support the project as a user: integrate the platform into your workflow, report bugs, and tell us which features would help.
Created and maintained by Yansheng Wang. See the contributors for the full list.
Apache-2.0. Before using this application for any purpose, you MUST read and understand the terms put forward in the accompanying LICENSE file.
The project is at its early stage and is actively under development.
