lsils / mockturtle

C++ logic network library
MIT License
191 stars 133 forks source link

Update cost-generic resynthesis #615

Closed Nozidoali closed 1 year ago

Nozidoali commented 1 year ago

Improve the effectiveness of cost-generic resubstitution by considering larger dependency circuits.

Compared to the previous version (#554), the updated version is:

  1. better at optimizing depth-like cost functions.
  2. more efficient (stores all candidates in a solution forest with structural hashing).
  3. better at optimizing cost functions that prefers XOR nodes.
Nozidoali commented 1 year ago

The commits are ready to be merged after the following todos are checked.

codecov-commenter commented 1 year ago

Codecov Report

Merging #615 (8089fef) into master (fac58aa) will decrease coverage by 0.32%. The diff coverage is 59.92%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@            Coverage Diff             @@
##           master     #615      +/-   ##
==========================================
- Coverage   84.18%   83.87%   -0.32%     
==========================================
  Files         178      181       +3     
  Lines       24168    24991     +823     
==========================================
+ Hits        20346    20960     +614     
- Misses       3822     4031     +209     
Impacted Files Coverage Δ
...clude/mockturtle/algorithms/detail/resub_utils.hpp 82.23% <ø> (ø)
include/mockturtle/views/cost_view.hpp 98.64% <ø> (+14.43%) :arrow_up:
...hms/experimental/cost_generic_refactor_functor.hpp 3.09% <3.09%> (ø)
...lude/mockturtle/utils/recursive_cost_functions.hpp 72.72% <45.45%> (-27.28%) :arrow_down:
...ithms/experimental/cost_generic_resub_functors.hpp 81.51% <89.89%> (ø)
...tle/algorithms/experimental/cost_generic_resyn.hpp 96.00% <96.00%> (ø)

... and 2 files with indirect coverage changes