ACM Home Page
Please provide us with feedback. Feedback
Scalable interprocedural register allocation for high level synthesis
Full text PdfPdf (375 KB)
Source Asia and South Pacific Design Automation Conference archive
Proceedings of the 2005 Asia and South Pacific Design Automation Conference table of contents
Shanghai, China
SESSION: High-level synthesis table of contents
Pages: 511 - 516  
Year of Publication: 2005
ISBN:0-7803-8737-6
Authors
Rami Beidas  University of Toronto, ON, Canada
Jianwen Zhu  University of Toronto, ON, Canada
Sponsors
SIGDA: ACM Special Interest Group on Design Automation
: Shanghai IC Industry Association
: IEEE SSCS Shanghai Chapter
: IEEE CAS
: IEEE Beijing Section
: Fudan University
: Chinese Institute of Electronics
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 27,   Citation Count: 1
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1120725.1120951
What is a DOI?

ABSTRACT

The success of classical high level synthesis has been limited by the complexity of the applications it can handle, typically not large enough to necessitate the departure from the industrial standard, register transfer level design methodology. Recent advances of micro-architecture model enabled the use of stacked based controller, allowing complex algorithms with multiple procedures to be implemented directly in hardware. Nevertheless, design optimizations across procedure boundaries have not been fully explored. In this paper, we address the problem of interprocedural register allocation in the context of high level synthesis. In contrast to a recently proposed interprocedural register allocation algorithm, which processes an expensive, global, graph representation of the conflict relation of all values to achieve near optimality, we introduce a new method, called color palette propagation (CPP). The key idea behind our method, is to propagate the use of colors, whose number is significantly smaller than the size of the conflict relation, across different procedures. With a complexity comparable to intraprocedural register allocation, we show that our method can scale to very large C programs. For those benchmarks that can be handled by conventional global methods, our method produced nearly the same number of registers, while providing an average speedup factor of 90.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Partitioning a Design in Structural Synthesis, 1987.
 
2
R. Beidas and J. Zhu. Scalable register allocation for high level synthesis. Technical Report TR-01-11-04, Electrical and Computer Engineering, University of Toronto, November 2004.
 
3
4
5
6
 
7
 
8
K. Gopinath. Register allocation. The Compiler Design Handbook, September 2002.
 
9
10
 
11
 
12
G.-Y. Lueh. Issues in register allocation by graph coloring. Technical Report CMU-CS-96-171, School of Computer Science, Carnegie Mellon University, November 1996.
 
13
 
14
 
15
 
16
L. Ramachandran, S. Narayan, F. Vahid, and D. Gajski. Synthesis of functions and procedures in behavioral VHDL. In Proceedings of the European Design Automation Conference, 1993.
 
17
SPEC2000. Standard Performance Evaluation Corporation. http://www.specbench.org/cpu2000/.
 
18
D. L. Springer and D. E. Thomas. Exploiting the special structure of conflict and compatibility graphs in high-level synthesis. In Proceedings of the International Conference on Computer-Aided Design, November 1990.
19
 
20
21
22

Collaborative Colleagues:
Rami Beidas: colleagues
Jianwen Zhu: colleagues