LAMDA: Learning-Assisted Multi-Stage Autotuning for FPGA Design Closure Ecenur Ustun∗, Shaojie Xiang, Jinny Gui, Cunxi Yu∗, and Zhiru Zhang∗ School of Electrical and Computer Engineering, Cornell University, Ithaca, NY, USA feu49, cunxi.yu,
[email protected] 12.5 12.30 Abstract—A primary barrier to rapid hardware specialization Default Timing with FPGAs stems from weak guarantees of existing CAD 12.0 11.66 tools on achieving design closure. Current methodologies require 11.5 11.29 extensive manual efforts to configure a large set of options 11.16 11.13 across multiple stages of the toolflow, intended to achieve high 11.0 quality-of-results. Due to the size and complexity of the design 10.5 space spanned by these options, coupled with the time-consuming 10.0 9.93 9.91 9.86 9.68 evaluation of each design point, exploration for reconfigurable 9.50 9.5 computing has become remarkably challenging. To tackle this Critical Path (ns) challenge, we present a learning-assisted autotuning framework 9.0 8.76 called LAMDA, which accelerates FPGA design closure by 8.66 8.5 8.52 8.37 utilizing design-specific features extracted from early stages of the 8.22 8.0 design flow to guide the tuning process with significant runtime 8.8 8.9 9.0 9.1 9.2 9.3 9.4 savings. LAMDA automatically configures logic synthesis, tech- Timing Target (ns) nology mapping, placement, and routing to achieve design closure Fig. 1. Timing distribution of bfly for various tool settings and timing efficiently. Compared with a state-of-the-art FPGA-targeted auto- constraints – x-axis represents target clock period (ns), and y-axis represents tuning system, LAMDA realizes faster timing closure on various critical path delay (ns).