13.29.2.3.1 Repair Minimum Delay Violations
With this option selected, layout will perform an additional route that will attempt to repair paths that have minimum delay and hold time violations. This is done by increasing the length of routing paths and inserting routing buffers to add delay to paths. Since placement will remain unchanged and no additional tiles or modules will be inserted, the amount of delay inserted is limited. As a result, this function is best suited to repair paths with small (0 to 3 ns) hold and minimum delay violations. Paths with large violations will likely improve, but for a complete repair of these paths, manual placement or source code modification may be necessary. Every effort will be made to avoid creating max-delay timing violations on worst case paths.
To get the most out of repair minimum delay violations, it is recommended to:
- Enter max-delay, min-delay, setup and hold constraints in SmartTime's constraint editor or in SDC.
- Set false paths on any paths that have a constraint, but do not need one (this will help layout to meet the constraints that are needed).
- Perform Layout with Timing Driven, Run Place, Run Route and optionally Run incrementally enabled.
- Resolve worst case setup and max-delay violations before running minimum delay violations repair.
- After worst case max-delay timing is resolved, evaluate timing in SmartTime’s Timing Analyzer in minimum delay analysis mode to check for hold time and minimum delay violations.
- Run repair minimum delay violations with incremental route enabled.
The repair minimum delay violations tool will attempt to fix all hold time and minimum delay violations by lengthening routing delay paths and inserting routing buffers. As delay is added to paths, worst case max-delay timing is verified to avoid creating new max-delay timing violations. Designer will report the worst minimum slack and the number of violating paths in the log window. In some cases, additional improvement can occur by running repair minimum delay violations multiple times with Run Incrementally enabled.
- Perform both maximum and minimum delay timing analysis to check the timing. Manual placement or source code modification may be necessary to repair all minimum delay violations.
- After making placement or source code changes, run incremental route and repair minimum delay violations, and then analyze timing again.
