Luc Smria Giovanni De Micheli

In the recent past, subsets of C and C++ have been defined to model and synthesize electronic systems as well as reusable IP blocks. In order to synthesize as much as possible of the C syntax, we have been researching the problem of synthesizing and optimizing code with pointers. In this paper, we f...

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.34.203
http://akebono.stanford.edu/users/nanni/research/sys/point_gren98.pdf
Description
Summary:In the recent past, subsets of C and C++ have been defined to model and synthesize electronic systems as well as reusable IP blocks. In order to synthesize as much as possible of the C syntax, we have been researching the problem of synthesizing and optimizing code with pointers. In this paper, we focus on encoding the pointers' values to minimize the size of the circuits implementing the address translations. After defining the encoding problem, we present a solution based on heuristics and graph-embedding techniques. The algorithm has been integrated in our SpC flow which synthesizes C code with pointers. 1. INTRODUCTION 1.1 Synthesis from C For years, designers have been writing system-level models using programming languages, such as C and C++, to estimate the system performance and verify the functional correctness of the design. However, to implement parts of their design in hardware using synthesis tools, they must manually translate their code into a synthesizable subset of .