Edwards, Stephen A.
SHIM: A Language for Hardware/Software Integration
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 |