mockturtle icon indicating copy to clipboard operation
mockturtle copied to clipboard

Algebraic methods for AIGs and XAGs

Open aletempiac opened this issue 3 years ago • 1 comments

This PR adds:

  • AIG balancing
  • XAG algebraic depth reduction (rules based on AND-associativity, XOR-associativity, AND-distributivity, AND-OR-distributivity, AND-XOR-distributivity)
  • Methods to check if a node is present in the network given its immediate fanin (e.g., has_and(f1, f2) in aig_network). An example of the usage can be found in aig_balance in this PR

aletempiac avatar Nov 24 '22 16:11 aletempiac

Codecov Report

Merging #580 (690927b) into master (c22656d) will decrease coverage by 0.25%. The diff coverage is 72.61%.

@@            Coverage Diff             @@
##           master     #580      +/-   ##
==========================================
- Coverage   83.28%   83.02%   -0.26%     
==========================================
  Files         160      162       +2     
  Lines       19738    20231     +493     
==========================================
+ Hits        16438    16796     +358     
- Misses       3300     3435     +135     
Impacted Files Coverage Δ
.../mockturtle/algorithms/xag_algebraic_rewriting.hpp 56.75% <56.75%> (ø)
include/mockturtle/networks/mig.hpp 90.28% <68.96%> (-1.58%) :arrow_down:
include/mockturtle/networks/xmg.hpp 88.16% <82.60%> (-0.58%) :arrow_down:
include/mockturtle/networks/aig.hpp 93.34% <86.66%> (-0.25%) :arrow_down:
include/mockturtle/networks/xag.hpp 94.74% <87.09%> (-0.62%) :arrow_down:
include/mockturtle/algorithms/aig_balancing.hpp 89.33% <89.33%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov-commenter avatar Nov 24 '22 16:11 codecov-commenter