返回技能列表

build-sequential-circuit

pjt222
更新于 5 days ago
12 次查看
17
2
17
在 GitHub 上查看
design

关于

This skill enables developers to build stateful digital circuits like latches, flip-flops, registers, counters, and finite state machines. It provides the logic for designing circuits that must remember past inputs, count events, or implement state-dependent control sequences. Key capabilities include implementing SR, D, and JK flip-flops, various counters, and Mealy/Moore FSMs with clock signal and timing analysis.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/build-sequential-circuit

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

建時序之路

設時序(有態)之邏路,含 latch、flip-flop、register、counter、有限態機。識所須之記與態類,作態圖與轉表,導所擇 flip-flop 之激式,以 flip-flop 與組合邏於門級施,驗以時序圖與態序模。

用時

  • 路須記舊入或於時脈週間持內態
  • 設 counter(二、BCD、ring、Johnson)、移位 register、或序察
  • 自態圖或正則生 Mealy 或 Moore 有限態機
  • 組合資料徑加時脈之存元(register、流水階)
  • 為 simulate-cpu-architecture 技備有態之件(register 檔、程序計、控 FSM)

  • 必要:行之規——態圖、態表、時序圖、待察正則、或欲時序行之述之一
  • 必要:時脈之徵——邊觸(升/降)或級感;單脈或多相
  • 可選:flip-flop 類好(D、JK、T、SR)
  • 可選:重置類——同步、異步、或無
  • 可選:最態數或位寬之限
  • 可選:時之限(setup、hold、最高脈頻)

第一步:識記與態之須

定路須記何、須異態幾何:

  1. 態列:列路須居之諸異態。序察者,各態表目序之進。counter 者,各態為一計值。
  2. 態編:為諸態擇二進之編。
    • 二進編:N 態用 ceil(log2(N)) flip-flop。最少 flip-flop 數。
    • one-hot 編:N flip-flop,每態一。簡化次態邏而增 flip-flop。
    • Gray 碼編:相鄰態只一位異。減轉時之暫態毛刺。
  3. 入出之類:識主入(外信)、主出、內態變(flip-flop 之 Q)。Mealy 機出依態與入。Moore 機出只依態。
  4. flip-flop 類擇:依設所須擇之。
    • D flip-flop:最簡——次態等 D 入。默首擇。
    • JK flip-flop:最靈——J=K=1 翻。宜 counter。
    • T flip-flop:翻類——T=1 時變態。天然為二進 counter。
    • SR latch/flip-flop:置/復——避 S=R=1。新設鮮擇。
## State Requirements
- **Number of states**: [N]
- **State encoding**: [binary / one-hot / Gray]
- **Flip-flops needed**: [count and type]
- **Machine type**: [Mealy / Moore]
- **Inputs**: [list with descriptions]
- **Outputs**: [list with descriptions]
- **Reset behavior**: [synchronous / asynchronous / none]

得: 全態表,附所擇編、所擇 flip-flop 類、Mealy 或 Moore 之類。

敗則: 若規中態數不明,以入序(至路記深)追之而列諸態。若數逾實用限(手設逾十六態),考分為小交 FSM。

第二步:作態圖與轉表

以態圖與對表形式明路之行:

  1. 態圖:畫有向圖——
    • 各節為一態,標以態名及(Moore 者)出值
    • 各邊為轉,標入條件及(Mealy 者)出值
    • 每態必有諸入合之出邊——無默「留」轉
  2. 轉表:轉圖為表,欄為現態、入、次態、出
  3. 可達察:自初/重置態始,驗諸態皆可達。不可達者示設誤或宜為 don't-care
  4. 態減(選):察等態——二態於諸入皆生同出且轉至等次態者為等。合之以減 flip-flop
## State Transition Table
| Present State | Input | Next State | Output |
|--------------|-------|------------|--------|
| S0           | 0     | S0         | 0      |
| S0           | 1     | S1         | 0      |
| S1           | 0     | S0         | 0      |
| S1           | 1     | S2         | 0      |
| ...          | ...   | ...        | ...    |

- **Unreachable states**: [list, or "none"]
- **Equivalent state pairs**: [list, or "none"]

得: 全轉表,涵諸現態/入合,諸態皆自初可達。

敗則: 若轉表缺條,規不全。返需求解模糊。若有不達者,加轉以達或刪而減編。

第三步:導激式

自轉表算 flip-flop 之入式(激式):

  1. 編態:轉表中以二進編代態名。各位對應一 flip-flop
  2. 建各 flip-flop 真值表:為各 flip-flop 建真值表,現態位與入為入欄,所須 flip-flop 入為出
    • D flip-flop:D = 次態位(最簡)
    • JK flip-flop:用激表:0→0 為 J=0,K=X;0→1 為 J=1,K=X;1→0 為 J=X,K=1;1→1 為 J=X,K=0
    • T flip-flop:T = 現態 XOR 次態(位須變時 T=1)
  3. 減各式:施 evaluate-boolean-expression(K-map 或代數簡)於各 flip-flop 入函。不達態與 JK 表 X 條件之 don't-care 可大減之
  4. 導出式:Moore 者,各出只依現態位。Mealy 者,各出依現態位與入
## Excitation Equations
- **Flip-flop type**: [D / JK / T]
- **State encoding**: [binary assignment table]

| Flip-Flop | Excitation Equation          |
|-----------|------------------------------|
| Q1        | D1 = [minimized expression]  |
| Q0        | D0 = [minimized expression]  |

## Output Equations
| Output | Equation                     |
|--------|------------------------------|
| Y      | [minimized expression]       |

得: 各 flip-flop 與各主出之減激式,諸 don't-care 已用。

敗則: 若激式過繁,重考態編。異編(如由二進轉 one-hot,或重分態碼)可大簡組邏。試至少二編而較字數。

第四步:於門級施

自 flip-flop 與組邏門建全路:

  1. 置 flip-flop:每態位一 flip-flop。諸脈入接系脈。指定者接重置入(異步重置直接於 flip-flop 之 CLR/PRE 腳;同步重置為激邏之部)
  2. 建激邏:以 design-logic-circuit 技施各激式。此邏之入為現態 flip-flop 出(Q、Q')與主入
  3. 建出邏:以組邏施各出式。Moore 者此邏只取態位。Mealy 者取態位與主入
  4. 連路:接激邏之出於 flip-flop D/JK/T 入。接出邏於主出
  5. 加初化:確電時路至已知初態。通常以異步重置強諸 flip-flop 為 0(或編之初態)
## Circuit Implementation
- **Flip-flops**: [count] x [type], [edge type]-triggered
- **Combinational gates for excitation**: [count and types]
- **Combinational gates for output**: [count and types]
- **Total gate count**: [flip-flops + combinational gates]
- **Reset mechanism**: [asynchronous CLR / synchronous mux / none]

得: 全門級網表,含 flip-flop、激邏、出邏、脈分、重置機,各信號一驅。

敗則: 若施有 flip-flop 外之反饋,組合環已入。同步時序之諸反饋必經 flip-flop。追犯徑,重路經 register。

第五步:以時序圖與態序模驗

證路於諸脈週正行:

  1. 擇測序:擇一入序以至少觸每態轉一次。序察者,含標序、半合、疊合、不合之段
  2. 畫時序圖:各脈週記——
    • 脈邊(升/降)
    • 主入值(於活脈邊取樣)
    • 現態(脈邊前 flip-flop 出)
    • 次態(脈邊後 flip-flop 出)
    • 出值(於出邏穩後有效)
  3. 追態序:驗態序合第二步之態圖。每轉循圖中之邊
  4. 察時限:驗——
    • Setup:入於活脈邊前穩至少 t_setup
    • Hold:入於活脈邊後穩至少 t_hold
    • 脈至出之延:出於下游邏之 setup 減去脈週內穩
  5. 重置驗:證施重置驅路至初態不論當態
## Timing Verification
| Cycle | Clock | Input | Present State | Next State | Output |
|-------|-------|-------|---------------|------------|--------|
| 0     | rst   | -     | -             | S0         | 0      |
| 1     | rise  | 1     | S0            | S1         | 0      |
| 2     | rise  | 1     | S1            | S2         | 0      |
| ...   | ...   | ...   | ...           | ...        | ...    |

- **All transitions match state diagram**: [Yes / No]
- **Setup/hold violations**: [None / list]
- **Reset verified**: [Yes / No]

得: 時序圖各週合轉表,諸週出正,無時違。

敗則: 若某態轉誤,追該現態/入合之激邏。若出誤而轉正,誤於出邏。若路入未期之態,察重置不全或自未用態碼缺轉。

  • 諸態已列且自初可達
  • 態編已記含分表
  • 轉表涵諸現態/入合
  • 激式已減,用 don't-care
  • 出式正施 Mealy 或 Moore 之義
  • 各 flip-flop 之脈、重置、激入皆接
  • 無 flip-flop 外之組合環
  • 時序圖涵諸態轉至少一次
  • 重置驅路至所記初態
  • Setup 與 hold 之限皆滿

  • 轉不全:忘指某態某入之行。缺轉常致路入未定或意外之態。恆定諸入合之行
  • 未用態碼:N flip-flop 有 2^N 可碼而或少於有效態。若路誤入未用碼(噪或啟),或鎖。恆自未用碼加轉至重置態或證不達
  • 混 Mealy 與 Moore 出:Mealy 中入變時出即變(自入至出之組合徑)。Moore 中出只於脈邊變。一設混二模致時險
  • 異步入於同步路:未同步於脈之外信違 setup/hold,致亞穩。恆以二 flip-flop 同步器過異步入
  • SR latch S=R=1 險:同舉 S 與 R 令 SR latch 入未定。若用 SR,加邏保此合不發,或轉 D 或 JK flip-flop
  • 多 flip-flop 設之脈偏:若脈至諸 flip-flop 時異,或採他陳資料。初設假零偏;真件用脈樹合成

  • design-logic-circuit -- 設組激與出之邏塊
  • simulate-cpu-architecture -- 於 CPU 資料徑用時序塊(register、counter、控 FSM)
  • model-markov-chain -- 有限態機與離散時 Markov 鏈共形式框

GitHub 仓库

pjt222/agent-almanac
路径: i18n/wenyan/skills/build-sequential-circuit
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能

polymarket

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能

creating-opencode-plugins

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能

sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能