Timing failure on auto assigned pins
Hello,
In my design I have 3 output pins that show a timing violation in Timequest.
Their location is locked by the "set_location_assignment" TCL command in the project's QSF file.
Because the PCB is still being designed - I can move pins around. So what I did is remove the "set_location_assignment" command from these pins and re-complied the design.
As far as I understand, this gives the fitter the freedom to choose the best location for the pins to achieve timing closure.
Looking at the fitter report after compilation I could see that the pins in question where moved to different location - and the design now passed timing! All good till this point...
I then decided to return the "set_location_assignment" - only now with the automatically chosen fitter pins. I re-compiled and the designed failed timing again!
I don't understand why this happens. I locked the pins to THE SAME LOCATION automatically chosen by the fitter - and this is the only thing I did (I didn't change the RTL).
So why does it now fail timing ? Can you explain this please ?