Skip to main content
Log in

Background scrolling in high-level synthesis oriented game programing library

  • Original Article
  • Published:
Artificial Life and Robotics Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

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

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  5. Tsiktsiris D, Ziouzios D, Dasygenis M (2018) A high-level synthesis implementation and evaluation of an image processing accelerator. Technologies 7(1):4

    Article  Google Scholar 

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

    Article  Google Scholar 

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

  8. CodersLegacy, “Pygame – creating a scrolling background”, https://coderslegacy.com/python/pygame-scrolling-background/. Accessed 2 Oct 2020

  9. Suzuki R. Siv3D: C++ Library for creative coding. https://siv3d.github.io/. Accessed 2 Oct 2020

  10. Bell A. cinder. https://libcinder.org/. Accessed 2 Oct 2020

  11. Gomila L. Simple and fast multimedia library. https://www.sfml-dev.org/index.php. Accessed 2 Oct 2020

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

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

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

    Article  Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Akira Yamawaki.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10015-022-00758-7

Keywords

Navigation