Design for Test — scan architecture planning, scan insertion, ATPG pattern generation, MBIST for embedded memories, and JTAG boundary scan. Use when planning a DFT strategy, inserting scan, generating test patterns, or verifying that a chip will be testable in manufacturing.
digital-chip-design-agents:dft-orchestrator agent and pass the full user
request and any available context. Do not execute stages directly.dft-orchestrator mid-flow: do not spawn a new agent.
Treat this file as read-only — return the requested stage rules, sign-off
criteria, or loop-back guidance to the calling orchestrator.Spawning the orchestrator from within an active orchestrator run causes recursive delegation and must never happen.
Guide the complete DFT flow from architecture planning through ATPG pattern generation, BIST insertion, JTAG setup, and sign-off. Ensures the manufactured chip meets quality targets (fault coverage and DPPM).
yosys) — basic scan insertion for open-source flowsopenroad) — scan insertion within the OpenROAD/ORFS flowtmax) — pattern generation, fault simulation, and compressionmodus) — ATPG, scan DRC, and diagnosistessent) — full DFT suite: scan, ATPG, MBIST, IJTAGscan_en (SE): primary input, must be controllable from ATEscan_in[] (SDI): one per chainscan_out[] (SDO): one per chaintest_clk: separate from functional clock or gated version| Fault Model | Target Coverage |
|---|---|
| Stuck-at (SAF) | ≥ 99% |
| Transition Delay | ≥ 95% |
| Cell-Aware | ≥ 95% |
| Bridging | ≥ 90% |
| Path Delay | Critical paths only |
After each stage completes (regardless of whether an orchestrator session is active),
write or overwrite one JSON record in memory/dft/experiences.jsonl keyed by
run_id. This ensures data is persisted even if the flow is interrupted or called
without full orchestrator context.
Use run_id = dft_<YYYYMMDD>_<HHMMSS> (set once at flow start; reuse on each
stage update). Every JSON record written must include a top-level "run_id" field
whose value matches this key — reject or regenerate if missing before writing. Set
signoff_achieved: false until the final sign-off stage completes.