Interconnect Elaboration¶
Interconnections are described in BLADE using !His tags - these can contain multiple named components, each of which can either be primitive (!Port) or complex (!HisRef), in which case they instantiate another !His as a subcomponent.
For each !His definition, a DFInterconnect node will be created within the project. For each component:
!Ports will be converted to a simple
DFInterconnectComponentwith a fixed width. If an enumeration is present, then it will be attached to the component.!HisRefs will be converted to a complex
DFInterconnectComponentwith a reference to the instantiatedDFInterconnect.
Any values declared within the options array will be transferred to attributes of the DFInterconnect.
API¶
-
blade.elaborate.interconnect.build_interconnect(his, scope)¶ Evaluate a !His instance, resolving referred interconnect types and converting to a DFInterconnectType.
- Parameters
his – The top-level !His to evaluate
scope – An ElaboratorScope object containing all documents included directly or indirectly by the top module.
-
blade.elaborate.interconnect.elaborate_interconnect(his, scope, max_depth=None, project=None)¶ Evaluate top-level !His and every interconnect type it references, returning a DFProject. The top-level !His will be a principal node, whilst referenced interconnects will be reference nodes.
- Parameters
his – The top-level !His to evaluate
scope – The ElaboratorScope object containing all referenced documents
max_depth – Ignored at present, provided for compatibility (optional)
project – Project to append to, else a new one is created (optional)
- Returns
Project containing the elaborated interconnect
- Return type
DFProject