Abstract
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.









Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Qasaimeh M, Denolf K, Lo J et al (2019) Comparing energy efficiency of CPU, GPU and FPGA implementations for vision kernels. In: 2019 IEEE International Conference on Embedded Software and Systems (ICESS), Las Vegas, NV, USA, 2019, pp 1–8, https://doi.org/10.1109/ICESS.2019.8782524.
Sambas A, Vaidyanathan S, Tlelo-Cuautle E et al (2020) A 3-D multi-stable system with a peanut-shaped equilibrium curve: circuit design, FPGA realization, and an application to image encryption. IEEE Access 8:137116–137132
Muslim FB, Ma L, Roozmeh M, Lavagno L (2017) Efficient FPGA implementation of OpenCL high-performance computing applications via high-level synthesis. IEEE Access 5:2747–2762
Qamar A, Muslim FB, Gregoretti F et al (2017) High-level synthesis for semi-global matching is the juice worth the squeeze? IEEE Access 5:8419–8432
Tsiktsiris D, Ziouzios D, Dasygenis M (2018) A high-level synthesis implementation and evaluation of an image processing accelerator. Technologies 7(1):4
Nane R, Sima V-M, Pilato C, Choi J, Fort B, Canis A, Chen YT, Hsiao H, Brown S, Ferrandi F, Anderson J, Bertels K (2016) A survey and evaluation of fpga high-level synthesis tools. IEEE Trans Comput Aided Des Integr Circuits Syst 35(10):1591–1604. https://doi.org/10.1109/tcad.2015.2513673
Bailey DG (2015) The advantages and limitations of high level synthesis for fpga based image processing. In: Proceedings of the 9th International Conference on Distributed Smart Cameras, pp 134–139. https://doi.org/10.1145/2789116.2789145
CodersLegacy, “Pygame – creating a scrolling background”, https://coderslegacy.com/python/pygame-scrolling-background/. Accessed 2 Oct 2020
Suzuki R. Siv3D: C++ Library for creative coding. https://siv3d.github.io/. Accessed 2 Oct 2020
Bell A. cinder. https://libcinder.org/. Accessed 2 Oct 2020
Gomila L. Simple and fast multimedia library. https://www.sfml-dev.org/index.php. Accessed 2 Oct 2020
Yamagata Y, Yamawaki A (2019) Development of filled circle drawing in high-level synthesis oriented game programing library. In: Proceedings of 2019 20th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT 2019), pp 280–284
Yamasaki M, Yonemitsu S, Yamawaki A (2018) Effect of redundant function execution to reduce memory access on high-level synthesis. In: Proceedings of the 6th IIAE International Conference on Industrial Application Engineering, pp 206–209
Yamasaki M, Yamawaki A (2020) Duplicating same argument of function to realize efficient hardware for high-level synthesis. Artif Life Robotics 25(2):248–252. https://doi.org/10.1007/s10015-019-00576-4
Xilinx SDAccel Development Environment Help for2019.1. https://www.xilinx.com/html_docs/xilinx2019_1/sdaccel_doc/hls-pragmas-okr1504034364623.html. Accessed 12 Nov 2021
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
About this article
Cite this article
Lee, K., Yamawaki, A. Background scrolling in high-level synthesis oriented game programing library. Artif Life Robotics 27, 455–460 (2022). https://doi.org/10.1007/s10015-022-00758-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10015-022-00758-7