FSM Design Skill

SkillMedia

Specialized skill for finite state machine design and optimization in FPGAs

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the FSM Design Skill skill

What this skill tells your AI

The instructions your AI receives, as published by a5c-ai/babysitter in library/specializations/fpga-programming/skills/fsm-design/SKILL.md and read by ahel’s review.

Overview

Specialized skill for finite state machine (FSM) design and optimization, ensuring robust and efficient control logic implementation in FPGA designs.

Capabilities

  • Design Moore and Mealy state machines
  • Apply state encoding (one-hot, binary, Gray)
  • Implement illegal state recovery
  • Generate state diagrams and transition tables
  • Optimize FSM for area or speed
  • Apply safe FSM coding patterns
  • Debug FSM behavior with assertions
  • Handle FSM with multiple clock domains

Target Processes

  • fsm-design.js
  • rtl-module-architecture.js
  • vhdl-module-development.js
  • verilog-systemverilog-design.js

Usage Guidelines

FSM Types

  • Moore Machine: Outputs depend only on current state
  • Mealy Machine: Outputs depend on state and inputs
  • Registered Outputs: Mealy with registered outputs for timing

State Encoding

  • One-Hot: Fast, low combinational logic, more flip-flops
  • Binary: Compact, minimal flip-flops, more logic
  • Gray: Useful for CDC, single-bit transitions
  • Custom: For specific optimization requirements

Safe FSM Patterns

  • Explicit default state in case statements
  • Illegal state detection and recovery
  • Synchronous reset to known state
  • Avoid latches (cover all cases)
  • Use enumerated types for readability

VHDL Style

type state_type is (IDLE, RUN, DONE);
signal state, next_state : state_type;

Verilog Style

localparam [1:0] IDLE = 2'b00, RUN = 2'b01, DONE = 2'b10;
reg [1:0] state, next_state;

Optimization Strategies

  • Minimize state bits for area
  • One-hot for speed in FPGAs
  • Pipeline deep combinational logic
  • Consider state splitting for timing

Dependencies

  • FSM analysis tools
  • Synthesis attribute knowledge
  • HDL coding standards

Signals

GitHub stars
2k
Forks
112
Last commit
Sep 2026
Advanced
Item type
skill
Key
fsm-design
Source
github.com/a5c-ai/babysitter