Receber por email
← Voltar para o catálogo

fsm-design

Habilidade especializada para projeto e otimização de máquinas de estados finitos em FPGAs.

1.4kestrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add a5c-ai/babysitter

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/fsm-design/svg)](https://www.skillteca.com.br/skills/fsm-design)

Skills relacionadas

Ver todas de Automação →

Alerta por categoria

Receba novas skills de Automação toda segunda

1 email curto, só com as skills novas de Automação. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

FSM Design Skill

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
Compartilhar X LinkedIn