mockturtle
mockturtle copied to clipboard
Algebraic methods for AIGs and XAGs
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)inaig_network). An example of the usage can be found inaig_balancein this PR
Codecov Report
Merging #580 (690927b) into master (c22656d) will decrease coverage by
0.25%. The diff coverage is72.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.