• DocumentCode
    37114
  • Title

    Teaching HW/SW Co-Design With a Public Key Cryptography Application

  • Author

    Uhsadel, Leif ; Ullrich, Marcel ; Das, Aruneema ; Karaklajic, Dusko ; Balasch, Josep ; Verbauwhede, Ingrid ; Dehaene, Wim

  • Author_Institution
    ESAT/SCD-COSIC & iMinds, KU Leuven, Leuven-Heverlee, Belgium
  • Volume
    56
  • Issue
    4
  • fYear
    2013
  • fDate
    Nov. 2013
  • Firstpage
    478
  • Lastpage
    483
  • Abstract
    This paper describes a lab session-based course on hardware/software (HW/SW) co-design. Real problems often need to combine the speed of an HW solution with the flexibility of an SW solution. The goals of this course are to show that there are many alternative solutions in the design space and to teach the fundamental concepts of HW/SW co-design. The sample application for the course project is a basic public key (RSA) application. This application is attractive for pedagogic purposes because its complex arithmetic and large word lengths make it difficult to realize in SW on an embedded microcontroller. However, the alternative of a pure application-specific integrated circuit (ASIC) application is also not a satisfactory solution, as this lacks the flexibility to support multiple public key applications. The project follows a stepwise approach, with assignments that build on each other. Students are required to make their own decisions as to the partitioning between HW and SW, the interface design, and the optimizations goals. Besides imparting hard skills in HW design and embedded SW design, the course inculcates several soft skills-in particular, decision making, presentation skills, teamwork, and design creativity-generally overlooked in engineering.
  • Keywords
    application specific integrated circuits; decision making; educational courses; hardware-software codesign; microcontrollers; public key cryptography; teaching; ASIC application; HW-SW codesign teaching; application-specific integrated circuit; decision making; design creativity; embedded microcontroller; hardware-software codesign; lab session-based course; pedagogic purposes; presentation skills; public key cryptography application; stepwise approach; teamwork; word lengths; Algorithm design and analysis; Education; Hardware; Microcontrollers; Optimization; Public key cryptography; Software; 8051 microcontroller; Montgomery; RSA; hardware/software (HW/SW) co-design; public key cryptography;
  • fLanguage
    English
  • Journal_Title
    Education, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9359
  • Type

    jour

  • DOI
    10.1109/TE.2013.2257785
  • Filename
    6508919