DOI QR코드

DOI QR Code

Function-level module sharing techniques in high-level synthesis

  • Nishikawa, Hiroki (Graduate School of Science and Engineering, Ritsumeikan University) ;
  • Shirane, Kenta (Graduate School of Science and Engineering, Ritsumeikan University) ;
  • Nozaki, Ryohei (Graduate School of Science and Engineering, Ritsumeikan University) ;
  • Taniguchi, Ittetsu (Graduate School of Information Science and Technology, Osaka University) ;
  • Tomiyama, Hiroyuki (Graduate School of Science and Engineering, Ritsumeikan University)
  • Received : 2020.03.21
  • Accepted : 2020.07.02
  • Published : 2020.08.18

Abstract

High-level synthesis (HLS), which automatically synthesizes a register-transfer level (RTL) circuit from a behavioral description written in a high-level programming language such as C/C++, is becoming a more popular technique for improving design productivity. In general, HLS tools often generate a circuit with a larger area than those of hand-designed ones. One reason for this issue is that HLS tools often generate multiple instances of the same module from a function. To eliminate such a redundancy in circuit area in HLS, HLS tools are capable of sharing modules. Function-level module sharing at a behavioral description written in a high-level programming language may promote function reuse to increase effectiveness and reduce circuit area. In this paper, we present two HLS techniques for module sharing at the function level.

Keywords

References

  1. D. D. Gajski et al., High-level synthesis: Introduction to chip and system design, Kluwer Academic Publisher, Hingham, MA, 1992.
  2. M. C. McFarland, A. C. Parker, and R. Camposano, The high-level synthesis of digital systems, Proc IEEE 78 (1990), 301-318. https://doi.org/10.1109/5.52214
  3. Y. Hara et al., Function call optimization for efficient behavioral synthesis, IEICE Trans. Fundamentals Electron., Commun. Comput. Sci. E90-A (2007), 2032-2036. https://doi.org/10.1093/ietfec/e90-a.9.2032
  4. Y. Hara et al., Partitioning of behavioral descriptions with exploiting function-level parallelism, IEICE Trans. Fundamentals Electron., Commun. Comput. Sci. E93-A (2010), 488-499. https://doi.org/10.1587/transfun.E93.A.488
  5. W. Sun, M. J. Wirthlin, and S. Neuendorffer, FPGA pipeline synthesis design exploration using module selection and resource sharing, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 26 (2007), 254-265. https://doi.org/10.1109/TCAD.2006.887923
  6. R. Zhao et al., Area-efficient pipelining for FPGA-targeted highlevel synthesis, in Proc. SCM/EDAC/IEEE Design Autom. Conf. (San Francisco, CA, USA), 2015, https://doi.org/10.1145/2744769.2744801
  7. M. Alle, A. Morvan, and S. Derrien, Runtime dependency analysis for loop pipelining in high-level synthesis, in Proc. ACM/EDAC/IEEE Design Autom. Conf. (Austin, TX, USA), 2013, https://doi.org/10.1145/24632 09.2488796
  8. F. Vahid, Partitioning sequential programs for CAD using a threestep approach, ACM Trans. Design Autom. Electron. Syst. 7 (2002), 413-429. https://doi.org/10.1145/567270.567273
  9. S. Raje and R. A. Bergamaschi, Generalized resource sharing, in Proc. IEEE Int. Conf. Comput.-Aided Design (San Jose, CA, USA), 1997, pp. 326-332.
  10. J. M. P. Cardoso, Novel algorithm combining temporal partitioning and sharing of functional units, in Proc. Int. Symp. Field-Program. Custom Comput. Mach. (Rohnert Park, CA, USA), 2001.
  11. J. Cong and W. Jiang, Pattern-based behavior synthesis for FPGA resource reduction, in Proc. Int. Symp. Field-Program. Gate Arrays (Monterey, CA, USA), 2008, pp. 107-116.
  12. M. Minutoli et al., Inter-procedural resource sharing in high level synthesis through function proxies, in Proc. Int. Conf. Field-Program. Logic Applicat. (London, UK), 2015, https://doi.org/10.1109/FPL.2015.7293958
  13. R. Nozaki et al., Function-level module sharing in high-level synthesis, in Proc. Int. SoC Design Conf. (Jeju, Rep. of Korea), 2019, pp. 50-51.
  14. Y. Hara et al., Proposal and quantitative analysis of the CHStone benchmark program suite for practical C-based high-level synthesis, J. Inf. Process. 17 (2009), 242-254. https://doi.org/10.2197/ipsjjip.17.242
  15. Y. Hara et al., Behavioral synthesis of double-precision floating point adders with function-level transformations: a case study, Int. Conf. Embedded Softw. Syst. (Deagu, Rep. of Korea), 2007, pp. 261-270.
  16. SoftFloat, available at http://www.jhauser.us/arith metic/SoftFloat.html