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. 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.
Citations
|
1052
|
The C Programming Language
– Kerighan, Ritchie
- 1978
|
|
348
|
Efficient context-sensitive pointer analysis for C programs
– Wilson, Lam
- 1995
|
|
70
|
High Level Synthesis of ASICs under Timing and Synchronization Constraints
– Ku, Micheli
- 1992
|
|
64
|
An efficient implementation of reactivity for modeling hardware in the Scenic design environment
– Liao, Tjiang, et al.
- 1997
|
|
8
|
Efficient accomodation of may-alias information in SSA form
– Cytron, Gershbein
- 1993
|
|
8
|
Behavioral Model Synthesis with Cones
– Stoud, Munoz, et al.
- 1988
|
|
7
|
Behavorial Synthesis: Digital System Design Using The Synopsys Behavorial Compiler
– Knapp
- 1996
|
|
4
|
Diederik Verkest, "Hardware/Software Codesign of Digital Telecommunication Systems
– Bolsens, Man, et al.
- 1997
|
|
4
|
Implementing C Designs in Hardware: A Full-Featured ANSI C to RTL Verilog Compiler in Action", http://www.compilogic.com
– Soderman, Panchul
- 1998
|
|
2
|
A functional modeling and simulation environment based on
– Bye, Ravenscroft
- 1984
|
|
2
|
Micheli "Synthesis and Optimization of Digital Circuits
– De
- 1994
|
|
2
|
The COSYMA environment for hardware /software cosynthesis of small embedded systems
– Benner, Holtmann, et al.
- 1996
|
|
2
|
Reig, "New Scaled DCT Algorithms for Fused Multiply/Add Architectures
– Linzer, Ephraim
- 1991
|
|
2
|
Sangiovanni-Vincentelly, "NOVA: State Assignment of Finite State Machines for Optimal Two-Level Logic Implementation
– Villa, Alberto
- 1990
|
|
1
|
Muchnick "Advanced Compiler Design & Implementation
– Steven
- 1997
|