Optimizing DDR-SDRAM Communications at C-level for Automatically-Generated Hardware Accelerators. An Experience with the Altera C2H HLS Tool.
Résumé
High-level synthesis tools are now getting more mature for generating hardware accelerators with an optimized internal structure, thanks to efficient scheduling techniques, resource sharing, and finite-state machines generation. However, interfacing them with the outside world, i.e., integrating the automatically-generated hardware accelerators within the complete design, with optimized communications, so that they achieve the best throughput, remains a very hard task, reserved to expert designers. In general, the designers are still responsible for programming all the necessary glue (most of the time in VHDL/Verilog) to get an efficient design. Taking the example of C2H, the HLS tool from Altera, and of hardware accelerators communicating to an external DDR-SDRAM memory, we show that it is possible to restructure the application code, to generate adequate communication processes, in C, and to compile them all with C2H, so that the resulting application is highly-optimized, with full usage of the memory bandwidth. In other words, our study shows that HLS tools can be used as back-end compilers for front-end optimizations, as it is the case for standard compilation with high-level transformations developed on top of assembly-code optimizers. We believe this is the way to go for making HLS tools viable.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...