llhd-sim 0.3.0

The reference simulator for Low Level Hardware Description assembly.
; This file tests instantiation of processes and entities.

proc %counter () (i4$ %Z) {
%entry:
	drv %Z 0
	drv %Z 1 10ns
	drv %Z 2 20ns
	drv %Z 3 30ns
	drv %Z 4 40ns
	drv %Z 5 50ns
	drv %Z 6 60ns
	drv %Z 7 70ns
	wait %done for 80ns
%done:
	halt
}

entity %combinator (i4$ %A, i4$ %B) (i4$ %C) {
	%0 = prb %A
	%1 = prb %B
	%2 = add i4 %0 %1
	drv %C %2
}

entity @top () (i4$ %out) {
	%count = sig i4
	inst %counter () (%count)
	%0 = prb %count
	%x2 = mul i4 %0 2
	%count2 = sig i4
	drv %count2 %x2
	inst %combinator (%count, %count2) (%out)
}