07-31-2020 12:08 AM
Recently, I compile a complex project, but the project cannot meet the timing require. during the implementation, the vivado shows design has a large number of hold violators. This is likely a design or constraint issue. Router is turning off hold fixing.
Resolution: You can turn off flag route.enableHoldExpnBailout to disable hold expansion based bailout to continue fixing hold.
but the RTL code has been simulated and it's success
How Can I do ???
07-31-2020 12:40 AM
For WHS, -4.7ns is too large for tool to fix it directly.
Please check the timing report and fix the hold time violation by correcting the xdc or using the appropriate clock structure.
08-02-2020 04:08 AM
If the violations at this stage are more than 0.1 or 0.2 nS, you need to fix the problem in the design. You may have a bad clock structure, such as non-clock primitives in the clock tree or using a non-clock capable pin as a clock input. There may be improper or unconstrained clock domain crossings. You need to look at the failing paths and fix the basic issues.
08-03-2020 07:30 PM
This is my design clock tree, there are many gate clock. and I have use the vivado gated_clock_conversion to concert the gate clock.
there is a large WHS, 4ns.
As we know, the clock1 is a global clock, and how I can optimize the clock, so that the clock can be timing closure.