Commit aa86cd9
committed
[Synth] Add LogicNetwork flat IR representation for CutRewriter
Add mockturtle-style flat logic network representation for efficient
cut enumeration and truth table computation:
- LogicEdge: 32-bit value encoding node index and inversion in LSB
- LogicNetworkGate: Gate struct with Kind enum and up to 3 edges
- LogicNetwork: Value numbering with indices 0/1 reserved for constants
The LogicNetwork is now built during CutEnumerator::enumerateCuts()
and provides O(1) gate lookup by index. This is the foundation for
converting Cut.inputs from Value pointers to integer indices.1 parent 4d0819d commit aa86cd9
File tree
11 files changed
+1341
-546
lines changed- include/circt/Dialect/Synth/Transforms
- lib/Dialect/Synth/Transforms
- test/Dialect/Synth
11 files changed
+1341
-546
lines changedLarge diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
| 359 | + | |
359 | 360 | | |
360 | 361 | | |
361 | 362 | | |
362 | 363 | | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
363 | 368 | | |
364 | 369 | | |
365 | 370 | | |
| |||
0 commit comments