i18n/de/skills/build-sequential-circuit/SKILL.md
Erstellen sequential (stateful) logic circuits einschliesslich latches, flip-flops, registers, counters, and finite state machines. Umfasst SR latch, D and JK flip-flops, binary/BCD/ring counters, and Mealy/Moore FSM design with clock signal and timing analysis. Verwenden wenn a circuit must remember past inputs, count events, or implement a state-dependent control sequence.
npx skillsauth add pjt222/agent-almanac build-sequential-circuitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Entwerfen a sequential logic circuit by identifying the required memory and state type, constructing a state diagram and transition table, deriving excitation equations for the chosen flip-flop type, implementing the circuit at the gate level using flip-flops and combinational logic, and verifying correctness durch timing diagram analysis and state sequence simulation.
Bestimmen what the circuit needs to remember and how many distinct states it requires:
## 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]
Erwartet: A complete state inventory with encoding chosen, flip-flop type selected, and the machine classified as Mealy or Moore.
Bei Fehler: If der Zustand count is unclear from the specification, enumerate states by tracing durch all possible input sequences up to the memory depth of the circuit. If the count exceeds practical limits (more than 16 states for manual design), consider decomposing into smaller interacting FSMs.
Formalize the circuit's behavior as a state diagram and equivalent tabular form:
## 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"]
Erwartet: A complete state transition table covering every present-state/input combination, with all states reachable from the initial state.
Bei Fehler: If the transition table has missing entries, the specification is incomplete. Zurueckgeben to the requirements and resolve the ambiguity. If unreachable states exist, either add transitions to reach them or remove them and reduce der Zustand encoding.
Berechnen the flip-flop input equations (excitation equations) from the transition table:
## 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] |
Erwartet: Minimized excitation equations fuer jede flip-flop and output equations fuer jede primary output, with all don't-cares exploited.
Bei Fehler: If the excitation equations seem overly complex, reconsider der Zustand encoding. A different encoding (e.g., switching from binary to one-hot, or reassigning state codes) can dramatically simplify the combinational logic. Versuchen mindestens two encodings and compare literal counts.
Erstellen the complete circuit from flip-flops and combinational logic gates:
## 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]
Erwartet: A complete gate-level netlist with flip-flops, excitation logic, output logic, clock distribution, and reset mechanism, where every signal has exactly one driver.
Bei Fehler: If the implementation has feedback outside of the flip-flops, a combinational loop wurde introduced. All feedback in a synchronous sequential circuit must pass durch a flip-flop. Trace the offending path and reroute it durch a register.
Bestaetigen the circuit behaves korrekt across multiple clock cycles:
## 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]
Erwartet: Every cycle in the timing diagram matches der Zustand transition table, outputs are correct for every cycle, and no timing violations are present.
Bei Fehler: If a state transition is wrong, trace the excitation logic for that specific present-state and input combination. If outputs are wrong but transitions are correct, der Fehler is in die Ausgabe logic. If the circuit enters an unintended state, check for incomplete reset or missing transitions from unused state codes.
design-logic-circuit -- design the combinational excitation and output logic blockssimulate-cpu-architecture -- use sequential blocks (registers, counters, control FSMs) in a CPU datapathmodel-markov-chain -- finite state machines share the formal framework of discrete-time Markov chainstesting
Launch all available agents in parallel waves for open-ended hypothesis generation on problems where the correct domain is unknown. Use when facing a cross-domain problem with no clear starting point, when single-agent approaches have stalled, or when diverse perspectives are more valuable than deep expertise. Produces a ranked hypothesis set with convergence analysis and adversarial refinement.
tools
Write integration tests for a Node.js CLI application using the built-in node:test module. Covers the exec helper pattern, output assertions, filesystem state verification, cleanup hooks, JSON output parsing, error case testing, and state restoration after destructive tests. Use when adding tests to an existing CLI, testing a new command, verifying adapter behavior across frameworks, or setting up CI for a CLI tool.
development
Screen a proposed trademark for conflicts and distinctiveness before filing. Covers trademark database searches (TMview, WIPO Global Brand Database, USPTO TESS), distinctiveness analysis using the Abercrombie spectrum, likelihood of confusion assessment using DuPont factors and EUIPO relative grounds, common law rights evaluation, and goods/services overlap analysis. Produces a conflict report with a risk matrix. Use before adopting a new brand name, logo, or slogan — distinct from patent prior art search, which uses different databases, legal frameworks, and analysis methods.
tools
Scaffold a new CLI command using Commander.js with options, action handler, three output modes (human-readable, quiet, JSON), and optional ceremony variant. Covers command naming, option design, shared context patterns, error handling, and integration testing. Use when adding a command to an existing Commander.js CLI, designing a new CLI tool from scratch, or standardizing command structure across a multi-command CLI.