• DocumentCode
    70850
  • Title

    Toward Unified Design of Hardware and Software Components Using {\\bf C} !+ ! +

  • Author

    Muck, Tiago Rogerio ; Frohlich, Antonio Augusto

  • Author_Institution
    Software/Hardware Integration Lab., Fed. Univ. of Santa Catarina, Florianopolis, Brazil
  • Volume
    63
  • Issue
    11
  • fYear
    2014
  • fDate
    Nov. 2014
  • Firstpage
    2880
  • Lastpage
    2893
  • Abstract
    The increasing complexity of current embedded systems is pushing their design to higher levels of abstraction, leading to a convergence between hardware and software design methodologies. In this paper, we aim at narrowing the gap between hardware and software design by introducing a strategy that handles both domains in a unified fashion. We leverage on aspect-oriented programming and object-oriented programming techniques in order to provide unified C++ descriptions of embedded system components. Such unified descriptions can be obtained through a careful design process focused on isolating aspects that are specific to hardware and software scenarios. Aspects that differ significantly in each domain, such as resource allocation and communication, were isolated in aspect programs that are applied to the unified descriptions before they are compiled to software binaries or synthesized to dedicated hardware using high-level synthesis tools. Our results show that our strategy leads to reusable and flexible components at the cost of an acceptable overhead when compared to software-only C/ C++ and hardware-only C++ implementations.
  • Keywords
    C++ language; aspect-oriented programming; embedded systems; hardware-software codesign; HW-SW co-design; aspect-oriented programming; embedded systems; hardware components; hardware design methodology; high-level synthesis tools; object-oriented programming techniques; resource allocation; software binaries; software components; software design methodology; unified C++ descriptions; Embedded systems; Hardware; Object oriented modeling; Resource management; Software design; Unified modeling language; HW/SW co-design; System-level design; aspect-oriented system design; high-level synthesis;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2013.159
  • Filename
    6574862