Skip to main content
Logo image

Section 12.4 State machine synthesis

When the state machine Listing 12.2.1 is passed to the Vivado synthesis tool (Section 11.3), a report is generated with interesting details about how the state machine is processed. This report includes a listing of the binary codes assigned to the states:
-----------------------------------------------------
   State |     New Encoding |     Previous Encoding 
-----------------------------------------------------
    idle |               00 |                    00
     run |               01 |                    01
   flash |               10 |                    10
  finish |               11 |                    11
-----------------------------------------------------
INFO: [Synth 8-3354] encoded FSM with state register 
'curr_state_reg' using encoding 'sequential' in module 
'FSM_redgreen'
Also, a table of the resources used:
Report Cell Usage: 
+------+-----+------+
|      |Cell |Count |
+------+-----+------+
|1     |LUT2 |     3|
|2     |LUT3 |     1|
|3     |FDRE |     2|
+------+-----+------+
This table is corroborated by the post-synthesis schematic, Figure 12.4.1. The two flip-flops hold the two state bits. Two of the lookup tables (Section 11.1) are used for next state logic, and the other two are used to generate the outputs.
described in detail following the image
Simulation waveform
Figure 12.4.1. Post-synthesis schematic of the state machine in Listing 12.2.1.