4
\$\begingroup\$

I'm using Synopsys to synthesize designs. I've noticed that when I synthesize exactly the same design several times, I get different synthesis reports.

When I launch the tool for the first time, synthesize the design, read the report ; then, close the tool and resynthesize the same design, then I get the same results. But if I perform the same synthesis without closing the tool, results aren't the same.

I think this must have to do with some history files, but I'm not sure. Anyone else had this problem ? How can I solve it ? Is there a way of reseting the tool in a script so that this does not happen when I perform synthesis without quitting the tool ?

\$\endgroup\$

1 Answer 1

4
\$\begingroup\$

Synthesis tools use various techniques to optimize the results, particularly with regard to placement. Some of those techniques, such as simulated annealing, make use of random numbers. Apparently, the random number generator is seeded with a fixed value when you launch the tool, but additional randomness is incorporated on successive runs.

The bottom line is, all of the different results are functionally correct and meet your timing constraints, but simply have the delays distributed slightly differently. There's really no reason to prefer the "first" run over any of the others.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.