prga.passes.vpr.delegate module¶
-
class
prga.passes.vpr.delegate.FASMDelegate¶ Bases:
prga.util.ObjectFASM 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
sourcetosink.Parameters: - source – Source net
- sink – Sink net
- hierarchy (
AbstractInstance) – Hierarchy ofsrcandsinkin the routing box
Returns: “fasm_features” values
Return type: Sequence[str]
-
fasm_features_for_intrablock_module(module, hierarchy=None)¶ Get the features for
modulein 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
sourcetosink.Parameters: - source – Source net
- sink – Sink net
- hierarchy (
AbstractInstance) – Hierarchy ofsrcandsinkin 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
modulein intra-blockhierarchy.Parameters: - module (
Module) – The leaf module to be prefixed - hierarchy (
AbstractInstance) –
Returns: “fasm_prefix” value
Return type: strNotes
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.ObjectDelegate 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. UseNoneto 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¶
-