License
when quoting this document, please refer to the following
URN: urn:nbn:de:0030-drops-1580
URL: http://drops.dagstuhl.de/opus/volltexte/2005/158/

Edwards, Stephen A.

SHIM: A Language for Hardware/Software Integration

pdf-format:
Dokument 1.pdf (627 KB)


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:DSP:2005:158,
  author =	{Stephen A. Edwards},
  title =	{SHIM: A Language for Hardware/Software Integration},
  booktitle =	{Synchronous Programming - SYNCHRON'04},
  year =	{2005},
  editor =	{Stephen A. Edwards and Nicolas Halbwachs and Reinhard v. Hanxleden and Thomas Stauner},
  number =	{04491},
  series =	{Dagstuhl Seminar Proceedings},
  ISSN =	{1862-4405},
  publisher =	{Internationales Begegnungs- und Forschungszentrum f{\"u}r Informatik (IBFI), Schloss Dagstuhl, Germany},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2005/158},
  annote =	{Keywords: Hardware/software codesign , synchronous , asynchronous , language design , integration}
}

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


DROPS-Home | Fulltext Search | Imprint Published by LZI