Non deterministic routing in Quartus 3.0 ?

I have launched the place & route of the same project on two different machines, a PC 2.6 GHz (WIN 2000) and a COMPAQ XEON 700 MHz Workstation (WIN NT 4). Same project means same .vhd, .edf, .csf, .psf, .ssf, .esf, .quartus files. The QUARTUS release is the same (same build, same SP). I obtained two different placements and two different compile times (PC = 1h 40 min, Workstation = 5h 22 min): the file ..fit.rpt evidences that the options "Use Local Routing Input" and "Use Local Routing Output" were set differently between them during the compilation. As the project are the same and the seed is also the same, I would expect identical place and route.

Any comment ? Am I missing somenthing ?

Thanks in advance

Reply to
g. giachella
Loading thread data ...

Your win2k box is faster than your nt box.

Lets assume that place & route is mostly compute bound. In that case, if I didn't know the answer, I would estimate the NT test time as:

(100 min) (2.6/.7) = 371 min = 6 hours

So you are doing better than I would expect.

-- Mike Treseler

Reply to
Mike Treseler

The different compile time is just CPU speed differences, as Mike explained. For the different placement and routing, I can only think of two things:

  1. You changed some option without realizing it between the two compiles. Are "Use Local Routing Input" and "Use Local Routing Output" options you set for the compiler, and you're saying they have different values in the two fit.rpt files? If so, that indicates you have unintentionally changed a setting between the two compiles, which would explain the different place and route.
  2. We have occasionally gotten different fits on different versions of Windows due to things like qsort breaking ties differently in different windows versions. A slight difference at one point in the compile leads to a different fit on the two platforms. Both are valid fits; they are just different. As we find these cases, we get rid of them by doing things like writing our own qsort that breaks ties in a deterministic way.

So it's rare, but we do find these cases.

Regards,

Vaughn Altera

Reply to
Vaughn Betz

I agree with you, but my real question is: why, if the two projects starting point is the same, the two placements obtained are different, when compared ? Is Quartus p&r algorithm non deterministic ?

Reply to
g. giachella

Thank you for your interest. I have launched a new compilation on a pc only and, again, the result is different from the previous launched on the same pc. I don't understand why ...

Reply to
g. giachella

Do you have smart compilation enabled? If yes, then it will use the result of the previous iteration as the base for the next.

Make a backup. Then delete all but your source files and start in a fresh directory.

Petter

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Reply to
Petter Gustad

In my tests, every time I start a new p&r, I put the project files (.edf, .vhd, .quartus, .psf, .csf, .ssf, .esf) in a new empty directory, so that the new compilation can't be based on previous compilations. Furthermore "normal" compilation is enabled.

Giuseppe

Reply to
g. giachella

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.