We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 9411

12.1 Timing Closure - Timing Closure suggestions for state machine optimization


I placed a timing constraint on a path, but the constraint has errors. What can I do to make this timing constraint pass?


Suggestions for state machine optimization:
  • Use one-hot encoding for the states.
  • Use a synthesis state machine coding tool, if possible.
  • Reduce the number of input signals and pre-decode the input signals.
  • Register input and output signals.
  • Pre-decode and register counter values.
  • Remove data flow from the state machine and create control signals to control data flow.
  • Duplicate state to where many states transition, and reduce the number of states in state equations.
  • Use CASE statements and not IF-ELSE statements.

For additional suggestions and recommendations, see the following Answer Records:
AR# 9411
Date Created 08/21/2007
Last Updated 12/15/2012
Status Active
Type General Article
  • ISE - 10.1
  • ISE Design Suite - 11.1
  • ISE Design Suite - 11.2
  • More
  • ISE Design Suite - 11.3
  • ISE Design Suite - 11.4
  • ISE Design Suite - 11.5
  • ISE Design Suite - 12.1
  • ISE Design Suite - 12.2
  • Less