• DocumentCode
    1558017
  • Title

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

  • Author

    Séméria, Luc ; Sato, Koichi ; De Micheli, Giovanni

  • Author_Institution
    Clearwater Networks Inc., Los Gatos, CA, USA
  • Volume
    9
  • Issue
    6
  • fYear
    2001
  • Firstpage
    743
  • Lastpage
    756
  • 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 solution, which fits current memory management methodologies, instantiates 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.
  • Keywords
    C language; C++ language; data structures; hardware-software codesign; program compilers; storage management; ATM segmentation engine; C/C++-based design methodology; C/C-++ models; SUIF framework; application-specific allocator; arbitrary C code; complex data structures; computer architecture; design automation; dynamic memory allocation; embedded applications; full ANSI C; hardware mapping; hardware models synthesis; high-level synthesis; memory architecture; mixed hardware/software systems; multiple memories; optimized general-purpose allocator; pointers; program compilers; translation into HDL; video filter; Application software; Data structures; Design methodology; Hardware; Memory architecture; Memory management; Multimedia systems; Network synthesis; Software design; Software systems;
  • fLanguage
    English
  • Journal_Title
    Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1063-8210
  • Type

    jour

  • DOI
    10.1109/92.974889
  • Filename
    974889