hdl_registers.parser package

Submodules

hdl_registers.parser.json module

hdl_registers.parser.json.from_json(name: str, json_file: Path, default_registers: list[Register] | None = None) RegisterList

Parse a JSON file with register data.

Parameters:
  • name – The name of the register list.

  • json_file – The JSON file path.

  • default_registers – List of default registers.

Returns:

The resulting register list.

hdl_registers.parser.parser module

class hdl_registers.parser.parser.RegisterParser(name: str, source_definition_file: Path, default_registers: list[Register] | None = None)

Bases: object

__init__(name: str, source_definition_file: Path, default_registers: list[Register] | None = None)
Parameters:
  • name – The name of the register list.

  • source_definition_file – The source file that defined this register list. Will be displayed in generated source code and documentation for traceability.

  • default_registers – List of default registers.

parse(register_data: dict[str, Any]) RegisterList

Parse the register data.

Parameters:

register_data – Register data as a dictionary.

Returns:

The resulting register list.

recognized_bit_items = {'default_value', 'description'}
recognized_bit_vector_items = {'default_value', 'description', 'width'}
recognized_constant_items = {'data_type', 'description', 'value'}
recognized_enumeration_items = {'default_value', 'description', 'element'}
recognized_integer_items = {'default_value', 'description', 'max_value', 'min_value'}
recognized_register_array_items = {'array_length', 'description', 'register'}
recognized_register_items = {'bit', 'bit_vector', 'description', 'enumeration', 'integer', 'mode'}
required_bit_items: list[str] = []
required_bit_vector_items = ['width']
required_constant_items = ['value']
required_enumeration_items = ['element']
required_integer_items = ['max_value']
required_register_array_items = ['array_length', 'register']

hdl_registers.parser.toml module

hdl_registers.parser.toml.from_toml(name: str, toml_file: Path, default_registers: list[Register] | None = None) RegisterList

Parse a TOML file with register data.

Parameters:
  • name – The name of the register list.

  • toml_file – The TOML file path.

  • default_registers – List of default registers.

Returns:

The resulting register list.

hdl_registers.parser.yaml module

hdl_registers.parser.yaml.from_yaml(name: str, yaml_file: Path, default_registers: list[Register] | None = None) RegisterList

Parse a YAML file with register data.

Parameters:
  • name – The name of the register list.

  • yaml_file – The YAML file path.

  • default_registers – List of default registers.

Returns:

The resulting register list.