Asosiy kontentga oʻtish
Maqola

Comparison of High-Level Synthesis and Hardware Construction Tools

А.С. КамкинRussian Economic University after G.V. PlekhanovMikhail Mikhaylovich ChupilkoИнститут системного программирования имени В.П. Иванникова РАН, Российский экономический университет имени Г.В. ПлехановаM.S. LebedevPlekhanov Russian University of Economics , 36 Stremyanny lane , Moscow , 117997 , RussiaSergey Aleksandrovich SmolovIvannikov Institute for System Programming of the RAS , 25 Alexander Solzhenitsyn st. , Moscow , 109004 , RussiaGeorgi GaydadjievRussian Economic University after G.V. Plekhanov
2022en
ABI

Annotatsiya

Application-specific systems with FPGA accelerators are often designed using high-level synthesis or hardware construction tools. Nowadays, there are many frameworks available, both open-source and commercial. In this work, we attempt to fairly compare several existing solutions (languages and tools), including Verilog (our baseline), Chisel, Bluespec SystemVerilog (Bluespec Compiler), DSLX (XLS), MaxJ (MaxCompiler), and C (Bambu and Vivado HLS). Our analysis has been carried out using a representative example of 8×8 inverse discrete cosine transform (IDCT), a widely used algorithm engaged in, among others, JPEG and MPEG decoders. The metrics under consideration include: (a) the degree of automation (how much less code is required compared to Verilog), (b) the controllability (possibility to achieve given design characteristics, namely a given ratio of the performance and area), and (c) the flexibility (ease of design modification to achieve certain characteristics). Rather than focusing on computational kernels only, we have developed AXI-Stream wrappers for the synthesized implementations, which allows adequately evaluating characteristics of the designs when they are used as parts of real computer systems. Our study shows clear examples of what impact specific optimizations (tool settings and source code modifications) have on the overall system performance and area. It emphasizes how important is to be able to control the balance between the communication interface utilization and the computational kernel performance and delivers clear guidelines for the next generation tools for designing FPGA accelerator based systems.

Hali tarjima qilinmagan

Identifikatorlar

Iqtiboslar va manbalar