Overview.

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.