AxOSyn Logo

Design, Model & Explore Approximate Arithmetic Circuits: A Tutorial

Home Tutorials

Accurate Operator Approximate Operator


Accurate Operator Design

Accurate Operator Design
Figure 1: Accurate Operator Design

To ground the tutorial, we start from an accurate partial-product implementation coded directly at the LUT level. Figure 1 shows the synthesized slice layout together with two diagnostics we’ll rely on throughout: the top-5 power-hungry LUTs (red callouts) and the top-5 timing-critical paths (blue path/labels). These baselines tell us where approximation pressure is most promising—either by reshaping the worst LUTs or by relieving long carry/propagate paths—before we introduce any error.

Approximate Operator Design

Approximate Operator Design
Figure 2: Approximate Operator Design

After applying structured LUT pruning, the datapath reshapes and so do its bottlenecks. Figure 2 highlights the new top power contributors (red callouts) and revised critical paths (blue), making clear that approximation is not just “less logic” — it rebalances switching activity and timing. These diagnostics guide the next iteration: either target the remaining red blocks for further simplification, or relieve the longest blue segment with carry/encode tweaks while keeping error within budget.



v1.0 @ ESWeek 2025, Taipei, Taiwan

es_rub Logo rub Logo