SHIM: A Language for Hardware/Software Integration

Author Stephen A. Edwards



PDF
Thumbnail PDF

File

DagSemProc.04491.5.pdf
  • Filesize: 0.61 MB
  • 6 pages

Document Identifiers

Author Details

Stephen A. Edwards

Cite As Get BibTex

Stephen A. Edwards. SHIM: A Language for Hardware/Software Integration. In Synchronous Programming - SYNCHRON'04. Dagstuhl Seminar Proceedings, Volume 4491, pp. 1-6, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2005) https://doi.org/10.4230/DagSemProc.04491.5

Abstract

Virtually every system designed today is an amalgam of hardware and
software.  Unfortunately, software and circuits that communicate
across the hardware/software boundary are tedious and error-prone to
create.  This suggests a more automatic way to synthesize them.
                                                                                
I present the SHIM language, which combines imperative
C-like semantics for software and RTL-like semantics for hardware to
allow a unified description of hardware/software systems.  Hardware
processes and software functions communicate through shared variables,
hardware for which is automatically synthesized by the SHIM
compiler, which generates C and synthesizable VHDL.
                                                                                
I demonstrate the effectiveness of the language by re-implementing
an I2C bus controller.  The SHIM source is half the size of an
equivalent manual implementation, slightly faster, and has a smaller
memory footprint.  Partial and complete hardware implementations in
SHIM are also presented, showing that SHIM is succinct and
effective.

Subject Classification

Keywords
  • Hardware/software codesign
  • synchronous
  • asynchronous
  • language design
  • integration

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail