prga.passes.vpr.delegate module¶
-
class
prga.passes.vpr.delegate.
FASMDelegate
¶ Bases:
prga.util.Object
FASM delegate used for FASM metadata generation.
-
classmethod
_bitmap
(bitmap, allow_alternative=False)¶
-
classmethod
_value
(value, breakdown=False)¶
-
fasm_features_for_interblock_switch
(source, sink, hierarchy=None)¶ Get the “fasm_features” string for the connection from
source
tosink
.Parameters: - source – Source net
- sink – Sink net
- hierarchy (
AbstractInstance
) – Hierarchy ofsrc
andsink
in the routing box
Returns: “fasm_features” values
Return type: Sequence
[str
]
-
fasm_features_for_intrablock_module
(module, hierarchy=None)¶ Get the features for
module
in intra-blockhierarchy
.Parameters: - module (
Module
) – The leaf module to be prefixed - hierarchy (
AbstractInstance
) –
Returns: “fasm_features” values
Return type: Sequence
[str
]Notes
This method is called ONLY ONCE for multi-“num_pb” instances.
- module (
-
fasm_mux_for_intrablock_switch
(source, sink, hierarchy=None)¶ Get the “fasm_mux” string for the connection from
source
tosink
.Parameters: - source – Source net
- sink – Sink net
- hierarchy (
AbstractInstance
) – Hierarchy ofsrc
andsink
in the block.
Returns: “fasm_mux” values
Return type: Sequence
[str
]
-
fasm_params_for_primitive
(instance=None)¶ Get the “fasm_params” strings for hierarchical primitive
instance
.Parameters: instance ( AbstractInstance
) – Hierarchical instance in the logic/io blockReturns: “fasm_param” feature mapping for the primitive instance Return type: Mapping
[str
,str
]Notes
This method is called ONLY ONCE for multi-“num_pb” instances.
-
fasm_prefix_for_intrablock_module
(module, hierarchy=None)¶ Get the prefix for
module
in intra-blockhierarchy
.Parameters: - module (
Module
) – The leaf module to be prefixed - hierarchy (
AbstractInstance
) –
Returns: “fasm_prefix” value
Return type: str
Notes
This method is called for EACH multi-“num_pb” instances.
- module (
-
fasm_prefix_for_tile
(instance=None)¶ Get the prefix for tile
instance
.Parameters: instance ( AbstractInstance
) –Returns: “fasm_prefix” values Return type: Sequence
[str
]
-
reset
()¶ Reset the delegate.
-
classmethod
-
class
prga.passes.vpr.delegate.
VPRScalableDelegate
(aspect_ratio, *, device=None)¶ Bases:
prga.util.Object
Delegate for generating a scalable VPR architecture XML.
Parameters: aspect_ratio ( float
) – Aspect ratio of the fabricKeyword Arguments: device ( Mapping
) – Overwrite the auto-generated dummy device tag in the output VPR specs-
_rule_args
= {'col': {'incry': False, 'repeatx': False, 'startx': True, 'starty': False}, 'corners': {}, 'fill': {}, 'perimeter': {}, 'region': {'endx': False, 'endy': False, 'incrx': False, 'incry': False, 'repeatx': False, 'repeaty': False, 'startx': False, 'starty': False}, 'row': {'incrx': False, 'repeaty': False, 'startx': False, 'starty': True}, 'single': {'x': True, 'y': True}}¶
-
active_tiles
¶
-
add_layout_rule
(rule, priority, tile, **kwargs)¶ Add a layout rule.
Parameters: - rule (
str
) – Grid Location Tag type in VPR specs. - priority (
int
) – Priority attribute of the rule. - tile (
Module
) – The tile for the rule. UseNone
to explicitly add rules for empty tiles.
Keyword Arguments: **kwargs – Refer to the attributes requirement for each type of rule under the Grid Location Tag section in VPR’s documentation
- rule (
-
aspect_ratio
¶
-
device
¶
-
layout_rules
¶
-