Module Waveform

module Waveform: sig .. end
Digital waveform generation.

type scope 
type name = string 
type value = string 
val open_vcd : Pervasives.out_channel -> name -> scope
Creates a new VCD waveform database. Given a file name and a top-level scope name, returns the top-level scope.
val scope : scope -> name -> scope
Creates a new sub-scope.
val signal : scope -> name -> int -> value -> unit
Creates a new signal and provides a function to record signal values. Signal values are strings of "01xz".
let my_reg = signal scope "my_register" 8 in
(* ... *)
my_reg "00110101";

val cycle : scope -> unit
Cycles a timestep. A cycle must be called at the end of a simulation.