diffReducerInputsOrOutputs newIO oldIO
Signature: newIO:Map<'a,WireData> -> oldIO:Map<'a,WireData> -> Map<'a,WireData>
Type parameters: 'a
|
Function to determine what reducer inputs or outputs have changed.
|
extractIncompleteSimulationIOs(...)
Signature: simulationIOs:SimulationIO list -> graph:SimulationGraph -> (SimulationIO * WireData) list
|
Simlar to extractSimulationIOs, but do not fail if a bit is not set, just
ignore it.
|
extractSimulationIOs simulationIOs graph
Signature: simulationIOs:SimulationIO list -> graph:SimulationGraph -> (SimulationIO * WireData) list
|
Given a list of IO nodes (i.e. Inputs or outputs) extract their value.
If they dont all have a value, an error is thrown.
|
feedClockTick(graph)
Signature: graph:SimulationGraph -> SimulationGraph
|
Send one global clock tick to all clocked components, and return the updated
simulationGraph.
|
feedSimulationInput(...)
Signature: graph:SimulationGraph -> inputId:ComponentId -> wireData:WireData -> SimulationGraph
|
Feed zero to a simulation input.
This function is supposed to be used with Components of type Input.
|
getSimulationIOs(components)
Signature: components:Component list -> SimulationIO list * SimulationIO list
|
Get ComponentIds, ComponentLabels and wire widths of all input and output
nodes.
|
getSimulationIOsFromGraph(graph)
Signature: graph:SimulationGraph -> SimulationIO list * SimulationIO list
|
Get ComponentIds, ComponentLabels and wire widths of all input and output
nodes in a simulationGraph.
|
InitialiseGraphWithZeros inputIds graph
Signature: inputIds:SimulationIO list -> graph:SimulationGraph -> SimulationGraph
|
Feed zeros to all simulation inputs, and feed a single clock tick.
This way all combinational logic has been touched once and had produced its
outputs.
|