Docs / Command Reference

Invocation

python3 opentest <command> [options]

Use help for command-specific details:

python3 opentest help

If you installed via Nix, the equivalent entry point is:

nix run github:ranaumarnadeem/OpenTestability -- <command> [options]

(or just opentest <command> [options] after nix profile install.)

OpenTestability ingests Yosys JSON netlists. (A leading --yosys flag is accepted and ignored for backward compatibility.)

Commands

Command Purpose
cop COP probabilistic metrics on a Yosys JSON netlist
scoap SCOAP metrics on a Yosys JSON netlist
analyze_and_add_tp End-to-end analysis plus test-point insertion
status Show current project status
help Show help text

Options

Option Meaning
--tech PDK / technology library: sky130 (default), osu035, ihp, nangate, auto
-r, --reconvergence Enable reconvergence analysis alongside metrics
-a, --algorithm Reconvergence algorithm: basic, simple, advanced, dominator
--scoap Use SCOAP metrics (default for analyze_and_add_tp)
--cop Use COP metrics
-i, --input Input Yosys JSON netlist
-o, --output Output file name
-v, --verbose Detailed logs and reports
-j, --json Write JSON output where supported
-t, --threshold TPI threshold
-m, --max-points Max test points to insert

Quick recipes

SCOAP plus TPI:

python3 opentest scoap -i <design.json> -j
python3 opentest analyze_and_add_tp -i <design.json> --scoap -t 50 -m 10

With technology selection:

python3 opentest analyze_and_add_tp -i <design.json> --scoap -t 50 -m 10 --tech sky130
python3 opentest analyze_and_add_tp -i <design.json> --scoap -t 50 -m 10 --tech osu035

With reconvergence-aware analysis:

python3 opentest analyze_and_add_tp -i <design.json> --scoap -r -t 50 -m 10 --tech sky130

FaultFlow integration

OpenTestability exposes a machine interface for FaultFlow to obtain reconvergence structural data (fanout signals with Yosys net IDs and enriched reconvergence records) before ATPG, without inserting test points. The interface writes tpi_manifest.json with net-ID-enriched structural_hints that FaultFlow reads for fault ordering.

See docs/faultflow_preflight_protocol.md for the full contract, field schema, and invocation example.