Mapping Basic Recursive Structures to Runtime Reconfigurable Hardware
Recursion is a powerful method that is used to describe many algorithms in computer science. Processing of recursion is traditionally done using a stack, which can act as a bottleneck for parallelising and pipelining different stages of recursion. In this paper we propose a method for mapping recursive algorithms, without the use of a stack structure, into hardware by pipelining the stages of recursion. The use of runtime reconfigurable hardware to minimise the amount of required hardware resources, and the related issues to be resolved, are addressed.
KeywordsRecursive Function Recursive Call Recursive Tree Matrix Multiplication Algorithm Node Population
Unable to display preview. Download preview PDF.
- 2.Handle-C language reference manual, http://www.celoxica.com/
- 4.Bondalapati, K., Prasanna, V.K.: Loop pipelining and optimization for run time reconfiguration. In: Reconfigurable Architectures Workshop (2000)Google Scholar
- 5.ElGindy, H., Ferizis, G.: Mapping basic recursive structures to runtime reconfigurable hardware. Technical Report 419, School of Computer Science and Engineering, University of NSW (2004)Google Scholar
- 8.Arsac, J., Kodrato, Y.: Some techniques for recursion removal from recursive functions, pp. 295–322 (1982)Google Scholar
- 9.Liu, Y.A., Stoller, S.D.: From Recursion to Iteration: What are the Optimizations? In: Partial Evaluation and Semantic-Based Program Manipulation, pp. 73–82 (2000)Google Scholar