Simple Hardware Description Language
Welcome to SHDL!
This project explores the possibility of embedding a hardware
description language in plain old C (SHDL stands
for "Simple
Hardware Description Language"). I snarfed the idea from the
famous book "Structure and Interpretation
of Computer Programs"
by Abelson and Sussman; they used Scheme for this purpose.
I have included two design examples: the inevitable traffic light
controller and three different implementations
of the simplified
MIPS CPU as used by Patterson and Hennessy in their book "Computer
Organization & Design:
The Hardware/Software Interface" (without
floating point instructions). The traffic light controller is
finished,
as well as the single-cycle CPU implementation. The
multi-cycle and the pipelined CPU implementations are missing.
Starting with version 0.2 we can provide a transliteration of the
programs into Java.
If you want to see simulation results displayed graphically, you
have to install a viewer for VCD (value change dump)
files, such
as e.g. gtkwave.