RegisterData

class RegisterData(root: Register)[source]

Class for a storing, managing and accessing data for a register file.

add_after(after: Register, new: Register)[source]

Adds a new register to the data after another specified register.

Parameters:
  • after (Register) – The existing register which will be appended

  • new (Register) – The new register to add to the data

add_before(before: Register, new: Register)[source]

Adds a new register to the data before another specified register.

Parameters:
  • before (Register) – The existing register which will be preppended

  • new (Register) – The new register to add to the data

append(r: Register)[source]

Appends a register to the end of the data.

Parameters:

r (Register) – The new register to append to the data

get_registers_of_type(t: Type[T], **kwargs) T | List[T] | None[source]

A register or register list that only returns registers of type T that meet given filter requirements passed as kwargs.

Parameters:

t (Type[T]) – The register type that is desired

Returns:

Registers filtered by type T and optional properties

Return type:

T | list[T] | None

of_type(t: Type[T]) Generator[T, None, None][source]

A register generator that only returns registers of type T.

Parameters:

t (Type[T]) – The register type that is desired

Yield:

Registers filtered by type T

Return type:

Generator[T, None, None]

preppend(r: Register)[source]

Appends a register to the beginning of the data.

Parameters:

r (Register) – The new register to preppended to the data.

remove(r: Register)[source]

Removes an existing register in the chain.

Parameters:

r (Register) – The register to be removed

remove_registers_of_type(t: Type[T], **kwargs)[source]

Removes a set of registers given a type and an optional group of filters, similar to get_registers_of_type()

Parameters:

t (Type[T]) – The register type that is desired