Synthesis of hardware models in C with pointers and complex data structures

  • Authors:
  • Luc Séméria;Koichi Sato;Giovanni De Micheli

  • Affiliations:
  • Clearwater Networks, Inc., Los Gatos, CA;NEC Corp.;Stanford Univ., Standford, CA

  • Venue:
  • IEEE Transactions on Very Large Scale Integration (VLSI) Systems - System Level Design
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the greatest challenges in a C/C++-based design methodology is efficiently mapping C/C++ models into hardware. Many networking and multimedia applications implemented in hardware or mixed hardware/software systems now use complex data structures stored in multiple memories, so many C/C ++ features that were originally designed for software applications are now making their way into hardware. Such features include dynamic memory allocation and pointers for managing data. We present a solution for efficiently mapping arbitrary C code with pointers and malloc/free into hardware. Our solutoin, which fits current memory management methodologies, instantieates an application-specific hardware memory allocator coupled with a memory architecture. Our work also supports the resolution of pointers without restriction on the data structures. We present an implementation based on the SUIF framework along with case studies such as the realization of a video filter and an ATM segmentation engine.