VHDL

VHDL Coding Patterns for Synthesizable FSMs

A concise reference of state-machine encoding styles, reset strategies and registered outputs that translate cleanly to silicon.

Finite state machines are the backbone of most RTL designs, but how they are written determines whether synthesis produces clean, predictable hardware - or a tangle of unintended latches.

A two-process style separates the next-state combinational logic from the registered state, making intent explicit to both reviewers and synthesis tools. Registered outputs avoid glitches and simplify downstream timing analysis.

Reset strategy matters too. Synchronous resets keep the design portable across FPGA fabrics, while asynchronous resets - when used - must be released synchronously to avoid metastability on the deassertion edge.

By Tal Moyal · Hardware, FPGA & RTL Design

More notes