FastComponent Type
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. Equality is by reference: a FastComponent is a mutable object with an identity, holding step arrays that can run to megabytes, so comparing two of them field by field would be both meaningless and ruinous. It also carries its own reducers, which are functions and so have no structural equality at all.
Record fields
| Record Field | Description |
|
|
Full Usage:
Active
Field type: bool
Modifiers: mutable |
|
|
|
|
|
Full Usage:
FLabel
Field type: string
|
|
|
|
Full Usage:
FullName
Field type: string
|
|
|
|
|
|
Full Usage:
NumMissingInputValues
Field type: int
Modifiers: mutable |
|
|
|
|
|
|
This component's reducer, bound to this component, as a combinational and as a clocked reduction. Installed once by installReducers when the simulation is built, so that the loop calls the component's own code instead of dispatching on FType for every component of every step. Only the hybrid components (asynchronous RAM) differ between the two.
|
Full Usage:
SheetName
Field type: string list
|
The component's full path in the simulation: the LABELS of the custom component instances it sits within, from the root of the simulation, followed by its own label. All upper-cased. Built by GatherData.getFullSimPath. Despite the name these are component labels, NOT sheet names - a component on the top sheet has a single-element path holding its own label. For sheets use SimSheetName (the sheet this component is in) or SimSheetNamePath (that sheet's path from the root). SubSheet below drops the last element to give just the enclosing instances.
|
|
|
Full Usage:
SimSheetName
Field type: string
|
Which INSTANCE of a sheet the component is in, as the dotted path of custom component labels down to it, upper-cased - so it is unique, because a label is unique on the canvas it is drawn on. The top sheet is the one instance with no such path, and is named by its sheet instead. Not a sheet name and not meant to be read: for the sheet's own name use getSheetNameOfInstance. Built in FastCreate.createInitFastCompPhase.
|
Full Usage:
SimSheetNamePath
Field type: string list
|
|
|
|
Full Usage:
Touched
Field type: bool
Modifiers: mutable |
|
Full Usage:
UseBigInt
Field type: bool
Modifiers: mutable |
|
Full Usage:
VerilogComponentName
Field type: string
Modifiers: mutable |
|
Full Usage:
VerilogOutputName
Field type: string array
Modifiers: mutable |
|
|
|
|
|
Instance members
| Instance member | Description |
Full Usage:
this.GetInputBigInt
Parameters:
int
arg1 : InputPortNumber
Returns: bigint
Modifiers: inline |
|
Full Usage:
this.GetInputFData
Parameters:
int
arg1 : InputPortNumber
Returns: FData
Modifiers: inline |
|
Full Usage:
this.GetInputUInt32
Parameters:
int
arg1 : InputPortNumber
Returns: uint32
Modifiers: inline |
|
|
|
Full Usage:
this.InputWidth
Parameters:
int
Returns: int
Modifiers: inline |
|
Full Usage:
this.OutputWidth
Parameters:
int
Returns: int
Modifiers: inline |
|
Full Usage:
this.PutOutputBigInt
Parameters:
int
arg1 : OutputPortNumber
dat : bigint
Modifiers: inline |
|
Full Usage:
this.PutOutputFData
Parameters:
int
arg1 : OutputPortNumber
dat : FData
Modifiers: inline |
|
Full Usage:
this.PutOutputUInt32
Parameters:
int
arg1 : OutputPortNumber
dat : uint32
Modifiers: inline |
|
Full Usage:
this.ShortId
Returns: string
|
|
Full Usage:
this.SubSheet
Returns: string list
Modifiers: inline |