Forum Discussion
Hi,
I reported the full path timing of one of the paths for comparison, the route it takes from the FROM Node to To Node are different.
From Node: Ethernet_Bridge_inst|pll_p6_tx_to_ethernet_bridge|pll_p6_tx_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk
To Node: P6_ind[0]
This happens when I recompile the same design for multiple times. The logic are routed differently even without any changes in the design, which is as explained in the document.
Thanks.
Best regards,
KhaiY
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 ?
- ak6dn5 years ago
Regular Contributor
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.