| A code refinement methodology for performance-improved synthesis from C |
| Full text |
Pdf
(219 KB)
|
| Source
|
International Conference on Computer Aided Design
archive
Proceedings of the 2006 IEEE/ACM international conference on Computer-aided design
table of contents
San Jose, California
SESSION: Specification and architecture challenges in high-level synthesis
table of contents
Pages: 716 - 723
Year of Publication: 2006
ISBN ~ ISSN:1092-3152 , 1-59593-389-1
|
|
Authors
|
|
Greg Stitt
|
University of California, Riverside
|
|
Frank Vahid
|
Also with the Center for Embedded Computer Systems, UC Irvine
|
|
Walid Najjar
|
University of California, Riverside
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 7, Downloads (12 Months): 37, Citation Count: 3
|
|
|
ABSTRACT
Although many recent advances have been made in hardware synthesis techniques from software programming languages such as C, the performance of synthesized hardware commonly suffers due to the use of C constructs and coding practices that are not appropriate for hardware. Most previous approaches to addressing this problem require drastic changes to coding practice. We present an approach that instead requires only minimal changes but yields significant speedups. In this approach, a software developer initially writes C code as they normally would, and then applies simple refinement guidelines to only the performance-critical code regions, which are the regions most likely to be synthesized to hardware. Alternatively, if a designer is aware of performance-critical parts of the application, the guidelines could be followed during development. In this study, we analyze dozens of embedded benchmarks to determine the most common C coding practices that limit hardware performance, and introduce coding guidelines to make the code more amenable to synthesis. Those guidelines typically require minimal coding effort, generally consisting of less than ten lines of code for each guideline. The guidelines typically represent modifications that require designer knowledge, making the guidelines difficult or impossible for synthesis tools to automate. We apply these guidelines to six benchmarks, resulting in average speedups of 3.5x compared to synthesis from the original code with a negligible software size and performance overhead.
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
|
W. Böhm , J. Hammes , B. Draper , M. Chawathe , C. Ross , R. Rinker , W. Najjar, Mapping a Single Assignment Programming Language to Reconfigurable Systems, The Journal of Supercomputing, v.21 n.2, p.117-130, February 2002
[doi> 10.1023/A:1013623303037]
|
| |
2
|
CatapultC. http://www.mentor.com/products/c-based_design/
|
| |
3
|
Coding guidelines for datapath synthesis. www.synopsys.com/products/designware/dwtb/articles/coding_guidelines/coding_guidelines.html
|
| |
4
|
|
| |
5
|
|
 |
6
|
|
 |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
Chunho Lee , Miodrag Potkonjak , William H. Mangione-Smith, MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.330-335, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
 |
11
|
|
| |
12
|
Walid A. Najjar , Wim Böhm , Bruce A. Draper , Jeff Hammes , Robert Rinker , J. Ross Beveridge , Monica Chawathe , Charles Ross, High-Level Language Abstraction for Reconfigurable Computing, Computer, v.36 n.8, p.63-69, August 2003
[doi> 10.1109/MC.2003.1220583]
|
| |
13
|
OXFORD Hardware Compilation Group, The Handel language, Technical Report, Oxford University, 1997.
|
 |
14
|
|
| |
15
|
Séméria, L. and De Micheli, G. SpC: synthesis of pointers in C. In proceedings of the international conference on computer-aided design (ICCAD), 1998, 8--12.
|
| |
16
|
|
 |
17
|
Greg Stitt , Frank Vahid , Gordon McGregor , Brian Einloth, Hardware/software partitioning of software binaries: a case study of H.264 decode, Proceedings of the 3rd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, September 19-21, 2005, Jersey City, NJ, USA
[doi> 10.1145/1084834.1084905]
|
|