Skip to content
hw.dev
hw.dev/signal/fracturable-lut-dual-output-abc-fpga-2026
SignalarXiv

Dual-Output-Aware LUT Mapping in ABC Delivers 15.8x Speedup and 35% Area Reduction for Fracturable FPGAs

An iterative dual-output-aware LUT mapping framework integrated into Berkeley ABC achieves 34.96% LUT area reduction versus vanilla ABC and 15.8x speedup over the prior best method on EPFL benchmarks for fracturable FPGA architectures.

#fpga#eda#tools
Read Original

Modern FPGAs use fracturable LUTs: a single physical LUT site that can implement either one large-input function or two smaller functions simultaneously. Conventional FPGA mapping flows, including Berkeley ABC, treat dual-output packing as an afterthought: single-output mapping runs first, then a separate pass tries to pack pairs. That ordering prevents the packing opportunity from influencing which cuts get selected in the first place, leaving LUT utilization on the table. This paper integrates dual-output awareness directly into ABC's delay, area-flow, and exact-area optimization passes. The method alternates between single-output cut selection and bounded dual-output matching, feeding discovered pair information back into subsequent mapping rounds through a cut-cost adjustment. On the EPFL combinational benchmark suite, the result is a 34.96% LUT area reduction versus vanilla ABC and 15.8x speedup over the best previously published dual-output-aware method, with an additional 5% depth reduction.

The practical significance is in who this affects. Teams doing open-source FPGA development with Verilog-to-bitstream flows built on ABC (via Yosys, nextpnr, SymbiFlow) now get substantially better LUT packing without changing their toolchain. LUT area directly translates to fitting more logic into a given device, deferring the move to a larger and more expensive FPGA family. A 35% area reduction on a design sitting at 85% utilization is not a curiosity; it is the difference between taping out on a current device and re-spinning a custom PCB with a larger FPGA.

The 15.8x runtime speedup matters for the broader open-source FPGA ecosystem because fast iteration on placement and routing depends on fast synthesis. If technology mapping runs in seconds rather than minutes, the loop from RTL edit to placed-and-routed feedback tightens enough to change how engineers use it. Xilinx and Intel charge for their synthesis tools partly because their LUT packing is good; an open-source packer closing that gap by this margin is the kind of incremental progress that, over 2-3 years, makes commercial FPGA toolchains defensible only by their proprietary back-ends.