Exploiting Architecture For Verification Dave Whipp.

18
Exploiting Architecture For Verification Dave Whipp

description

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)

Transcript of Exploiting Architecture For Verification Dave Whipp.

Page 1: Exploiting Architecture For Verification Dave Whipp.

Exploiting ArchitectureFor Verification

Dave Whipp

Page 2: 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

Page 3: Exploiting Architecture For Verification Dave Whipp.

A HW Development FlowBig Paper Spec

Design

Verification

RTL

Testbench Checkers Tests

Scoreboard

Assertions

C Model

Synthesis

Directed

RandomsBFMs,

TLMs

Clocks, ResetsAssertions

ISS Model

CoverageDebug

(BAD)

Page 4: Exploiting Architecture For Verification Dave Whipp.

A HW Development FlowBig Paper Spec

Design

Verification

RTL

Testbench Checkers Tests

Scoreboard

Assertions

C Model

Synthesis

Directed

RandomsBFMs,

TLMs

Clocks, ResetsAssertions

ISS Model

CoverageDebug

(BAD)

Page 5: Exploiting Architecture For Verification Dave Whipp.

A HW Development Flow (Better)

RTL Scoreboards

Synthesis

Randoms

Clocks, Resets

Design

Verification

Testbench

Small Paper Spec

ISS Model ESL

C Model

Interfaces

Assertions

Directed Tests BFMs

TLMs

Validation

Assertions

Triage

Debug

Coverage

Coverage

Page 6: Exploiting Architecture For Verification Dave Whipp.

What Type of Model?

A EB C D F G

D

GA

BE

CF

How do we model that these are equivalent?

ISS:

TLM:

Page 7: Exploiting Architecture For Verification Dave Whipp.

Exploitation of Executable Models Product Development

– Enable SW development– Validate the Architecture

Verification Bootstrapping– Validate Tests– Functional Checkers– Validate Assertions– Architectural Coverage

Page 8: Exploiting Architecture For Verification Dave Whipp.

Design Verification Testbenches

TransactionProducer

ScenarioGenerator

CoverageModel

DUT

TransactionConsumer

ScenarioChecker

BFM BFM

UTFmodel

Page 9: Exploiting Architecture For Verification Dave Whipp.

Architectural Validation Testbenches

TransactionProducer

ScenarioGenerator

CoverageModel

UTFmodel

TransactionConsumer

ScenarioChecker

Page 10: Exploiting Architecture For Verification Dave Whipp.

How To Reuse Architectural Tests

Architectural

Mic

ro A

rchi

tect

ural

Page 11: Exploiting Architecture For Verification Dave Whipp.

Architectural Bringup Tests

Architectural

Mic

ro A

rchi

tect

ural

Page 12: Exploiting Architecture For Verification Dave Whipp.

Micro-architectural Directed Tests

Architectural

Mic

ro A

rchi

tect

ural

Page 13: Exploiting Architecture For Verification Dave Whipp.

Micro-architectural Directed Tests

Shallow Features

Dee

p In

tera

ctio

ns

Page 14: Exploiting Architecture For Verification Dave Whipp.

Constrained Random Tests

Shallow Features

Dee

p In

tera

ctio

ns

Page 15: Exploiting Architecture For Verification Dave Whipp.

Random Directed Tests

Shallow Features

Dee

p In

tera

ctio

ns

Page 16: Exploiting Architecture For Verification Dave Whipp.

Testing using GraphsShape

Line

Triangle

Solid

Stipple

Short Fat

Long Skinny Filled

Outline

Aspect Body

Dashed

Page 17: Exploiting Architecture For Verification Dave Whipp.

Micro-Architectural Tests

Address Cacheable

Page

Evict dirty

Evict about-to-be-needed

Reuse

New

No

Yes

Page 18: Exploiting Architecture For Verification Dave Whipp.

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