FPGARelated.com
Forums

Non deterministic routing in Quartus 3.0 ?

Started by g. giachella January 20, 2004
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
g. giachella wrote:
> 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 ?
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
Mike Treseler <mike.treseler@flukenetworks.com> wrote in message news:<400D7312.1090304@flukenetworks.com>...
> g. giachella wrote: > > 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 ? > > 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
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
Mike Treseler <mike.treseler@flukenetworks.com> wrote in message news:<400D7312.1090304@flukenetworks.com>...
> g. giachella wrote: > > 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 ? > > 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
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 ?
vbetz@altera.com (Vaughn Betz) wrote in message news:<48761f7f.0401202037.79907801@posting.google.com>...
> Mike Treseler <mike.treseler@flukenetworks.com> wrote in message news:<400D7312.1090304@flukenetworks.com>... > > g. giachella wrote: > > > 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 ? > > > > 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 > > > 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
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 ...
giachella.g@laben.it (g. giachella) writes:

> 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 ...
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?
Petter Gustad <newsmailcomp6@gustad.com> wrote in message news:<8765f37trt.fsf@zener.home.gustad.com>...
> giachella.g@laben.it (g. giachella) writes: > > > 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 ... > > 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
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