Header menu logo issie

FastCreate Module

Functions and values

Function or value Description

addComponentWaveDrivers f fc pType

Full Usage: addComponentWaveDrivers f fc pType

Parameters:
Returns: WaveIndexT[][]

Add one driver changing the fs.Driver array reference. Return a WaveIndex reference. WaveIndex refrences are bound to specific component ports and not unique per driver.

f : FastSimulation
fc : FastComponent
pType : PortType
Returns: WaveIndexT[][]

addWaveIndexAndDrivers waveComps f

Full Usage: addWaveIndexAndDrivers waveComps f

Parameters:
Returns: WaveIndexT array

Called after the fs.Drivers array is created. waveComps must contain all components that can be viewed in the wave simulation. This function mutates fs.Drivers adding the correct arrays where these are used. In some cases an array may never be used and therefore is not added. In parallel with this, the function returns an array of WaveIndexT records that reference component ports which can be viewed in a wave simulation. Every WaveIndex references an element of fs.Drivers from which the simulation data is found.

waveComps : Map<FComponentId, FastComponent>
f : FastSimulation
Returns: WaveIndexT array

addWavesToFastSimulation fs

Full Usage: addWavesToFastSimulation fs

Parameters:
Returns: FastSimulation

Adds WaveComps, Drivers and WaveIndex fields to a fast simulation. For use by waveform Simulator. Needs to be run after widths are calculated.

fs : FastSimulation
Returns: FastSimulation

assertThat cond msg

Full Usage: assertThat cond msg

Parameters:
    cond : bool
    msg : string

Modifiers: inline
cond : bool
msg : string

compType t

Full Usage: compType t

Parameters:
Returns: string
t : ComponentType
Returns: string

createFastComponent maxArraySize sComp accessPath

Full Usage: createFastComponent maxArraySize sComp accessPath

Parameters:
Returns: FastComponent

create a FastComponent data structure with data arrays from a SimulationComponent. numSteps is the number of past clocks data kept - arrays are managed as circular buffers.

maxArraySize : int
sComp : SimulationComponent
accessPath : ComponentId list
Returns: FastComponent

createInitFastCompPhase simulationArraySize g f

Full Usage: createInitFastCompPhase simulationArraySize g f

Parameters:
Returns: FastSimulation

This function will create the initial FastSimulation data structure. It may not complete this. In which case fields NumCreateSteps and NumCreateStepsDone will not be equal.

simulationArraySize : int
g : GatherData
f : FastSimulation
Returns: FastSimulation

determineBigIntState f

Full Usage: determineBigIntState f

Parameters:
Returns: FastSimulation
f : FastSimulation
Returns: FastSimulation

emptyFastSimulation diagramName

Full Usage: emptyFastSimulation diagramName

Parameters:
    diagramName : string

Returns: FastSimulation
diagramName : string
Returns: FastSimulation

emptyGather

Full Usage: emptyGather

Returns: GatherData
Returns: GatherData

findBigIntState fc

Full Usage: findBigIntState fc

Parameters:
Returns: bool * BigIntState option
fc : FastComponent
Returns: bool * BigIntState option

gatherSimulation graph

Full Usage: gatherSimulation graph

Parameters:
Returns: GatherData

Convert the data in the a SimulationGraph, created from the circuit into a final GatherData structure suitable for simulation stored as a set of maps Calls createFlattenedSimulation as first step.

graph : SimulationGraph
Returns: GatherData

getFid cid ap

Full Usage: getFid cid ap

Parameters:
Returns: ComponentId * ComponentId list
cid : ComponentId
ap : ComponentId list
Returns: ComponentId * ComponentId list

getPortNumbers sc

Full Usage: getPortNumbers sc

Parameters:
Returns: int * int
sc : SimulationComponent
Returns: int * int

linkFastComponents g f

Full Usage: linkFastComponents g f

Parameters:
Returns: FastSimulation

Use the Outputs links from the original SimulationComponents in gather to link together the data arrays of the FastComponents. InputLinks[i] array is set equal to the correct driving Outputs array so that Input i reads the data reduced by the correct output of the component that drives it. The main work is dealing with custom components which represent whole design sheets with recursively defined component graphs The custom component itself is not linked, and does not exist as a simulatable FastComponent. Note: custom components are linked in later as unsimulatable placeholders to allow wave simulation to access ports Instead its CustomSimulationGraph Input and Output components are linked to the components that connect the corresponding inputs and outputs of the custom component.

g : GatherData
f : FastSimulation
Returns: FastSimulation

linkFastCustomComponentsToDriverArrays fs (arg2, arg3) fc

Full Usage: linkFastCustomComponentsToDriverArrays fs (arg2, arg3) fc

Parameters:
Returns: Unit

Changes all the custom component in and out StepArray links so they point to the correct drivers. (fid, fc) must be a custom component. Called after the simulation has been fully constructed and linked.

fs : FastSimulation
arg1 : ComponentId
arg2 : ComponentId list
fc : FastComponent
Returns: Unit

makeIOArray size

Full Usage: makeIOArray size

Parameters:
    size : 'a

Returns: IOArray
size : 'a
Returns: IOArray

makeIOArrayW w size

Full Usage: makeIOArrayW w size

Parameters:
    w : int
    size : int

Returns: IOArray
w : int
size : int
Returns: IOArray

makeStepArray arr

Full Usage: makeStepArray arr

Parameters:
    arr : 'T array

Returns: StepArray<'T>
arr : 'T array
Returns: StepArray<'T>

simulationPlaceholder

Full Usage: simulationPlaceholder

Returns: FastSimulation
Returns: FastSimulation

stepArrayIndex

Full Usage: stepArrayIndex

Returns: int
Returns: int

Type something to start searching.