name: rtl-p3-uarch-design description: "Phase 3 uArch design. Concretizes P2 modules into sub-blocks with clock domains, protocol assignment, register/SRAM/FSM allocation. Validates via TLM-based BFM with per-block I/O logging." user-invocable: true argument-hint: "[--resume | uarch-focus]" allowed-tools: Bash, Read, Write, Edit, Task, Grep, Glob, AskUserQuestion
Prerequisites
Phase 2 completion required:
docs/phase-2-architecture/architecture.mdmust exist
If prerequisite is missing: WARNING — recommend running /rtl-agent-team:p2-arch-design.
Proceed with available artifacts — orchestrator will adapt scope.
Execution
Task(subagent_type="rtl-agent-team:p3-uarch-orchestrator", prompt="Execute Phase 3 uArch design. User input: $ARGUMENTS")
Do not perform any work directly. The orchestrator agent manages domain consultation, parallel uarch design + BFM development, BFM validation gate, and 5-reviewer 3-round review.
Workflow Notes
- Open Resolution: resolve all OPEN-2-* items from Phase 2
open-requirements.json - Zero-Opens Invariant: no unresolved OPEN-* items may pass to Phase 4
- Compliance Check: verify REQ-U-* uarch requirements against P1+P2 iron requirements
- Exit gate includes
compliance-passandzero-remaining-opens
P3 Exit Gate: Acceptance Criteria Advisory
Every REQ-U-* in docs/phase-3-uarch/iron-requirements.json should have ≥1 acceptance_criteria entry.
This is an advisory check (WARNING, not hard-block):
- If any REQ-U-* has no
acceptance_criteria(absent or empty array[]): emit WARNING listing the affected REQ IDs - Prompt uarch-designer to add missing criteria before P3 exit
- Proceed even if some REQ-U-* lack AC — downstream verification will operate at req_ids level (backward compatible)
P3 Exit Gate: Decomposition Completeness Advisory
After iron-requirements.json is finalized, verify decomposition completeness:
- Read docs/phase-1-research/iron-requirements.json — collect all Critical/High REQ-F-*
- Read docs/phase-2-architecture/iron-requirements.json — collect all Critical/High REQ-A-*
- For each Critical/High REQ-F-: check if at least one REQ-U- has it in
traces_to - For each Critical/High REQ-A-: check if at least one REQ-U- has it in
traces_to - Report:
- COVERED: upstream REQ has ≥1 REQ-U-* tracing to it
- UNCOVERED: no REQ-U-* traces to this upstream REQ → WARNING
This is advisory (WARNING, not hard-block). UNCOVERED Critical requirements should be investigated — they may indicate a decomposition gap or an intentional architecture decision (document rationale if intentional).