Forum Discussion
Altera_Forum
Honored Contributor
18 years ago --- Quote Start --- Do you mean that if I [use the Fitter setting] Then the fitter will add delay when necessary, so that hold violation will never occur? --- Quote End --- "Never" is too strong a description, but setting "Optimize hold timing" to "All paths" will make the Fitter attempt to prevent hold-time violations by inserting routing delay where the Fitter's timing estimates predict the additional delay is needed. The Fitter won't always estimate that timing correctly (exact timing analysis isn't done till the end of compilation), and the Fitter might give up if it thinks too much routing delay would be required. Notice godfather's comment about clock skew. Before you use that Fitter setting, make sure your problem is not from clock skew caused by an avoidable reason like logic (a divide-by-n register, a clock mux, etc.) in the clock path. The Classic Timing Analyzer will show you clock skew if you do "list paths" on a failing path and expand the message lines until you find the clock skew portion with the clock path detail under that. When you run report_timing with TimeQuest, a clock skew number is reported, and you have the ability to show the detail in the clock path similar to "list paths" for the Classic Timing Analyzer.