跳到正文
cccskills
免费在 GitHub 公开

design-chisel-processor

Develop, challenge, and document Chisel processor microarchitecture designs before implementation. Use when discussing or writing design documents for processor pipelines, queues, issue logic, rename, ROB, LSU, caches, MSHRs, forwarding, wakeup, replay, flush, privilege, exceptions, or other cycle-accurate hardware mechanisms; when converting design conversations into stable Markdown specifications; or when reviewing a proposed Chisel CPU design for correctness, timing, area, verification cost, and cross-document consistency.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(5)

  • SKILL.md6.9 KB
  • agents/openai.yaml273 B
  • references/chisel-guidance.md2.3 KB
  • references/design-document-template.md1.8 KB
  • references/review-checklist.md3.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Design Chisel Processor

Build processor designs from precise state semantics and cycle boundaries. Preserve the user's architecture unless a correctness failure forces a change.

Start

  1. Read repository instructions such as AGENTS.md.
  2. Locate architecture overview, topic documents, protocol documents, and relevant RTL with rg.
  3. Separate four sources:
    • current RTL;
    • reference implementations;
    • current proposed design;
    • new recommendations.
  4. Treat the user's latest correction as authoritative for the proposed design.
  5. Ask only when an unresolved choice changes correctness or interfaces.

For an existing repository, identify the documentation hierarchy before analysis. Read both overview and topic document when the topic spans them.

Current RTL describes implementation status. Proposed design documents describe intended architecture. Missing RTL does not invalidate a proposal.

Analyze one mechanism

Use this order:

  1. Define every field and signal.
  2. State producer, consumer, set condition, clear condition, valid interval.
  3. State same-cycle priority.
  4. Draw combinational work and register boundaries by cycle.
  5. Enumerate normal, miss, nack, kill, flush, replay, retry, and late-response paths.
  6. Check slot reuse and stale ownership.
  7. Give a concrete counterexample cycle for each defect.
  8. Derive assertions.
  9. Evaluate critical path, fanout, ports, storage mapping, code size, and verification cost.

Never use an unqualified s1/s2/s3. Name the subsystem, such as LSU s2 / DCache s1.

Close correctness

For every stateful structure, prove:

allocation
-> active ownership
-> all possible responses
-> completion or retry
-> release
-> safe reuse

Check:

  • one-shot events cannot be missed;
  • persistent state substitutes for missed events where required;
  • flush blocks all forbidden side effects before registers clear;
  • external transactions that cannot be canceled retain ownership;
  • old responses cannot target a reused slot;
  • release and same-cycle reuse rules are explicit;
  • multiple writes to one field have a total priority order;
  • speculative wakeup has a complete correction path;
  • data visibility follows actual RAM read/write semantics.
  • committed and speculative entries sharing one structure have separate flush rules.

Derive identity protection from actual lifetime and ownership. Do not add generation, epoch, or ROB identity by habit. A bare index can be sufficient when release, reuse, masks, fixed pipeline latency, or retained ownership prove that stale targeting cannot occur.

Read references/review-checklist.md for the full checklist.

Compare alternatives fairly

Compare complete implementations under the same capacity, width, stage boundaries, and correctness requirements.

  • Include every required set, clear, bypass, retry, release, and ownership mechanism.
  • Do not create a counterexample by omitting maintenance already specified for an alternative.
  • If a mechanism is unspecified, state the defect conditionally: "If this clear or bypass is absent, the following trace fails."
  • Separate unavoidable datapath cost from optional persistent-state maintenance.
  • Preserve the selected design unless a concrete invariant fails or measured timing evidence justifies changing it.

For persistent masks, count initial generation, ongoing set and clear networks, same-cycle bypasses, update ports, flush, and slot reuse. For recomputation, count the comparison and selection network on every attempt, including duplicated lanes.

Evaluate timing and physical cost

Count topology, not only gates:

  • comparator count and width;
  • source and destination fanout;
  • long module-to-module buses;
  • priority encoders and wide muxes;
  • random update ports;
  • replicated read muxes for multiple lanes;
  • register boundaries that synthesis must preserve.

Distinguish:

logical cost
physical routing risk
critical-path depth
state-maintenance cost
verification cost

Do not claim placement or routing behavior without synthesis evidence. State likely structures and request timing reports when needed.

Write design documents

Maintain:

  1. one architecture overview for cross-module facts and core invariants;
  2. topic documents for long state machines or subsystems;
  3. protocol documents for Bundles, fields, interfaces, tables, and assertions.

Each state field should include:

semantics
set condition
clear condition
valid interval
consumers
same-cycle priority
invariant

Use references/design-document-template.md when creating or restructuring documents.

When a fact affects multiple documents, update all of them in one change. Search for obsolete names and rejected mechanisms after editing.

Plan Chisel implementation

Before coding:

  • freeze interface and state semantics;
  • choose register array, SRAM/BRAM, FIFO, CAM, mask, or side table intentionally;
  • specify all valid/ready/kill/flush interactions;
  • define state transition tables;
  • derive assertions and directed tests.

Prefer explicit masks, Vec, and per-lane logic when they expose hardware topology. Avoid relying on source-code grouping to control FPGA placement. Add a register boundary when timing requires a guaranteed pipeline cut.

Read references/chisel-guidance.md before turning the design into RTL.

Verify changes

For implementation work, provide:

  • state transition table;
  • Chisel assertions;
  • directed ChiselTest scenarios;
  • actual test results with failing cycle and signals.

For documentation-only work:

  1. search for stale terminology and conflicting rules;
  2. check Markdown fences and conflict markers;
  3. compare overview, topic, protocol, assertions, and stage plan;
  4. independently review substantial changes with a subagent when available.

Subagent review should be read-only. Ask it for findings by severity, file and line, and a concrete counterexample. Reuse a reviewer that already knows the project when repository rules request that behavior.

Communicate

  • Start by restating the current design accurately.
  • Report correctness defects before optimizations.
  • Give exact cycle examples.
  • Mark unverified statements as hypotheses.
  • Say explicitly when no new defect was found.
  • Avoid replacing the design with a familiar external architecture without authorization.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Initialize or safely upgrade a processor project's root AGENTS.md from a maintained baseline. Use when starting a processor project, adding project-level Agent collaboration rules, or comparing an existing AGENTS.md with the package baseline. This skill only handles AGENTS.md; it does not scaffold documentation, inspect or configure environments, install tools, or modify processor source.

中文简介正在准备中。当前显示原文说明。

sixblade325/WaterHand-Processor-Development-Skills152026年10月3日 更新

Document-driven workflow for implementing, reviewing, and verifying Chisel processor and memory-subsystem RTL. Use when Codex must work from maintained Architecture and Design, trace a complete integration surface, reason in synthesized-hardware terms, keep source-adjacent _codex.md summaries current, avoid redundant or overprotective logic, or run focused functional verification.

中文简介正在准备中。当前显示原文说明。

sixblade325/WaterHand-Processor-Development-Skills152026年10月3日 更新

Diagnose and optimize timing-critical Chisel RTL for FPGA implementation while preserving cycle semantics. Use for Vivado timing bottlenecks, long ready or admission paths, queue and issue selection, free-list bank mapping, priority encoders, one-hot arbitration, wide muxes, late-arriving forwarding or override data, high-fanout controls, cross-module predicates, register-boundary changes, emitted-Verilog inspection, or routed-DCP A/B analysis. Also use when a source-level simplification needs proof that it changes timing without changing architectural state.

中文简介正在准备中。当前显示原文说明。

sixblade325/WaterHand-Processor-Development-Skills152026年10月3日 更新

Establish, author, restructure, or audit human-first processor Architecture, Design, Research, Review, and Verification documentation. Use for progressive documentation scaffolding, authority maps, reading paths, document-type content contracts, length-budgeted splitting, or maintainability reviews. Do not use as a substitute for cycle-accurate microarchitecture analysis or RTL implementation.

中文简介正在准备中。当前显示原文说明。

sixblade325/WaterHand-Processor-Development-Skills152026年10月3日 更新

Task-sized forensic analysis of Vivado synthesis and routed timing evidence for processor RTL. Use when Codex must trace a named setup or hold path, audit whole-design timing populations, compare implementation runs, map primitive, LUT, CARRY, BRAM, DSP, MUXF, register, and routed-net stages back to Chisel or generated RTL, distinguish logic from routing pressure, identify missing DCP queries, or write an evidence-backed timing report. This skill is read-only by default and stops at ranked modification directions. Use optimize-chisel-fpga-timing for RTL edits and routed A/B implementation closure.

中文简介正在准备中。当前显示原文说明。

sixblade325/WaterHand-Processor-Development-Skills152026年10月3日 更新

查看 sixblade325 的全部技能

报告此技能的问题