Luc Smria Giovanni De Micheli

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...

Full description

Bibliographic Details
Main Authors: Lucs Azur Stanford, Luc Séméria Giovanni De Micheli
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.5977
http://akebono.stanford.edu/users/nanni/research/sys/point_iccad98.pdf
Description
Summary: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. In this paper, 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 pointers values. An implementation using the SUIF framework is presented, followed by some case studies such as the synthesis of a 2D IDCT. 1. INTRODUCTION: SYNTHESIS FROM C Different languages have been used as an input to behavioral synthesis. Hardware Description Languages (HDLs), such as Verilog HDL a.