Ivana Dobrilovic, Verification engineer at Veriest Solutions has authored this paper that was presented at DVCon US 2023.
Abstract- The role of registers in hardware is to be a programming interface to the software. They provide the static information about the design, allow controlling the behavior or features of the design, and provide the ability for the software to figure out if the design is performing the operation as expected or if it needs some attention. Registers can be classified based on several criteria. Based on their function, they can be broadly divided into 3 categories: information, control, and status registers. There is also a division based on the type of access. The most common types are “RO” (readonly), “RW” (read-write) and “WO” (write-only). A read-only register is a special type of register that can only be read by the software. These registers are typically used for things such as status registers, certain control registers, hardware timers, and counters. Verification of a read-only register is typically tricky. This paper will describe the most common problems that can be encountered, as well as the solution.