Exploiting Architecture For Verification Dave Whipp
Architecture For Verification Simplify the Design –Reduce corner cases –Decoupled State Machines –Focus Complexity on Performance Tradeoff Performance Vs Schedule Provide Verification-Friendly Work Products –Models –Test benches –Tests
A HW Development Flow Big Paper Spec Design Verification RTL Testbench Checkers Tests Scoreboard Assertions C Model Synthesis Directed Randoms BFMs, TLMs Clocks, Resets Assertions ISS Model Coverage Debug (BAD)
A HW Development Flow Big Paper Spec Design Verification RTL Testbench Checkers Tests Scoreboard Assertions C Model Synthesis Directed Randoms BFMs, TLMs Clocks, Resets Assertions ISS Model Coverage Debug (BAD)
A HW Development Flow (Better) RTL Scoreboards Synthesis Randoms Clocks, Resets Design Verification Testbench Small Paper Spec ISS ModelESL C Model Interfaces Assertions Directed Tests BFMs TLMs Validation Assertions Triage Debug Coverage
What Type of Model? AEBCDFG D G A BEBE CFCF How do we model that these are equivalent? ISS: TLM:
Exploitation of Executable Models Product Development –Enable SW development –Validate the Architecture Verification Bootstrapping –Validate Tests –Functional Checkers –Validate Assertions –Architectural Coverage
Design Verification Testbenches Transaction Producer Scenario Generator Coverage Model DUT Transaction Consumer Scenario Checker BFM UTF model
Architectural Validation Testbenches Transaction Producer Scenario Generator Coverage Model UTF model Transaction Consumer Scenario Checker
How To Reuse Architectural Tests Architectural Micro Architectural
Architectural Bringup Tests Architectural Micro Architectural
Micro-architectural Directed Tests Architectural Micro Architectural
Micro-architectural Directed Tests Shallow Features Deep Interactions
Constrained Random Tests Shallow Features Deep Interactions
Random Directed Tests Shallow Features Deep Interactions
Testing using Graphs Shape Line Triangle Solid Stipple Short Fat Long Skinny Filled Outline Aspect Body Dashed
Micro-Architectural Tests AddressCacheable Page Evict dirty Evict about-to- be-needed Reuse New No Yes
Conclusion Architects must create Executable Representations –Validated by Architects –Reused by Verifiers Not Just Models –Testbenches and VIP –Self-Checking Tests (Directed Random) Traditional Models serve Multiple Roles –Checkers –Assertions –Coverage