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
- Test Point Insertion (TPI): Automated design-for-testability (DFT) implementation
- Observation points for internal signal visibility
- Control points for enhanced signal controllability
- Metrics-driven test point selection
- Industry-standard Verilog output compatible with EDA tools
Supporting Analysis Features
- Advanced Testability Metrics: COP and SCOAP analysis for TPI guidance
- Reconvergence Detection: Multiple algorithms for accurate correlation analysis
- Parallel Computation: Automatic optimization for large circuits
- Professional CLI: Interactive tool environment similar to commercial EDA tools
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
- Automated DFT: Insert observation and control points automatically
- Metrics-Driven: Uses COP/SCOAP metrics to identify critical signals
- Industry Compatible: Generates Verilog compatible with commercial EDA tools
- Professional Interface: Clean separation of functional and test logic
Advanced Analysis Capabilities
- COP Analysis: Probability-based controllability and observability metrics
- SCOAP Metrics: Traditional complexity-based testability analysis
- Reconvergence Detection: Multiple algorithms for correlation-aware analysis
- Parallel Computation: Automatic optimization for large circuits
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
Navigation
Get Started
- Installation Guide - Setup and first run
- TPI Quick Start - Test point insertion workflow
Test Point Insertion
- TPI Guide - Complete TPI documentation
- TPI Examples - Step-by-step examples
- TPI Command Reference - Command options and usage
Testability Analysis
- COP Analysis - Probability-based metrics
- SCOAP Metrics - Complexity-based analysis
- Command Reference - All available commands
- Examples - Practical usage examples
Advanced Topics
- Algorithm Details - Mathematical foundations
- API Reference - Programming interfaces
- Reconvergence Integration - Advanced correlation analysis
Enhanced Circuit Support
Handles both combinational and sequential circuits with advanced DFT capabilities:
- Combinational Circuits: Full TPI support with observation and control points
- Sequential Circuits: Register-aware analysis with storage element handling
- Pipelined Designs: Advanced reconvergence correlation for complex pipelines
Getting Started
- Install OpenTestability - Complete setup guide
- TPI Quick Start - Your first test point insertion
- Learn TPI Commands - Command reference and options
- Explore Examples - Step-by-step workflows
- 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
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Author: Rana Umar Nadeem (@ranaumarnadeem)