Skip to main navigation Skip to search Skip to main content

High-level synthesis compile optimization algorithm for recursive functions

  • Moli Zhang
  • , Haigang Yang*
  • , Feng Liu
  • , Juan Huang
  • , Xiuhai Cui
  • *Corresponding author for this work
  • CAS - Institute of Electronics
  • University of Chinese Academy of Sciences

Research output: Contribution to journalArticlepeer-review

Abstract

Based on function call graph (FCG) and branch decision strategy, this paper presents an optimization algorithm during high-level synthesis (HLS) to handle recursion. Firstly, FCG is proposed to eliminate the recursive calls within the LLVM compiler infrastructure, then construction rules of the decision tree is introduced to remove branch condition judgment and non-called branch. Finally sub-function reuse and dynamic resource pre-evaluation is adopted to prevent code explosion. Compared with the inline algorithm RecursionHW, experimental results show that the presented algorithm can get an average resource reduction by 63%, and the maximum clock frequency can be increased 3.2 times averagely. Moreover, the HLS time is reduced exponentially with the increase of recursion depth.

Original languageEnglish
Pages (from-to)1557-1565
Number of pages9
JournalJisuanji Fuzhu Sheji Yu Tuxingxue Xuebao/Journal of Computer-Aided Design and Computer Graphics
Volume25
Issue number10
StatePublished - Oct 2013
Externally publishedYes

Keywords

  • Compile optimization
  • Decision tree
  • Function call graph
  • High-level synthesis
  • Recursive function

Fingerprint

Dive into the research topics of 'High-level synthesis compile optimization algorithm for recursive functions'. Together they form a unique fingerprint.

Cite this