소스 정보
- 저장소
- babyworm/rtl-agent-team
- 최근 소스 활동
- 2026년 8월 23일 23:44
- 감지된 SKILL.md 언어
- 영어
- 스타
- 50
- 포크
- 11
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/babyworm/rtl-agent-team --skill rtl-p5-verify-policy명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | rtl-p5-verify-policy |
| description | Internal reference: rtl p5 verify policy (agent-loaded; do not invoke). |
| user-invocable | false |
Stage 1 (Module): Each module independently verified in parallel across 9 categories. Stage 2 (Top): System-level verification after ALL modules graduate. Stage 3 (Final): Compliance review + summary generation.
Core principle: Module-level verification first, top-level only after module graduation (criteria: Module Graduation Gate below). Only graduated modules participate in top-level integration. This prevents wasting top-level sim time on modules with known bugs.
Applied at both module-level (Stage 1) and top-level (Stage 2). Agent/sub-orchestrator routing per category is OWNED by the p5-verify-orchestrator agent prompt ("Verification Categories" table).
V1: Lint (final comprehensive)
V2: SVA Completion + Formal
V3: CDC/RDC Analysis
V4: Protocol Compliance (if bus interfaces)
V5: Functional Regression (Tier 3/4)
V6: Coverage Analysis
V7: Performance Verification
V8: Synthesizability + PPA Estimation
V9: Code Review + Refactoring
Parallel Group A: V1(Lint) + V2(SVA/Formal) + V3(CDC) + V4(Protocol) + V8(Synth Est.)
Sequential: V5(Functional) starts after V1 pass (lint-clean required for sim)
Incremental: V6(Coverage) starts as V5 data arrives
Sequential: V7(Performance) after V5 pass (functional correctness required)
Final: V9(Code Review) after V1-V8 results inform review scope
A module graduates when ALL 9 checks pass. The per-check criteria are stated ONCE, normatively, in "Final Checklist — Stage 1 (Per Module)" below (PARTIAL_PASS accepted for V5 AC-level checks — WARNING, not FAIL).
On FAIL: invoke rtl-p4s-bugfix (feedback loop, max 2 per module). After fix, re-verify ONLY the failed categories (not all 9).
When structured acceptance_criteria (with ac_id) exist in iron-requirements: Module graduation (Stage 1):
Stage 3 audit (final, pre-P6): per "Requirement Traceability Gate (P6 Entry Blocker)" below and Final Checklist Stage 3 (no Critical/High ac_id UNTESTED or PARTIAL). When no structured AC: existing REQ-level graduation applies.
All top-level checks PASS → proceed to Stage 3. On FAIL → classify and fix:
Per-module JSON with fields: module, status (initial "pending"), checks object with
one key per category — v1_lint, v2_sva_formal, v3_cdc, v4_protocol (allows "n/a"),
v5_functional, v6_coverage, v7_performance, v8_synth_est, v9_code_review — each
initialized "pending", plus feedback_loops (count, initial 0) and graduated (bool, initial false).
Long test suites split by scenario category:
| Category | Description | Typical Vector Count |
|---|---|---|
| basic | Normal operation, happy path | 50-100 |
| corner_case | Boundary conditions, edge cases | 100-200 |
| stress | Maximum throughput, back-to-back, full FIFO | 200-500 |
| error_handling | Invalid inputs, error injection, recovery | 50-100 |
Each scenario category runs as independent parallel agent. Multi-seed regression per scenario (5 seeds default: 1, 42, 123, 1337, 65536). Total: M modules × S scenarios × 5 seeds = massive parallelism. Early termination: >5% failure rate → halt and report.
For very large modules, further split by feature within each category.
Minimum 3 rounds: Draft → Strengthen → Harden.
sv2v --write=formal/{module}_v2v.v
explicitly on DUT RTL only before SBY, then verify the output file exists and is non-empty..sby config references copied basenames for _v2v.v and *_formal_harness.sv.Post-exclusion targets: line ≥ 90%, toggle ≥ 80%, FSM ≥ 70% (normative statement: Final Checklist Stage 1, V6 items).
Iterative coverpoint refinement (minimum 3 rounds).
Generate additional tests for HIGH priority gaps. Re-run regression for new tests.
When convergence is detected (2 consecutive iterations with < 0.5% improvement),
apply Coverage Exclusion Protocol per rtl-p5s-coverage-policy: classify unreachable bins,
generate exclusion files, document in reviews/phase-5-verify/{module}-coverage-exclusions.md,
and report both raw and post-exclusion numbers.
Both Module-level (V8) and Top-level (T8):
run_syn.sh — handles tool selection and sv2v conversion internally (Layer 2).
--skip-if-unavailable is permitted only for an explicitly requested
exploratory estimate, never for synthesis signoff or module graduation.syn-tool-profiles):
Module-level (Stage 1 V8): → Always: synthesis estimation with NanGate45 + NAND2 gate count → SDC: per-module clock/IO constraints
Top-level (Stage 2 T8): → Always: full synthesis estimation with NanGate45 + SDC → User requested full synthesis? → additionally export netlist + JSON report → Area metric: ALWAYS NAND2-FO2 gate equivalents (NOT LUTs, NOT raw cell count)
Cap concurrent verification agents at ~20-30 via run_in_background regardless of theoretical parallelism.
| Failure Type | Scope | Fix Approach | Re-verify |
|---|---|---|---|
| UNIT_FIX (lint) | Single module V1 | rtl-coder fix | V1 only |
| UNIT_FIX (SVA) | Single module V2 | rtl-p4s-bugfix | V2 only |
| UNIT_FIX (CDC) | Single module V3 | rtl-coder add sync | V3 only |
| UNIT_FIX (sim) | Single module V5 | rtl-p4s-bugfix | V5 + V6 |
| INTEGRATION_FIX | Cross-module | rtl-p4s-bugfix | Affected Vx + Stage 2 |
| DESIGN_FIX | Architecture | STOP → user | All (after upper phase fix) |
Independent UNIT_FIX failures in different modules: fix in parallel. Same-module failures: fix sequentially within a single task. INTEGRATION_FIX: always sequential (cross-module dependencies).
When P5 verification reveals a μArch-level issue that cannot be fixed in RTL alone (e.g., pipeline balance infeasible, missing metadata in FIFO struct, architectural throughput bottleneck):
reviews/phase-5-verify/uarch-feedback-{module}.md with:
Every feedback loop iteration MUST produce a decision record at
.rat/scratch/phase-5/feedback-loop-decision-{N}.md with:
# Feedback Loop Decision #{N}
- Module: {module}
- Check: V{x} ({category})
- Classification: UNIT_FIX | INTEGRATION_FIX | DESIGN_FIX | UARCH_FIX
- Root cause: {description}
- Fix applied: {description of change}
- Alternatives considered: {rejected options with rationale}
- Affected artifacts: {list of modified files}
- Re-verification scope: {which checks to re-run}
This enables post-mortem analysis of verification efficiency and identifies recurring patterns that should become preventive rules.
When invoked from rat-auto-design, state is tracked in .rat/state/rat-auto-design-state.json:
{
"current_phase": 5,
"completed_sub_phases": ["stage-1-module-a", ...],
"pending_sub_phases": ["stage-2-integration", "stage-3-compliance"],
"fix_history": [
{"sub_phase": "stage-1-v2", "module": "module_a", "fix_count": 1, "status": "resolved"}
]
}
This enables resume: re-read state and continue from next pending sub-phase.
If commercial simulator available and UVM mandated, invoke /rtl-agent-team:rtl-p5s-uvm-verify
alongside V5. UVM is NOT a replacement for cocotb regression — both provide complementary coverage.
Stage 3 includes a Formal Traceability Audit that gates P6 entry:
This ensures no Critical/High requirement ships without at least one verification artifact.