Forum Discussion
Hi,
The path it takes to the assigned pin (destination) could be different from compilation to compilation. When you run a compilation, the Fitter creates a random initial placement for the logic based on the initial condition of your design. The initial condition of the design is a function of all the source files, optimization settings, and an integer called the Fitter seed value. A change in any of these parameters results in a change in the initial placement. A change in initial placement affects how optimizations proceed, producing a different Fitter result. Any modification, such as changing a net name, pin name, or making a new assignment affects the final results.
Thanks
Best regards,
KhaiY
- SKon15 years ago
Occasional Contributor
Thanks, but this doesn't answer my question. Please read again what I wrote:
The only thing that was changed between the design that passed to the design that failed. Is copying the locations of the auto assigned pins from the fitter report of the design that passed and locking them (to the same location) using the "set_location_assignment" command in the QSF file.
So, by definition I'm using the exact pin locations and NOTHING was changed in any of the sources.
So the only thing that could've changed is the SEED value you mentioned.This SEED value presumably changes after every compilation...but I get the same negative slack - no matter how many times I compile afterwards. How do you explain this ?