exploiting architecture for verification dave whipp

18
Exploiting Architecture For Verification Dave Whipp

Upload: dominic-webb

Post on 18-Jan-2018

230 views

Category:

Documents


0 download

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

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