Design, Model & Explore Approximate Arithmetic Circuits: A Tutorial
AppAxO Operator Model

To model approximation so it’s searchable and reproducible, we map every LUT (and selected carry segment) to a bit position in a fixed-order binary string (Figure 1). Reading left-to-right across the datapath, a 1 means keep the accurate LUT behavior; a 0 encodes a prune action we’ve pre-defined for that site—e.g., force O6=1, O5=0, or bypass a local carry and short the segment. The example on the right shows how flipping a handful of bits collapses LUTs to constants and shortens the carry chain; those structural edits match exactly what our simulator and RTL backend perform, so a genotype (bit string) deterministically yields a phenotype (approximate netlist) with predictable PPA and error.
By the end of this tutorial, participants will have a solid understanding of the AppAxO model, equipping them with the skills needed to implement these concepts in their own projects.
- Salim Ullah, Siva Satyendra Sahoo, Nemath Ahmed, Debabrata Chaudhury, and Akash Kumar. 2022. AppAxO: Designing Application-specific Approximate Operators for FPGA-based Embedded Systems. ACM Transactions Embedded Computing Systems (2022). https://doi.org/10.1145/3513262
v1.0 @ ESWeek 2025, Taipei, Taiwan