13.29.6.1.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:

  1. Enter max-delay, min-delay, setup and hold constraints in SmartTime's constraint editor or in SDC.
  2. 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).
  3. Perform Layout with Timing Driven, Run Place, Run Route and/or Run incrementally enabled.
  4. Resolve worst case setup and max-delay violations before running minimum delay violations repair.
  5. 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.
  6. 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.

  7. 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.
  8. After making placement or source code changes, run incremental route and repair minimum delay violations, and then analyze timing again.
Note: Runtime may vary greatly with the number of paths that need repair, the number of nets in those paths, and the resources available for the tool to insert delay. Over-constraining paths will increase runtime, but will not likely improve results.

The tool will only work on paths that have min delay and hold time constraints. However, other paths that share common nets to the constrained paths may be inadvertently affected.

Microchip recommends that you run minimum delay violations repair with incremental route. This will ensure that paths which do not have minimum delay violations are preserved.

Repair will be performed on:

  • Register to register paths where both registers are on the same global or non-global clock
  • Register to register paths where the registers are on different clock networks and a minimum delay constraint exists
  • Input to register, register to output, clock to out, input to output paths with minimum delay or hold constraint.

You may select programmable input delays to increase delay on input to register paths for devices that support the feature.