!Config

The !Config tag defines the order of register groups within a register set - two different tags can be used within the order:

  • !Register - specifies the position that a normal !Group should be instantiated within the register set. Each group can be instantiated uniquely, and uses the same name as it’s declaration.

  • !Macro - specifies the position that a macro !Group (i.e. one with type=MACRO) should be instantiated within the register set, along with array and align parameters for controlling the number of instances and the word alignment for each. A macro group can be instantiated multiple times, each time using the name provided in the !Macro declaration.

Usage

- !Group
  name: my_reg_group
  regs:
  - !Reg
  ...

- !Group
  name: my_macro
  type: MACRO
  regs:
  - !Reg
  ...

- !Config
  order:
  - !Register [my_reg_group]
  - !Macro    [inst_1, my_macro, 4, 100, "Array of 4 macros, each aligned to a 100 word boundary"]
class blade.schema.ph_config.Config(order=[], name=None, options=[])

A !Config allows for an optional selective order of which groups are to be processed. This allows a Macro-type group to be mixed with a Register-type group.

__init__(order=[], name=None, options=[])

Initialisation for the !Config YAML tag

Parameters
  • order – List of !Register and !Macro tags to specify the order that register groups should be instantiated

  • name – Name of the configuration (not currently used)

  • options – List of options either in the form ‘KEY=VAL’ or just ‘KEY’ if a value is not required

validate()

Check that this tag agrees with our YAML schema