SimulationComponent Type
Like Component but with additional dynamic info used by simulator Clocked components have state data. All components have optional data on inputs that propagates During evaluation of combinational logic Components require all inputs to have data before they can generate output data Note that reducer is a function that generates the outputs TODO: make this equatable data?
Record fields
| Record Field | Description |
|
|
|
|
|
|
|
|
|
|
Full Usage:
OutputWidths
Field type: int array
|
|
|
What each output port drives: entry k is the ports and components connected to output port k, and a port driving nothing - an unconnected IOLabel - is an empty list rather than a missing key. An ARRAY and not a Map, on the rule that an array is right exactly when it is written once: this is built complete when the component is made and never updated, and the key is a port number, dense from 0. It used to be one small F# Map allocated per component per INSTANCE of its sheet - the expansion's worth of them on a design that multiplies out - each iterated twice by the flatten. OutputWidths beside it is already an array indexed the same way.
|
|
|