DocumentCode
332717
Title
SpC: synthesis of pointers in C application of pointer analysis to the behavioral synthesis from C
Author
Semeria, L. ; De Micheli, G.
Author_Institution
Comput. Syst. Lab., Stanford Univ., CA, USA
fYear
1998
fDate
8-12 Nov. 1998
Firstpage
340
Lastpage
346
Abstract
As designers may model mixed software-hardware systems using a subset of C or C++, we present SpC, a solution to synthesize and optimize a C model with pointers. In hardware, a pointer is not only the address of data in memory, but it may also reference multiple variables mapped to registers, ports or wires. Pointer analysis is used to find the point-to-set of each pointer in the program. We address the problem of synthesizing and optimizing pointers to multiple variables and array elements. Temporary variables are defined to optimize loads and stores by minimizing the number of live variables. The combinational logic can also be reduced by encoding the pointer values. An implementation using the SUIF framework is presented, followed by some case studies such as the synthesis of a 2D IDCT.
Keywords
C language; combinational circuits; hardware-software codesign; program control structures; 2D IDCT; C application; C model; C++; SUIF framework; SpC; array elements; behavioral synthesis; combinational logic; live variables; mixed software-hardware systems design; multiple variables; point-to-set; pointer analysis; pointer synthesis; pointer values; temporary variables; Application software; Circuit synthesis; Design optimization; Encoding; Hardware design languages; Laboratories; Logic; Registers; System performance; Wires;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer-Aided Design, 1998. ICCAD 98. Digest of Technical Papers. 1998 IEEE/ACM International Conference on
Conference_Location
San Jose, CA, USA
Print_ISBN
1-58113-008-2
Type
conf
DOI
10.1109/ICCAD.1998.144288
Filename
742894
Link To Document