The register package provides a simple, easy to use and easy to extend data model and API for modeling registers, address maps and memories.
The register is a collection of fields, programmed as a parameterized class, whose parameter is a packed struct.
The address map, is a lookup container where a register can be looked up by name or by address.
A memory is a range of addresses that are treated as memory - they can be read and written.
The register, address map and memory are used to together to improve verification efficiency and productivity.