Setting FSM Encoding (Xilinx Vivado)

To change the FSM encoding using the graphical interface in Xilinx Vivado:

  1. Select menu Tools > Project Settings...
  2. Click on Synthesis at the left
  3. Change the option for -fsm_extraction

To investigate the state machine coding:

  1. After synthesis has run, select View Reports in the Synthesis Completed dialog
  2. If the Synthesis Completed dialog didn't appear, click the Reports tab at the bottom
  3. Double click Vivado Synthesis Report
  4. In the report, you should find lines like this
    INFO: [Synth 8-802] inferred FSM for state register 'State_reg' in module 'FSM'
    INFO: [Synth 8-3354] encoded FSM with state register 'State_reg' using encoding 'one-hot' in module 'FSM'