[1] A Design Under Verification is the hardware/software implementation whose behavior is checked by a verification methodology, with properties describing its internal-state changes and output behavior; it may be an RTL implementation checked against formal properties or SVA. Previous wiki article (Design Under Verification v3)
[3] The PowerPC processor used as a running-example DUV is a RISC design with ~400 instructions, fixed-length 32-bit instructions, 32 GPR and 32 FPR, special-purpose registers, and a complex multi-level translation/coherency memory model. Stimuli Generation (Part I) - COMS30026 Design Verification [4] Microarchitecturally, the PowerPC DUV is multi-threaded, in-order, four-instructions-wide (Fetch, Decode, Dispatch), with four execution units (Branch, Simple Arithmetic, Complex Arithmetic, Load/Store) and Data Fetch / Execute / Write Back stages. Stimuli Generation (Part I) - COMS30026 Design Verification [6] Stimuli-generation strategies for a DUV differ by how many generators are used (distributed, single/unified, or synchronized) and at what abstraction level (program/algorithmic, sequence, command-and-data/instruction, or bit level). Stimuli Generation (Part I) - COMS30026 Design Verification [7] Distributed generators are simple and reusable but cannot easily reach coordinated corner cases; a single unified generator can target common goals across interfaces but is complex and hard to reuse; synchronized generators combine reuse with coordination. Stimuli Generation (Part I) - COMS30026 Design Verification [10] In dynamic verification, random tests are generated and simulated on the DUV; coverage measures thoroughness of testing and is the prime indicator of test-set quality. Previous wiki article (Design Under Verification v3)
[11] Formal verification of a DUV requires deep knowledge of its internals to write useful assertions, motivating automation. Previous wiki article (Design Under Verification v3)
[12] Interval Property Checking (IPC) checks bounded safety properties of a DUV with SAT-based techniques using arbitrary starting states; a property holding from an arbitrary state also holds from any reachable state. Previous wiki article (Design Under Verification v3)
[13] A complete property suite forms a chain of assume/prove properties covering all input scenarios; any two designs satisfying all properties in a complete suite are formally equivalent. Previous wiki article (Design Under Verification v3)
[14] Architectural-state abstraction for processor DUV verification describes state in terms of programmer-visible registers; mapping functions connect this to the RTL, hiding e.g. pipeline forwarding. Previous wiki article (Design Under Verification v3)
[15] Architecture register R(i) is replaced by Data_R(sfwd, i) during property-suite generation, where sfwd is the forwarding target stage (usually decode); resulting properties use an A ⇒ C implication at successive instruction timepoints. Previous wiki article (Design Under Verification v3)
[16] Consistency assertions are auto-generated alongside instruction properties to cover DUV-wide correctness, including empty-stage behavior and inter-instruction interactions, and provide debugging feedback for architectural mappings. Previous wiki article (Design Under Verification v3)
[17] Test-generator engines accept test templates directed at DUV functions; a template arbitrator selects the next template, and the execution engine runs the test on a simulator or realization of the DUV. Previous wiki article (Design Under Verification v3)
[18] Templates can be weighted, include baseline/unbreakable/sparseness-constrained sections and prologue/epilogue, and support bounded inter-template occurrence constraints to exercise multiple DUV functions in combination. Previous wiki article (Design Under Verification v3)
[19] An abstract knowledge base can hold a formal DUV specification with testing constraints, coverage criteria, and a biasing model toward interesting cases. Previous wiki article (Design Under Verification v3)
[21] Property suites for a DUV can be verified using commercial formal tools supporting SVA verification, IPC and k-induction proof engines, and automatic completeness analysis, applied to industrial processor designs. Previous wiki article (Design Under Verification v3)