OpenTestability is an open-source DFT toolkit for gate-level circuits. It combines testability analysis (COP/SCOAP), reconvergence-aware scoring, and automated test point insertion (TPI) in one workflow.
- practical TPI flow from metrics to enhanced Verilog
- dual-mode operation for both parsed workflows and native Yosys JSON
- reconvergence-aware analysis for better observability estimates
- verbose reporting and reproducible logs for debug and benchmarking
WSL/Linux is the recommended development environment.
git clone https://github.com/ranaumarnadeem/OpenTestability.git
cd OpenTestability
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtRun a first command:
python3 opentest --genus cop -i designs/priority_enc.v -j# WSL/Linux recommended
source venv/bin/activate
# Run tests
pytest tests/ -v
# Run fast smoke tests
pytest tests/ -m smoke -vFor detailed developer testing workflow, see Developer Test Suite Guide.
OpenTestability/
|-- opentest
|-- src/opentestability/
| |-- core/
| |-- parsers/
| |-- yosys/
| |-- visualization/
| `-- utils/
|-- docs/
|-- tests/
| |-- unit/
| |-- integration/
| |-- system/
| `-- fixtures/
|-- data/
| |-- input/
| |-- parsed/
| |-- dag_output/
| |-- reconvergence_output/
| |-- results/
| `-- TPI/
|-- results/
| |-- log/
| `-- reports/
`-- output/
| Mode | Use this when | Core commands |
|---|---|---|
--genus |
You want full parse/convert/dag plus TPI workflow control | parse, convert, dag, cop, scoap, tpi |
--yosys |
You work from Yosys JSON and prefer streamlined commands | cop, scoap, analyze_and_add_tp |
Genus flow:
python3 opentest --genus cop -i designs/priority_enc.v -j
python3 opentest --genus tpi -i <netlist.json> -m <metrics.json> -t 50 -n 10 -vYosys flow:
python3 opentest --yosys scoap -i <design.json>
python3 opentest --yosys analyze_and_add_tp -i <design.json> --scoap -t 50 -m 10 -v- Documentation Home
- Getting Started
- Test Point Insertion Guide
- Examples
- Command Reference
- Algorithms Summary
- Genus Mode Guide (Developer)
- Developer Architecture Guide
- Developer Test Suite Guide
- API Overview
- SCOAP API
- Add better algorithms and handling for reconvergent fanouts, including BDD and Bayesian-theorem-inspired approaches.
- Add stronger parallelism for faster computation on large designs.
- Improve report format and readability for analysis and TPI outputs.
- Add a dedicated developer debug mode for deeper troubleshooting.
- Build tighter integration with Fault and other fault simulators, especially around TP-mode gaps in Fault.
- Improve flow by integrating selected Yosys command capabilities into OpenTestability workflows.
- Package OpenTestability as an installable package with cleaner distribution and setup.
Contributions are welcome. Start with CONTRIBUTING.md and open an issue for major proposals.
OpenTestability is licensed under Apache-2.0. See LICENSE.
