180 likes | 332 Views
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.
E N D
Exploiting ArchitectureFor 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 (BAD) Big Paper Spec ISS Model Verification Coverage Debug Design Checkers Testbench Tests RTL Synthesis Clocks, Resets C Model Directed Assertions BFMs, Assertions Randoms TLMs Scoreboard
A HW Development Flow (BAD) Big Paper Spec ISS Model Verification Coverage Debug Design Checkers Testbench Tests RTL Synthesis Clocks, Resets C Model Directed Assertions BFMs, Assertions Randoms TLMs Scoreboard
A HW Development Flow (Better) Small Paper Spec Coverage Triage ISS Model ESL Verification C Model Debug Coverage Testbench Randoms Interfaces Validation Design Assertions Scoreboards TLMs RTL BFMs Assertions Directed Tests Clocks, Resets Synthesis
What Type of Model? ISS: A B C D E F G TLM: BE CF D A G How do we model that these are equivalent?
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 Coverage Model Scenario Generator Scenario Checker UTF model Transaction Producer Transaction Consumer DUT BFM BFM
Architectural Validation Testbenches Coverage Model Scenario Generator Scenario Checker UTF model Transaction Producer Transaction Consumer
How To Reuse Architectural Tests Micro Architectural Architectural
Architectural Bringup Tests Micro Architectural Architectural
Micro-architectural Directed Tests Micro Architectural Architectural
Micro-architectural Directed Tests Deep Interactions Shallow Features
Constrained Random Tests Deep Interactions Shallow Features
Random Directed Tests Deep Interactions Shallow Features
Testing using Graphs Shape Triangle Line Aspect Body Solid Short Fat Stipple Outline Long Skinny Dashed Filled
Micro-Architectural Tests Address Cacheable No Page Yes New Evict dirty Reuse Evict about-to-be-needed
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