Register files
This is the root configuration structure for vhdmmio
register
files.
This structure supports the following configuration keys.
metadata
This configuration structure is used to name and document the register file.
This key must be set to a dictionary. Its structure is defined here. Not specifying the key is equivalent to specifying an empty dictionary.
features
This configuration structure is used to specify some options that affect register file as a whole.
This key must be set to a dictionary. Its structure is defined here. Not specifying the key is equivalent to specifying an empty dictionary.
entity
This configuration structure is used to configure how the MMIO entity is generated.
This key must be set to a dictionary. Its structure is defined here. Not specifying the key is equivalent to specifying an empty dictionary.
interface
This key specifies the default VHDL entity interface generation options for fields and interrupts alike.
This key must be set to a dictionary. Its structure is defined here. Not specifying the key is equivalent to specifying an empty dictionary.
fields
This key describes the fields that the register file contains.
This key must be set to a list of dictionaries, of which the structure is defined here. In addition, the subfields
key can be used to define the list elements as a tree; if it is present in one of the dictionaries, the dictionary becomes a non-leaf node, with the subfields
key specifying the list of child nodes. This tree is flattened during parsing, in such a way that the configuration for a flattened node becomes the root dictionary, updated with its child dictionary, all the way down to the leaf node; the non-leaf nodes essentially set the default values for their children. For example,
fields:
- a: 1
b: 2
c: 3
subfields:
- a: 5
- d: 4
is equivalent to
fields:
- a: 5
b: 2
c: 3
- a: 1
b: 2
c: 3
d: 4
This can be useful for specifying repetetive structures.
This key is optional. Not specifying it is equivalent to specifying an empty list.
interrupts
This key describes the interrupts that the register file contains.
This key must be set to a list of dictionaries, of which the structure is defined here.
This key is optional. Not specifying it is equivalent to specifying an empty list.
internal-io
This configuration structure can be used to expose internal signals to the VHDL entity's interface, essentially making them external.
This key must be set to a list of dictionaries, of which the structure is defined here.
This key is optional. Not specifying it is equivalent to specifying an empty list.