Skip to content
The LLHD reference simulator.
Rust Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src add dump tracer, step limit Feb 2, 2020
.gitignore setup project May 31, 2017
.travis.yml add dump tracer, step limit Feb 2, 2020
Cargo.lock deps: update to llhd 0.9, disable most of main Oct 27, 2019
LICENSE-MIT add dual licensing and more manifest info Jan 5, 2019


Build Status

This is the reference simulator for llhd, striving to be complete but as minimal as possible. Its goal is to serve as a starting point for developing more sophisticated simulators for hardware written in llhd. As a secondary goal it acts as an application example of llhd.



You need a working Rust installation. Use cargo to install llhd-sim:

cargo install llhd-sim


Given the following input file:

// foo.llhd
proc @foo () (i32$ %out) {
    drv %out 0 1ns
    drv %out 42 2ns
    %0 = add i32 9000 1
    drv %out %0 3ns

Use llhd-sim to simulate the described hardware and produce a VCD file:

llhd-sim foo.llhd
gtkwave /tmp/output.vcd
You can’t perform that action at this time.