一句话:提出 Zoomie,通过增量编译与开源仿真为 FPGA 提供类软件调试体验,百万门设计增量编译加速 18 倍。
FPGA 原型验证和加速器开发面临开发门槛高、迭代慢、调试困难等问题。本文提出 Zoomie,一个面向 FPGA 的调试工具,通过快速增量编译、复用验证基础设施以及受软件调试启发的开源仿真方法,降低 FPGA 开发门槛。Zoomie 在百万门级设计的增量编译时间上相比厂商工具链取得 18 倍加速,并支持类似软件调试的体验,包括断点、单步执行以及在运行中的设计中强制赋值。评估表明其能显著加快 FPGA 项目的迭代与调试流程。
FPGA prototyping has long been an indispensable technique in pre-silicon verification as well as enabling early-stage software development. FPGAs themselves have also gained popularity as hardware accelerators deployed in datacenters. However, FPGA development brings a plethora of problems. These issues constitute a high barrier towards mass adoption of agile development surrounding FPGA-based projects. To address these problems, we have built Zoomie for fast incremental compilation, reusing verification infrastructure, and a software-inspired approach towards open-source emulation. We show that Zoomie achieves 18× speedup over the vendor toolchain in incremental compilation time for million-gate designs. At the same time, Zoomie also provides a software-like debugging experience with breakpoints, stepping the design, and forcing values in a running design.
@inproceedings{WeiLLZSBA24,
title = {Zoomie: A Software-like Debugging Tool for FPGAs},
author = {Tianrui Wei and Kevin Laeufer and Katie Lim and Jerry Zhao and Koushik Sen and Jonathan Balkind and Krste Asanovic},
booktitle = {ASPLOS},
year = {2024},
doi = {10.1145/3620666.3651356}
}