License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/DagSemProc.04491.5
URN: urn:nbn:de:0030-drops-1580
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2005/158/
Go to the corresponding Portal


Edwards, Stephen A.

SHIM: A Language for Hardware/Software Integration

pdf-format:
04491.EdwardsStephen.Paper.158.pdf (0.6 MB)


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.

BibTeX - Entry

@InProceedings{edwards:DagSemProc.04491.5,
  author =	{Edwards, Stephen A.},
  title =	{{SHIM: A Language for Hardware/Software Integration}},
  booktitle =	{Synchronous Programming - SYNCHRON'04},
  pages =	{1--6},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2005},
  volume =	{4491},
  editor =	{Stephen A. Edwards and Nicolas Halbwachs and Reinhard v. Hanxleden and Thomas Stauner},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2005/158},
  URN =		{urn:nbn:de:0030-drops-1580},
  doi =		{10.4230/DagSemProc.04491.5},
  annote =	{Keywords: Hardware/software codesign , synchronous , asynchronous , language design , integration}
}

Keywords: Hardware/software codesign , synchronous , asynchronous , language design , integration
Collection: 04491 - Synchronous Programming - SYNCHRON'04
Issue Date: 2005
Date of publication: 30.06.2005


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI