Module Hardcaml_waveterm.Waveform
A waveform is a mutable value that represents the outcome of a simulation; it holds a time series of values for a number of ports. The waveform is updated by running the simulation.
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val create : ('i, 'o) Hardcaml_waveterm__.Import.Cyclesim.t -> t * ('i, 'o) Hardcaml_waveterm__.Import.Cyclesim.t
Create waveform. Returns a new simulation object that side effects the waveform.
type 'a with_options
= ?display_rules:Display_rules.t -> ?display_width:Hardcaml_waveterm__.Import.int -> ?display_height:Hardcaml_waveterm__.Import.int -> ?display_values:Hardcaml_waveterm__.Import.bool -> ?wave_width:Hardcaml_waveterm__.Import.int -> ?wave_height:Hardcaml_waveterm__.Import.int -> ?start_cycle:Hardcaml_waveterm__.Import.int -> 'a
Waveform configuration options.
display_rules
seeDisplay_rules
. A waveform may be constructed once and displayed multiple times with differing options.wave_height
sets the number of rows each wave is displayed with.<0
an exception is raised0
2 lines per wave. This show transitions but not the data for multi-bit signals.1
2 lines for binary data, 3 lines for multi-bit data. This is the default and most compact view.n
(n+1) lines per wave.
wave_width
sets the number of chars used to render each clock cycle.n>=0
((n+1)*2) characters per cycle. This ensures that the clock is properly rendered whenn=0
. The default of3
allows up to 7 chars per cycle to be rendered to represent data values in the waveform.
n<0
(-n) cycles per character. Characters in the waveform within which multiple transitions occur are displayed with a double veritical bar.
display_width
anddisplay_height
simply set the overall size of the displayed waveform. An auto scaling routine assigns approximately1/3
of the display for the signals and values windows. The default size is 70 character wide and 20 high. The minimum size is 7 characters wide and 3 high and an exception is raise otherwise.
val sort_ports_and_formats : t -> Display_rules.t Hardcaml_waveterm__.Import.option -> Wave.t Hardcaml_waveterm__.Import.array
val to_string : (t -> Hardcaml_waveterm__.Import.string) with_options
Convert waveform to a string.
val print : (?channel:Hardcaml_waveterm__.Import.Out_channel.t -> t -> Hardcaml_waveterm__.Import.unit) with_options
Print waveform to channel
default stdout
.