ExSystolic.Trace.Event (ex_systolic v0.2.0)

Copy Markdown View Source

A single trace event: the record of one PE step at one tick.

Fields

  • :tick -- the tick at which the PE was executed (0-based)
  • :coord -- the PE coordinate
  • :inputs -- map of port_name => input value (or :empty)
  • :outputs -- map of port_name => output value
  • :state_before -- the PE state before this tick
  • :state_after -- the PE state after this tick

Examples

iex> e = %ExSystolic.Trace.Event{
...>   tick: 0, coord: {0, 0},
...>   inputs: %{west: 3, north: 4},
...>   outputs: %{result: 12, east: 3, south: 4},
...>   state_before: 0, state_after: 12
...> }
iex> e.state_after
12

Summary

Types

t()

@type t() :: %ExSystolic.Trace.Event{
  coord: ExSystolic.Grid.coord(),
  inputs: map(),
  outputs: map(),
  state_after: term(),
  state_before: term(),
  tick: non_neg_integer()
}