Methodology
How Photoniq predicts your coverage gaps.
Random simulation samples from a learned constraint distribution. When that distribution exhausts its idea diversity — typically at 85–87% — it stops finding new coverage bins, no matter how many more seeds you run. Photoniq reads your coverage database as structured data and infers which specific input conditions reach each remaining uncovered construct. It is not a smarter random generator — it is a coverage-aware predictor trained on how similar RTL structures have been reached before.
The AI model
Trained on RTL coverage patterns, not general code.
Photoniq's model was trained on coverage database exports from real RTL designs — toggle, line, FSM, and functional coverage bins annotated with the simulation stimulus that produced each hit. The model learns which RTL code patterns correlate with hard-to-reach logic and which stimulus patterns reliably unlock those paths.
At inference time, it reads your coverage database, identifies uncovered bins, maps them back to RTL code patterns it recognizes from training, and generates ranked stimulus hypotheses. This is not static analysis of RTL — it is prediction from behavioral coverage data.
The key advantage over directed-test writing: a DV engineer reading RTL must mentally simulate all possible execution paths from first principles. Photoniq's model has a prior — a learned distribution of what input sequences tend to reach each code pattern — and generates recommendations from that prior in seconds.
Data pipeline
From simulator export to ranked output: four steps.
Every step is auditable. The phnq-manifest.json output includes the full scoring chain — you can inspect why each recommendation was ranked where it was.
UCDB or SAIF file is read and normalized into a coverage bin graph. Each bin records: type (toggle/line/FSM/func), coverage count, and RTL source location.
Your RTL source is parsed into an AST + netlist-style graph. Each uncovered bin is mapped to its corresponding RTL code construct — the specific combinational or sequential logic that would toggle it.
The coverage gap model receives the indexed RTL structure and uncovered bin list. For each bin, it generates a probability distribution over test stimulus patterns most likely to reach that construct.
Candidate test scenarios are scored on three factors: predicted coverage bins hit (breadth), confidence of prediction (accuracy), and depth of RTL path reached (bug-escape risk). Final output is a ranked JSON manifest.
Accuracy and validation
We validate against held-out RTL test suites.
Our accuracy metric: what fraction of the top-10 ranked recommendations actually close coverage bins when run? We measure this on held-out RTL designs that the model has never seen during training.
A note on limitations
Photoniq's model performs best on RTL with standard coverage instrumentation (UCDB, toggle bins, FSM states). Proprietary IP with heavily obfuscated RTL or very small designs (<5K lines) may produce lower-confidence recommendations. Confidence scores in the manifest reflect this — low-confidence items (<0.6) should be treated as hypotheses, not certainties.