🤖 AI Summary
This work addresses the limitations of existing high-level synthesis (HLS) tools, which are sensitive to programming style and lack transparency, thereby hindering automatic and efficient optimization of specialized memory systems. The paper presents the first formal translation framework based on relational Hoare logic that automatically identifies complex memory access patterns in naive HLS programs and transparently inserts on-chip buffering and streaming structures while preserving semantic correctness. By integrating this approach with commercial HLS tools and evaluating it on real FPGA platforms, the method demonstrates significant performance improvements for hardware accelerators. This study marks the first application of relational Hoare logic to HLS optimization, ensuring both correctness and efficiency of the applied transformations.
📝 Abstract
High-level synthesis (HLS) is a powerful tool for developing efficient hardware accelerators that rely on specialized memory systems to achieve sufficient on-chip data reuse and off-chip bandwidth utilization. However, even with HLS, designing such systems still requires careful manual tuning, as automatic optimizations provided by existing tools are highly sensitive to programming style and often lack transparency. To address these issues, we present a formal translation framework based on relational Hoare logic, which enables robust and transparent transformations. Our method recognizes complex memory access patterns in na\"ive HLS programs and automatically transforms them by inserting on-chip buffers to enforce linear access to off-chip memory, and by replacing non-sequential processing with stream processing, while preserving program semantics. Experiments using our prototype translator, combined with an off-the-shelf HLS compiler and a real FPGA board, have demonstrated significant performance improvements.