prga.passes.vpr.arch module

class prga.passes.vpr.arch.VPRArchGeneration(output_file, *, fasm=None)

Bases: prga.passes.vpr.arch._VPRArchGeneration

Generate VPR’s architecture description XML.

Parameters:output_file (str of file-like object) – The output file. If the file name ends with “.gz”, the output file will be compressed using gzip
Keyword Arguments:
 fasm (FASMDelegate) – Overwrite the deafult fasm delegate provided by the context
_device(context)
_layout(context)
_layout_array(array, globals_, hierarchy=None)
_update_output_file(summary, output_file)
_update_summary
ios
key

Key of this pass.

class prga.passes.vpr.arch.VPRScalableArchGeneration(output_file, delegate, *, update_summary=False, timing=None)

Bases: prga.passes.vpr.arch._VPRArchGeneration

Generate a scalable version of VPR’s architecture description XML.

Parameters:
  • output_file (str of file-like object) – The output file. If the file name ends with “.gz”, the output file will be compressed using gzip
  • delegate (VPRScalableDelegate) –
Keyword Arguments:
 

fasm (FASMDelegate) – Overwrite the deafult fasm delegate provided by the context

WARNING: The routing graph generated by VPR during FPGA sizing and routing channel fitting is almost always different than the one generated by PRGA. Use the scalable architecture description only for exploring, and then use fixed layout and channel width for your real chip.

_device(context)
_layout(context)
_update_output_file(summary, output_file)
_update_summary
delegate
key

Key of this pass.

update_summary
class prga.passes.vpr.arch._VPRArchGeneration(output_file, *, fasm=None)

Bases: prga.passes.base.AbstractPass

Base generator for VPR’s architecture description XML.

_device(context)
_direct(tunnel)
_hierarchy(module, instances=None)
_interconnect(sink, parent_name, instance=None)
_layout(context)
_model(primitive)
classmethod _net2vpr(net, parent_name, bitwise=False)
_pb_type(module, instances=None)
_pb_type_body(module, name, hierarchy, fasm_prefixes=None, fasm_features=None)
_pb_type_leaf(primitive, instances)
_pb_type_leaf_body(primitive, name, hierarchy, fasm_prefixes=None, fasm_features=None)
_pb_type_lut(primitive, instances)
_pb_type_multimode(module, instances)
_tile(context, tile)
_update_output_file(summary, output_file)
_update_summary
active_blocks
active_primitives
active_tiles
fasm
is_readonly_pass

Test if this is a read-only pass that can be run multiple times.

Type:bool
lut_sizes
output_file
run(context)

Run the pass.

Parameters:context (Context) – The context which manages all architecture data
xml