소스 정보
- 저장소
- babyworm/rtl-agent-team
- 최근 소스 활동
- 2026년 7월 12일 07:45
- 감지된 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-p3-uarch-policy명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | rtl-p3-uarch-policy |
| description | Internal reference: rtl p3 uarch policy (agent-loaded; do not invoke). |
| user-invocable | false |
Each module document MUST contain:
Every P3 run MUST produce docs/phase-3-uarch/req-uarch-traceability.md mapping each requirement
from docs/phase-1-research/iron-requirements.json (REQ-F-, REQ-P-) and
docs/phase-2-architecture/iron-requirements.json (REQ-A-*) to the uArch module(s) and section(s) implementing it.
Format:
| REQ ID | uArch Module(s) | Section(s) | Status |
|----------|-------------------------|-----------------------------|----------|
| REQ-001 | intra_pred | 3.2 Mode Decision FSM | MAPPED |
| REQ-002 | deblock_filter, sao | 2.1 Pipeline, 4.3 SAO Ctrl | MAPPED |
| REQ-003 | — | — | UNMAPPED |
iron-requirements.json changes after P3 completion, this table identifies which uArch sections need re-design. The P3 orchestrator uses mtime comparison to detect staleness.clk / rst_n{domain}_clk / {domain}_rst_n (e.g., sys_clk, pixel_clk)Generic selection table (bit/port thresholds), register-file exceptions, wrapper naming/parameters,
and SP port list are owned by the deployed .claude/rules/rtl-coding-conventions.md (Storage Selection
section). P3-specific additions below.
Every storage element in the μArch spec MUST include a storage type decision with rationale.
Read latency as selection criterion:
Streaming buffer rule (write-once/read-multiple: line/frame buffers, init-written coefficient tables): always SRAM wrapper regardless of size — combinational read on streaming buffers creates massive MUX trees. If N readers share 1R port: document time-multiplex schedule (e.g., 4 readers × 1 cycle = 4-cycle access, must fit within pipeline initiation interval).
Multi-port large storage (>4096 bits, >2 R/W): prefer banked SRAM to reduce port count; register file only with PPA justification.
SpyGlass compatibility: set_option mthresh <bits> flags register arrays exceeding the threshold as SRAM candidates; teams typically set 4096–65536 bits by target technology. Align the >4096-bit mandatory SRAM rule with your project's mthresh setting in rat_config.json if different.
Per-SRAM-instance μArch spec (required for every SRAM instance):
DEPTH/WIDTH (derived ADDR_W = $clog2(DEPTH)), read latency (1-cycle registered output default; document if different)clk, i_wen, i_waddr, i_wdata, i_ren, i_raddr, o_rdata. DP ports (dual clock): wclk, i_wen, i_waddr, i_wdata, rclk, i_ren, i_raddr, o_rdataEvery internal bus, FIFO, and result packing width MUST be derived from design parameters — hardcoded width constants are prohibited in parameterized designs.
BLOCK_PIXELS * NUM_COMPONENTS * (BPC+1) + META_BITS)(Why: widths hardcoded for one parameter set — e.g., BPC=12 — leave unused upper bits when parameters change: structurally unreachable toggle coverage, wasted area/power, hidden parameter dependencies.)
localparam WIDTH = <literal> for datapath widths is flagged —
must derive from upper parameters (e.g., localparam L_FIFO_W = BLK_PIXELS * COMPONENTS * (BPC+1) + META)Three sub-gates in order — executable procedure owned by p3-uarch-orchestrator Step 4:
Invoke rtl-planner when execution risk is the blocker rather than local RTL details:
Expected rtl-planner output: explicit task dependency graph, critical path, and parallel work groups that the orchestrator can apply to Step 3/5 sequencing.
Invoke clock-architect when clocking strategy is non-trivial:
Expected clock-architect output: review report at
reviews/phase-3-uarch/clock-architecture-review.md and concrete fixes to
docs/phase-3-uarch/clock-domain-map.md.
i_ prefix (NOT _i suffix)o_ prefix (NOT _o suffix)io_ prefixclk (single) or {domain}_clk — NOT clk_irst_n (single) or {domain}_rst_n — NOT rst_niu_ prefix (e.g., u_fifo)gen_ prefixtypedef enum logic [N:0] with UPPER_SNAKE_CASE valuessnake_case_t suffix (e.g., state_t, bus_req_t)UPPER_SNAKE_CASE (e.g., DATA_WIDTH)logic only (no reg/wire)Dynamic convergence rounds (min 2, max 5 — see Review Convergence Criteria), coordinated by rtl-architect:
4 mandatory + 1 conditional parallel reviewers each round:
domain-packages/{domain}/ exists (e.g., vcodec-architecture-expert for video codec).
When no domain expert available, rtl-architect covers algorithm consistency in its scope.Round 1-2: review → rebuttal (designer accepts/rejects each finding with rationale) → tree exploration for accepted issues → targeted revision (rejections recorded in per-round artifact)
Last round (converged or max reached): cross-module interface audit, clock domain map consistency, memory conflict analysis, model consistency matrix, BFM final pass, μArch code review
Convergence check after round >= min_rounds: finding_delta < 0.1, all critical resolved, wonder stable
After max_rounds if not converged → escalate to user via AskUserQuestion
Conditional reviewers:
Save to reviews/phase-3-uarch/feature-preservation.md:
# Phase 3 Review: Feature Preservation
- Date: YYYY-MM-DD
- Reviewer: rtl-architect
- Upper Spec: architecture.md
- Verdict: PASS | FAIL
## Feature Coverage Checklist
| Feature | Architecture Block | μArch Doc | Status |
## Findings
### [severity] Finding-N: ...
## Verdict
PASS | FAIL: [reason]
Each review round MUST produce a wonder-log entry:
docs/phase-3-uarch/wonder-log.mdReview rounds use dynamic convergence instead of fixed 3 rounds:
| Parameter | Value | Rationale |
|---|---|---|
| min_rounds | 2 | Minimum for meaningful review |
| max_rounds | 5 | Prevent infinite loops |
| finding_delta_threshold | 0.1 | < 10% new findings = stable |
| critical_resolution | ALL | All Critical/High must be resolved |
| wonder_stability | true | No new High-risk assumptions |
Early exit (round 2): When findings converge quickly (simple designs) Extended review (rounds 4-5): For complex designs with emergent issues
Convergence signals: stability (finding_delta < threshold), stagnation (same findings repeated across rounds), oscillation (findings toggling resolved↔reopened).
Structure & throughput:
rate_per_cycle × clock_freq ≥ target_throughput. Pipeline changes that reduce net throughput below target are rejected.Section rules hold (name-only — the named sections are normative):
Checklist-only gate details:
Review:
Phase 3 receives docs/phase-2-architecture/open-requirements.json containing OPEN-2-* research topics.
For each OPEN-2-* item, the μArch team must:
candidates and evaluation_criteriadocs/phase-3-uarch/iron-requirements.json (REQ-U-*) with:
resolved_from: the OPEN-2-* ID that was resolvedresolution_rationale: why this candidate was selectedrejected_alternatives: all non-selected candidates with rejection reasonsupstream_compliance: verification that new REQ-U-* does not violate P1+P2 ironviolation_policy: "agent_retry" (authority=3)acceptance_criteria: measurable criteria for the μArch decisionEach REQ-U-* entry SHOULD include structured acceptance_criteria:
"acceptance_criteria": [
{
"ac_id": "REQ-U-NNN.AC-M",
"description": "measurable criterion text",
"test_method": "assertion|cocotb|formal|inspection",
"verifiable": true
}
]
Rules:
ac_id format: {parent_req_id}.AC-{N} (e.g., REQ-U-012.AC-1)test_method guides testbench-dev on verification approach:
assertion: protocol properties verifiable by SVA (e.g., valid stable during !ready)cocotb: functional behavior verifiable by simulation (e.g., transfer completes correctly)formal: invariants provable by formal verification (e.g., no deadlock)inspection: non-automatable criteria — set verifiable: falseverifiable: false criteria are excluded from automated coverage tracking;
documented in RTM as NOT_VERIFIABLE[] treated same as absent field (backward compatible)Each REQ-U-* entry SHOULD include a traces_to field linking to upstream requirements:
"traces_to": ["REQ-F-NNN", "REQ-A-NNN"] // Upstream requirements this REQ-U-* decomposes from
Rules:
traces_to linking to P1 REQ-F-* or P2 REQ-A-*Phase 3 MUST NOT produce an open-requirements.json. All research topics must be resolved here. If unresolved items remain at Phase 3 exit → EXIT GATE FAIL. P4 (Implementation) requires all requirements to be iron — no open items may remain.
After docs/phase-3-uarch/iron-requirements.json (REQ-U-*) is finalized:
upstream_iron: ["docs/phase-1-research/iron-requirements.json", "docs/phase-2-architecture/iron-requirements.json"]target_artifacts: Phase 3 output artifactsSame as Phase 2, but challenges may target P1 or P2 iron requirements. Challenge report must identify which upstream authority is being challenged. PPA estimates required with mandatory fields: frequency_mhz, area_gate_count, pixel_rate_mpps, achievable_fps.
Apply ambiguity scoring to all new REQ-U-* decisions:
Artifacts saved:
docs/phase-3-uarch/wonder-log.md (Wonder Log requirements met; High-risk assumptions resolved or explicitly accepted)docs/phase-3-uarch/upstream-feedback-report.md generated (P1/P2 gap analysis)docs/phase-3-uarch/requirement-delta.md generated (REQ implementability scan)docs/phase-3-uarch/iron-requirements.json exists with REQ-U-* entries and resolved_from tracking(Per-round review artifacts, Zero-Opens, Open Resolution, Compliance, and Ambiguity gate items: see Final Checklist.)
Per diagram policy: use Mermaid for pipeline/flow diagrams (ASCII art prohibited).
flowchart LR
S0[S0: Fetch] -->|"data[31:0]"| S1[S1: Decode]
S1 -->|"op[7:0], operands"| S2[S2: Execute]
S2 -->|"result[47:0]"| S3[S3: Writeback]
S0 -.->|stall| S0
S2 -.->|forward| S1
Each stage node: SN[SN: stage_name]. Edges: data width annotation.
Stall/forward paths: dashed arrows (-.->).