Header menu logo issie

SimTypes Module

Types

Type Description

BigIntState

Used for efficiency reasons. For a given normal simulation these arrays show whether the corresponding component input or output is a bigint or a unint32 type bus, and therefore show IOArray array is used for the data.

Driver

Convenience array used so that waveform simulation can access component outputs (drivers) without a Map lookup

FData

FastComponent

FastComponent represents a physical component in a simulation. Because sheets can be instantiated in multiple places a given sheet component can have multiple FastComponents in the simulation. Arrays on FastComponent are filled up with simulation data per clock step as a clocked simulation progresses.

FastSimulation

GatherData

GatherTemp

GatherTemp is the output type used to accumulate lists of data links when recursively exploring SimulationGraph as first step in flattening it. Each list of pairs is converted into a map at the end in the final GatherData structure The cost of creating maps makes it important to use lists here as the intermediate structures

IOArray

This type represents an array of time steps of simulation data. In any simulation, for a given IOArray, only one of the three 'Step' arrays will be used. For (very strong) efficiency reasons this cannot be implemented as a disjoint union: the code that reads and writes IOArray array elements will access the appropriate array. Truthtable simulations use FDataStep everywhere. Normal simulations use UInt32step or BigIntStep according to the size of the relevant bus.

SheetPort

Type used to tie component ports to simulation data for advanved wavefor simulation features.

SimulationData

- Top level data tracking a simulation

SimulationRunStatus

document current status of a simulation as used by waveform simulator

StepArray<'T>

Wrapper to allow arrays to be resized for longer simulations while keeping the links between inputs and outputs

Functions and values

Function or value Description

clockTickNumber_

Full Usage: clockTickNumber_

Returns: Lens<SimulationData, int>
Returns: Lens<SimulationData, int>

extractLabel label

Full Usage: extractLabel label

Parameters:
Returns: string
label : ComponentLabel
Returns: string

fastSim_

Full Usage: fastSim_

Returns: Lens<SimulationData, FastSimulation>
Returns: Lens<SimulationData, FastSimulation>

graph_

Full Usage: graph_

Returns: Lens<SimulationData, SimulationGraph>
Returns: Lens<SimulationData, SimulationGraph>

mapItems map

Full Usage: mapItems map

Parameters:
    map : Map<'a, 'b>

Returns: ('a * 'b)[]
map : Map<'a, 'b>
Returns: ('a * 'b)[]

mapKeys map

Full Usage: mapKeys map

Parameters:
    map : Map<'a, 'b>

Returns: 'a[]
map : Map<'a, 'b>
Returns: 'a[]

mapValues map

Full Usage: mapValues map

Parameters:
    map : Map<'a, 'b>

Returns: 'b[]
map : Map<'a, 'b>
Returns: 'b[]

numberBase_

Full Usage: numberBase_

Returns: Lens<SimulationData, NumberBase>
Returns: Lens<SimulationData, NumberBase>

printSimGraph sg

Full Usage: printSimGraph sg

Parameters:
sg : SimulationGraph

shortPSComp comp

Full Usage: shortPSComp comp

Parameters:
Returns: string
comp : SimulationComponent
Returns: string

sprintSimComponent sComp

Full Usage: sprintSimComponent sComp

Parameters:
Returns: string
sComp : SimulationComponent
Returns: string

tryGetCompLabel compId sg

Full Usage: tryGetCompLabel compId sg

Parameters:
Returns: string
compId : ComponentId
sg : SimulationGraph
Returns: string

Type something to start searching.