Forum Discussion
So you do see that the tool can meet timing when the pins aren't locked...and you also see that locking them (to the same location) makes the design fail timing.
Do you agree it's a bug in the P&R tool ?
Or at least something that can be considered sub-optimal behavior ?
Just a question and a thought:
Do you manually set the seed value for the place/route, or let Quartus choose it each time?
Once I get a working combination, I will add to my master .qsf file:
set_global_assignment -name SEED nnnn
where I set the seed to some constant number for that layout. You can choose nnnn either before (and if you are lucky your P/R will work and meet all timing) or after a successful layout find the seed used.
Once I do this, I can rerun P/R from scratch and recreate the same layout.
- SKon15 years ago
Occasional Contributor
No, I didn't change the seed manually.
I don't really understand to what value you want me to change it.
- ak6dn5 years ago
Regular Contributor
The SEED value is used to initialize the random number generator that Quartus uses during placement and routing. Much of the P&R is driven by analysis of connectivity of the logic, but there is some randomness induced during the process. If you don't set a SEED, it will be different each time you run Quartus, and you may get different P&R and timing results.
I usually start with a fixed SEED value of '42' (just an arbitrary number but it has some movie history) and if the layout completes and meets timing I leave it. Otherwise I'll change it and retry.
Since you don't set your seed manually (and statically) then the SEED is changing between P&R runs as well as your lockdown assignments for the selected pins. So the runs are not ~exactly~ the same.