prga.prog.scanchain.lib module¶
-
class
prga.prog.scanchain.lib.Scanchain¶ Bases:
prga.prog.common.AbstractProgCircuitryEntryEntry 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_widthbits.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 ifwebuffers 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
ProgCircuitryInsertionpass.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),ctxis deep-copied before processed
Keyword Arguments: **kwargs – Additional keyword parameters specific to the programming circuitry type.
Returns: Return type: - ctx (
-
classmethod