lsils / mockturtle

C++ logic network library
MIT License
210 stars 139 forks source link

`substitute_node`: Should it be allowed to substitute with a dead node? #565

Closed lee30sonia closed 1 year ago

lee30sonia commented 2 years ago

The quality test (to be more specific, "Test quality improvement of MIG cut rewriting with compatibility graph and NPN4 resynthesis") does not pass anymore after the fix of #560. This is because cut_rewriting_with_compatibility_graph tries to substitute with a dead node and "revive" it. There are a few possible fixes:

lee30sonia commented 2 years ago

567 will fix the issue with the second solution above. However, I will keep this issue open as the other possibilities (especially the last one) could still be discussed.

lee30sonia commented 1 year ago

586 fixes this issue better with revive_node (last option above). Changes related to cut_rewriting_with_compatibility_graph (including quality test) in #567 has been reverted.