Corrected an error in the "run converge" and "run resolve" methods.
The algorithm is to run without exhaustive subdivision until the last step because this is much faster. The final iteration must be run with exhaustive subdivision on, or else it is possible to have cells with swapped pins matching. The routines that resolve automorphisms were setting exhaustive subdivision for the final iteration. But simple "run converge" and "run resolve" were not.
This commit is contained in:
parent
c4f03eabaf
commit
4bbc496749
|
|
@ -2428,6 +2428,8 @@ _netcmp_run(ClientData clientData,
|
|||
else {
|
||||
enable_interrupt();
|
||||
while (!Iterate() && !InterruptPending);
|
||||
ExhaustiveSubdivision = 1;
|
||||
while (!Iterate() && !InterruptPending);
|
||||
if (dolist) {
|
||||
result = _netcmp_verify(clientData, interp, 2, objv - 1);
|
||||
}
|
||||
|
|
@ -2446,6 +2448,8 @@ _netcmp_run(ClientData clientData,
|
|||
else {
|
||||
enable_interrupt();
|
||||
while (!Iterate() && !InterruptPending);
|
||||
ExhaustiveSubdivision = 1;
|
||||
while (!Iterate() && !InterruptPending);
|
||||
automorphisms = VerifyMatching();
|
||||
if (automorphisms == -1)
|
||||
Fprintf(stdout, "Netlists do not match.\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue