OpenTestability Documentation

Welcome to OpenTestability - the professional test point insertion and circuit testability analysis tool.

Overview

OpenTestability is a comprehensive framework for automated test point insertion and circuit testability analysis, featuring:

Primary Features

Supporting Analysis Features

Primary Workflow

Test Point Insertion

# Complete TPI workflow
./opentest cop -i design.v -j              # Generate testability metrics
./opentest tpi -i design.json -m metrics.json -t 50 -n 10

Supporting Analysis

# Testability analysis for TPI guidance
./opentest scoap -i design.v              # Alternative metrics
./opentest cop -i design.v                # Probability-based metrics

Architecture

OpenTestability
├── Test Point Insertion (TPI) - Primary Feature
│   ├── main.py - TPI orchestrator and CLI entry point
│   ├── analyzer.py - Metrics analysis and candidate ranking
│   ├── designer.py - Test point design with loop prevention
│   ├── inserter.py - Transactional netlist modification
│   ├── verilog_writer.py - Verilog-2001 code generation
│   └── validator.py - Result validation and reporting
├── Supporting Analysis Engines
│   ├── COP (Controllability Observability Program)
│   ├── SCOAP Metrics Calculation
│   ├── DAG Builder
│   └── Reconvergence Analyzers (3 algorithms)
├── Parsers
│   ├── Verilog Parser (pyverilog-based)
│   └── JSON Converter
├── Visualization
│   └── Graph Renderer (Graphviz)
└── CLI Tool Environment
    └── Interactive Command Shell

Key Features

Test Point Insertion

Advanced Analysis Capabilities

Professional Tool Environment

./opentest

# Primary TPI workflow
opentest> cop -i design.v -j
opentest> tpi -i design.json -m metrics.json -t 50 -n 10

# Supporting analysis workflow
opentest> parse -i priority_encoder.v
opentest> dag -i priority_enc_parsed.json  
opentest> scoap -i priority_enc.txt
opentest> reconv -i priority_enc_dag.json
opentest> visualize -i priority_enc_dag.json

Get Started

Test Point Insertion

Testability Analysis

Advanced Topics

Enhanced Circuit Support

Handles both combinational and sequential circuits with advanced DFT capabilities:

Getting Started

  1. Install OpenTestability - Complete setup guide
  2. TPI Quick Start - Your first test point insertion
  3. Learn TPI Commands - Command reference and options
  4. Explore Examples - Step-by-step workflows
  5. Advanced Topics - API and programming interfaces

Citation

If you use OpenTestability in your research, please cite:

@software{opentestability,
  title = {OpenTestability: Professional Test Point Insertion and Circuit Testability Analysis Tool},
  author = {Rana Umar Nadeem},
  year = {2026},
  version = {0.0.1},
  url = {https://github.com/ranaumarnadeem/OpenTestability}
}

License

This project is licensed under the MIT License.

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Support