Effect of Redundant Function Execution to Reduce Memory Access on High-level Synthesis

The high-level synthesis, HLS, is a technology converting the software program to the hardware module automatically. The HLS can reduce the design burden of the hardware significantly. However, the HLS tools tend to generate a large and slow hardware generally when deep considerations of the hardware organization at software level are not taken care. This paper demonstrates a software describing method for HLS to reduce the memory access by duplicating the functions redundantly although the software usually eliminates redundant functions. The memory access may effect to the performance of the hardware module more than software. This is because the hardware modules are hard to equip the cache memory which is a rich fabrication on a chip such as the processor only can employ. The experimental result shows that our method can improve the performance than the hardware with more memory accesses, while the software degrades the performance by executing the duplicated functions compared with the software performs more memory accesses.