You are using a deprecated Browser. Internet Explorer is no longer supported by Xilinx.
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:
- For avoiding high fanout signals, see (Xilinx Answer 9410).
- Forlong carry logic chains, see (Xilinx Answer 9412).
- For I/Os 3-state enable paths, see (Xilinx Answer 9413).
- For paths through TBUFs, see (Xilinx Answer 9414).
- For timing through irrelevant paths such as RESET or ".SR" pin, see (Xilinx Answer 9415).
- For using multi-cycle paths, such as a path through a ".CE" pin, see (Xilinx Answer 9416).
- For how to avoid having too many levels of logic, see (Xilinx Answer 9417).
- For timing constraints that miss their goals by 5% to 10%, see (Xilinx Answer 9418).
- For timing constraints that miss their goals by 10% to 15%, see (Xilinx Answer 9419).
Was this Answer Record helpful?