CIRCT

Circuit IR Compilers and Tools

'aig' Dialect

This document outlines the rationale of the AIG dialect, a dialect used for representing and transforming And-Inverter Graphs.

Rationale 

Why use the AIG dialect instead of the comb dialect?

And-Inverter Graphs have proven to be a scalable approach for logic synthesis, serving as the underlying data structure for ABC, one of the most performant open-source logic synthesis tools.

While it’s technically possible to represent aig.and_inv using a combination of comb.and, comb.xor, and hw.constant, the ability to represent everything with aig.and_inv offers significant advantages. This unified representation simplifies complex analyses such as path retiming and area analysis, as well as logic mappings. Moreover, it allows for direct application of existing AIG research results and tools, further enhancing its utility in the synthesis process.

Operations