You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 5, 2022. It is now read-only.
Numerical parameters as well as ParameterBlocks can have an "ArrayLength"
attribute that instantiate as many identical parameters or parameter blocks.
This is now also possible for Component instances (not types). When used, a
ParameterBlock is created with the name of the arrayed Component and as many
Components will be created with their names being "0", "1", "2", ...
*** Use with caution! ***
You shouldn't define any context or instantiation mapping at or below the level
of the "arrayed" component. This also concerns the Component's type (since the
Component will inherit its type's mapping).
In other words, only use "ArrayLength" on components that do not have any
mapping and which content does not have any mapping either.
DO:
<ComponentType Name="MyType">
<IntegerParameter Name="some_int" Size="8"/>
<FixedPointParameter Name="some_fp" Size="8" Integral="1" Fractional="6"/>
</ComponentType>
<InstanceDefinition>
<Component Type="MyType" ArrayLength="2"/>
</InstanceDefinition>
DON'T:
<ComponentType Name="MyType" Mapping="Ctx1:foo" Extends="SomeTypeWithMapping">
<IntegerParameter Name="some_int" Size="8" Mapping="Instance:1"/>
<FixedPointParameter Name="some_fp" Size="8" Integral="1" Fractional="6" Mapping="Instance:2"/>
</ComponentType>
<InstanceDefinition>
<Component Type="MyType" ArrayLength="2" Mapping="Ctx2:bar"/>
</InstanceDefinition>
Signed-off-by: David Wagner <[email protected]>
0 commit comments