Closed asraa closed 7 months ago
See this other tool here: https://github.com/lsils/mockturtle
And some discussion about this here: https://discourse.llvm.org/t/integration-with-abc-optimizer/65264/2
I think it would be nice to go
Arith / other high-level -> Combinational logic block -> [ABC Transform] -> Optimized combinational logic block
Combinational logic can then be lowered to schemes that support boolean gates / luts.
I also noticed this ArithToCombPass
from CIRCT:
https://github.com/llvm/circt/blob/main/include/circt/Transforms/Passes.td#L56C5-L71
I think we can mark this one as fixed now.
[!NOTE] Re-commenting because this issue was closed with unresolved TODOs.
This issue has 2 outstanding TODOs:
This comment was autogenerated by todo-backlinks
Reopening so we can migrate the TODOs to new issues
Related: https://github.com/google/heir/issues/110
We can take a high-level arithmetic program and create optimization passes that can invoke tools like Yosys and ABC to optimize and output a combinational circuit.
The combinational circuit can then be lowered to boolean FHE schemes.