psstools builds a practical, open toolchain around the Accellera Portable Test and Stimulus Standard (PSS) — from parsing and static analysis to compilation and SystemVerilog integration. The goal: take a graph of possible behaviors and generate one concrete, traversable scenario, the same way the mark above lights a single chosen path through a greyed-out space of scenarios.
| Repository | What it does |
|---|---|
| pssc | The PSS compiler. Parses PSS, maps it to the Zuspec IR, and lowers to targets such as Python and SystemVerilog. |
| pssparser | ANTLR4-based parser and AST/data model for the PSS language, with a plug-in system for custom checkers. |
| pss-sv-if | PSS-to-SystemVerilog core interface library for connecting generated stimulus to SV testbenches. |
| psstools.github.io | Documentation site for the toolchain. |
# Compile a PSS model to live Python classes
pip install pssc
pssc compile model.pss --target python -o out/
# Lint/check a PSS model
pssparser --list-checkers
pssparser model.pssFull documentation lives at psstools.github.io.
We welcome issues and pull requests across all repositories. Head to the project you're interested in to file an issue or open a PR.
Before opening a pull request, please read CONTRIBUTING.md — it covers the inbound terms and the two things asked of every contribution:
- Sign off your commits.
git commit -sadds aSigned-off-bytrailer certifying the DCO. A CI check enforces it. This is not a copyright assignment — projects here carry shared copyright (Copyright <year> Matthew Ballance and Contributors) and you keep yours. - Follow the Code of Conduct.
Substantial contributions additionally need a signed ICLA — or, for work done on company time, a CCLA. The threshold is published and generous, and most contributions never reach it. Contributions are licensed under Apache-2.0 and may be relicensed or contributed to a standards body such as Accellera as part of long-term stewardship — see the relicensing notice.