Internal reference: rtl p5s func verify policy (agent-loaded; do not invoke).
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Each seed tests different random stimulus ordering
A module passes multi-seed regression only when ALL seeds pass
Use COCOTB_RESOLVE_X=RANDOM for X-state handling
Use RANDOM_SEED={seed} for reproducibility
Execution Strategy
Local-first runtime: default to local execution on current host (--mode local)
Default parallel budget: use max(1, nproc-2) unless user explicitly overrides --parallel
AWS usage policy: aws-batch is allowed only when the user explicitly asks to use AWS
and explicit gate/runner wiring exists (RTL_ALLOW_AWS=1, RTL_AWS_BATCH_RUNNER)
Pipelined: as each module's TB completes → immediately launch sim (don't wait for all TBs)
Module-level parallelism: each module's TB + sim runs as an independent parallel task
Multi-seed parallelism: queue 5 seeds × N modules; local active workers stay within max(1, nproc-2)
Incremental coverage: coverage-analyst starts partial analysis on completed modules
Early termination: >5% failure rate across seeds → halt and report immediately
PASS — all requirements (or acceptance criteria) verified with passing tests
PARTIAL_PASS — some Critical/High ac_ids are PARTIAL (not yet VERIFIED/FORMAL).
At Stage 1 module graduation: WARNING (proceed). At Stage 3 final audit: escalated to FAIL.
FAIL — M requirements/criteria UNTESTED, K with failing tests
Any REQ (or AC) UNTESTED → testbench-dev must generate additional tests
PARTIAL Critical/High ac_ids → WARNING at this stage, must be resolved before Stage 3
cocotb Ecosystem Quick Reference
cocotb-bus: Base classes for Driver, Monitor, and Scoreboard
cocotbext-axi: Ready-to-use AXI4/AXI4-Lite/AXI4-Stream masters and slaves
This policy ensures that test failures are immediately connected to requirements,
enabling prioritized debugging and requirement-level risk assessment.
Escalation & Stop Conditions
cocotb not installed → halt and route setup through /rtl-agent-team:rat-setup
Failure persists after 2 RTL fix rounds → escalate to rtl-architect with waveform analysis
Coverage below 80% after full regression → invoke rtl-p5s-coverage-analyze skill
cocotb signal name mismatch error → testbench-dev must fix to use i_/o_ convention
Requirements with NO TEST COVERAGE after additional test generation → escalate to user
Requirement traceability verdict FAIL with persistent test failures → escalate to rtl-p4-implement
Final Checklist
All cocotb tests use correct signal names (dut.i_*, dut.o_*, dut.sys_clk, dut.sys_rst_n)
sim/regression/seed_{seed}_results.json written per seed
Early termination applied if failure rate >5%
Requirement Traceability Matrix produced (AC-level when structured acceptance_criteria exist, REQ-level otherwise)
Every REQ-NNN in docs/phase-1-research/iron-requirements.json (canonical) or legacy docs/phase-1-research/requirements.json (fallback) covered by at least one test
When structured AC exists: every Critical/High ac_id is VERIFIED, FORMAL, or PARTIAL (PARTIAL = PARTIAL_PASS verdict at Stage 1, escalated to FAIL at Stage 3 final audit). UNTESTED = FAIL.
All covered requirements pass their tests (or failures escalated)
Traceability verdict is PASS or PARTIAL_PASS (PARTIAL_PASS = WARNING at Stage 1, escalated to FAIL at Stage 3)