Recall & Review
beginner
What are the three blocks in the Three-block FSM coding style?
The three blocks are: 1) State register block (holds the current state), 2) Next state logic block (decides the next state based on inputs and current state), 3) Output logic block (generates outputs based on the current state).
Click to reveal answer
beginner
Why do we separate FSM code into three blocks in Verilog?
Separating FSM code into three blocks improves readability, makes debugging easier, and clearly separates state storage, state transitions, and output generation.
Click to reveal answer
beginner
In the Three-block FSM style, which block uses a clock edge to update the state?
The state register block uses the clock edge (usually posedge) to update the current state to the next state.
Click to reveal answer
beginner
What is the role of the next state logic block in the Three-block FSM style?
The next state logic block calculates the next state based on the current state and inputs, without using clock edges.
Click to reveal answer
intermediate
How does the output logic block differ between Moore and Mealy FSMs in the Three-block style?
In Moore FSMs, outputs depend only on the current state and are in the output logic block. In Mealy FSMs, outputs depend on current state and inputs, so output logic block uses both.
Click to reveal answer
Which block in the Three-block FSM style holds the current state?
✗ Incorrect
The state register block stores the current state and updates it on clock edges.
What triggers the update of the current state in the state register block?
✗ Incorrect
The current state updates on the clock edge, typically the rising edge.
In the Three-block FSM style, which block decides the next state?
✗ Incorrect
The next state logic block computes the next state based on current state and inputs.
Which FSM type has outputs depending only on the current state?
✗ Incorrect
Moore FSM outputs depend only on the current state.
Why is the Three-block FSM style recommended?
✗ Incorrect
Separating state register, next state logic, and output logic makes the FSM easier to understand and debug.
Explain the purpose of each of the three blocks in the Three-block FSM coding style.
Think about what happens on clock edges, how next state is decided, and how outputs are created.
You got /3 concepts.
Describe how the Three-block FSM style improves code readability and debugging in Verilog.
Consider how dividing tasks helps when reading or fixing code.
You got /4 concepts.