Overview
Operation properties express a high-level operation view of a design under verification (DUV). Rather than reimplementing complex circuit logic in the verification language ITL, they are formulated compactly using abstraction techniques. For a processor, an operation naturally corresponds to the execution of a single instruction. Each operation property describes how the processor's internal state changes and how its output signals behave when that instruction is executed. [C1]
Architectural abstraction
In operation properties, the DUV state is described in terms of a high-level or architectural state, corresponding to the programmer's view of visible registers. This abstraction is achieved through mapping functions. For example, in a pipelined processor, a mapping function can link the architectural register file to implementation registers while capturing pipeline forwarding logic. [C2]
Completeness expectations
Operation properties are expected to cover not only the updated state element for an operation, but also unchanged state and output behavior. In the cited ADD-instruction example, the property must state that the remaining registers do not change value and must specify the processor's output behavior. [C3]
Relationship to architectural-style properties
A set of operation properties may contain an architecture description only implicitly. Because of this, generically and fully automatically extracting an instruction set simulator (ISS) from operation properties is described as difficult. The cited work therefore reformulates operation properties into an architectural style, where the architectural state, interface behavior, reset state, and a next_state macro are made explicit. [C4]
Role in ISS generation
When verification is performed in architectural style, an ISS can be generated from the verification without manual steps. Reformulating operation properties into that style does not require new detailed consideration of the design behavior, because the architectural-state components and instruction semantics are already identified during verification. [C5]
Consistency checking
The reformulated architectural-style property is checked against the RTL, and automatic gap detection is also executed. This process is used to identify discrepancies between the architectural and operation properties, while preserving equivalence of the reformulated property set to the design. [C6]