Closed KamilDre closed 2 years ago
I can not reproduce your error, but multiple things do not look right:
aig_network original_ntk = ntk;
does not make a copy. However, you could read the benchmark twice, misuse cleanup_dangling
to copy, or wait for PR #522.direct_resynthesis
does only support some 3-input functions, but not all. Other resynthesis methods support more or all functions. That's likely why the problem disappears if you change the resynthesis method. Have a look at the documentation: https://mockturtle.readthedocs.io/en/latest/algorithms/node_resynthesis.htmlHave you merged #521 which fixed the issue last time?
I tested, of course, on the latest version with the fix.
I am closing this issue as we could not reproduce the error. Please feel free to reopen it with more information.
Hi,
I was experimenting with the
refactoring
operation and noticed that if I apply it twice with thedirect_resynthesis
resynthesis engine to the "adder" network from the EPFL Arithmetic benchmark (https://github.com/lsils/benchmarks/tree/master/arithmetic), then the resultant network is no longer equivalent to the original network. However, this is not the case if I apply therefactoring
operation only once or change the resynthesis engine toexact_aig_resynthesis
. Do you maybe know why this is the case?The code below illustrates how this reproduce this issue.
adder.zip