Abstrakt: |
We are developing a game programing library which can be converted to hardware modules by high-level synthesis, HLS technology to realize high-performance and low-power mobile terminals executing game applications. High-level synthesis is a technology that converts software into hardware automatically. The game software is executed by high-speed and low-power hardware on the reconfigurable devices in the mobile terminals instead of power-hungry software execution. To make high-level synthesis tool generate a desirable hardware module, we must describe software program well considering the hardware organization. In this paper, we develop a background scrolling processing as one of functions in high-level synthesis-oriented game software library. The pure software to realize the background scrolling has two nested loops accessing to the same array in the main loop. The former loop must finish all read and write accesses to the arrays before starting the operations of the latter loop. This prevents the latter loop starting in parallel to the former loop even if they have some parallelism. As a result, it disturbs making hardware high-speeded and well-pipelined by high-level synthesis tool and may lead to a significant latency. In this paper, we show a program description method to avoid this problem. With this method, high-level synthesis tool may convert background scrolling processing efficiently. In addition, we also evaluate the execution time, resource usage and power consumption of the hardware module that high-level synthesis generated through the experiment. [ABSTRACT FROM AUTHOR] |