Resolution, optimization, and encoding of pointer variables for the behavioral synthesis from C

Citation
L. Semeria et G. De Micheli, Resolution, optimization, and encoding of pointer variables for the behavioral synthesis from C, IEEE COMP A, 20(2), 2001, pp. 213-233
Citations number
53
Categorie Soggetti
Eletrical & Eletronics Engineeing
Journal title
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS
ISSN journal
02780070 → ACNP
Volume
20
Issue
2
Year of publication
2001
Pages
213 - 233
Database
ISI
SICI code
0278-0070(200102)20:2<213:ROAEOP>2.0.ZU;2-Q
Abstract
As designers may model mixed hardware-software systems using a subset of C or C++, we present SpC, a solution to synthesize and optimize hardware C mo dels with pointers, In hardware, a pointer is not only the address of data in memory, but it may also reference data mapped to registers, ports, or wi res. Pointer analysis is used to find the set of locations each pointer may reference in a program at compile time. In this paper, we address the prob lem of synthesizing and optimizing pointers to multiple variables or array elements. The value of the pointers are encoded and branching statements ar e used to dynamically access data referenced by pointers. A heuristic is us ed to efficiently encode the values of the pointers. Compiler techniques ar e also used to reduce storage before loads and stores, An implementation us ing the SUIF framework (Wilson et al,, 1994; SUIF Compiler Framework) is pr esented, followed by some case studies and experimental results.