prga.prog.scanchain.lib module¶
-
class
prga.prog.scanchain.lib.
Scanchain
¶ Bases:
prga.prog.common.AbstractProgCircuitryEntry
Entry point for scanchain programming circuitry.
-
classmethod
_Scanchain__install_cells
(context)¶
-
classmethod
_get_or_create_scanchain_data_cell
(context, data_width)¶ Get the programming data module for
data_width
bits.Parameters: - context (
Context
) – - data_width (
int
) –
Returns: Return type: - context (
-
classmethod
_get_or_create_scanchain_prog_nets
(module, chain_width, excludes=None)¶
-
classmethod
_insert_scanchain
(context, design_view=None, *, iter_instances=None, insert_delimiter=None)¶ Insert the scanchain.
Parameters: Keyword Arguments: - iter_instances (
Function
[Module
] ->Iterable
[Instance
]) – Custom ordering of the instances in a module - insert_delimiter (
Function
[Module
] ->bool
) – Determine ifwe
buffers are inserted at the beginning and end of the scanchain insidedesign_view
. By default, buffers are inserted in all logic/IO blocks and routing boxes.
This method calls itself recursively to process all the instances (sub-modules).
- iter_instances (
-
classmethod
insert_prog_circuitry
(context, *, iter_instances=None, insert_delimiter=None)¶ Insert programming circuitry into the FPGA. This method will be called by the
ProgCircuitryInsertion
pass.Parameters: context ( Context
) –
-
classmethod
materialize
(ctx, inplace=False, *, chain_width=1)¶ Materialize the abstract context to this configuration circuitry type.
Parameters: - ctx (
Context
) – An abstract context, or a context previously materialized to another configuration circuitry type. - inplace (
bool
) – If set, the context is modified in-place. Otherwise (by default),ctx
is deep-copied before processed
Keyword Arguments: **kwargs – Additional keyword parameters specific to the programming circuitry type.
Returns: Return type: - ctx (
-
classmethod