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 language | English |
|---|---|
| Pages (from-to) | 1557-1565 |
| Number of pages | 9 |
| Journal | Jisuanji Fuzhu Sheji Yu Tuxingxue Xuebao/Journal of Computer-Aided Design and Computer Graphics |
| Volume | 25 |
| Issue number | 10 |
| State | Published - Oct 2013 |
| Externally published | Yes |
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
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver