Electronic – Types of finites state machine in FPGA design

fpgastate-machinesverilog

There are 2 types of FSM:

1- block of combinational logic + clocked block that hold only the current state

2- clocked block

For example, if we take a look to how an SDRAM controller is made, most of the controllers are composed by combinational block + clocked block, and only just a few of them are written using just one clocked block.

-What are the main considerations to choose one type or another?

-Regarding to the SDRAM controller, why most of the people choose the first type?

Thanks in advance!

Best Answer

There are 2 types of FSM:

The two types of FSM are Mealy machines and Moore machines.

In a Mealy machine, the output is a function of the inputs and the current state. In a Moore machine, the output is purely a function of the current state.

schematic

simulate this circuit – Schematic created using CircuitLab

The types of FSMs you're trying to describe in your question are a little unclear. It sounds as though you are referring to two ways of structuring a FSM in a hardware description language. These don't correspond to different types of FSMs; they're simply differences in coding style. Neither one is inherently better.