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
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;
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
DOI :
10.1109/ICCAD.1998.144288