23
May 4, 2011 1 May 4, 2011 Ziyad Hanna Jasper Design Automation May 4, 2011 How do we break the Formal Verification Scalability Barrier ?

Track c how do we break - jasper

Embed Size (px)

Citation preview

Page 1: Track c   how do we break - jasper

May 4, 2011 1May 4, 2011

Ziyad HannaJasper Design Automation

May 4, 2011

How do we break the Formal Verification Scalability

Barrier?

Page 3: Track c   how do we break - jasper

May 4, 2011 3

Design and Verification Activities … Spec development

Test planning

Unit testing

Simulation

Coverage Analysis

Assertion writing

Formal verification

Protocol Checking

Architecture Verification

Software Development

OS bring up

Post –si Debug & Validation

FPGA

Emulation

Benchmarking

RTL Development

Power estimation

Power Verification

Synthesis

Floor Planning

Timing Analysis

Custom block design

Library Design

Layout

Full chip integrationFirmware

Mask development

Heat

Reliability Verification

Circuit marginality verification

Noise Analysis

Device Driver development

RC estimation and verification

Process development

Equivalence Checking

Connectivity verification

Performance Verification

Fracture Verification

High Level Synthesis

How to cope with all of this

?

Page 4: Track c   how do we break - jasper

May 4, 2011 4

Problem Statement •Verification complexity increases at an

exponential rate–Costly labor and IT resources

–Hard to predict the quality and TTM

•Existing dynamic verification methods are unable to close the verification gap

–Logic escapes are still cannot be avoided–Post-Silicon validation

•Design problem, or Verification problem, or both?

Page 5: Track c   how do we break - jasper

May 4, 2011 5

Formal Technology Comes of Age•EDAC Market Statistics Service (MSS)

aggregates and reports revenue growth by tool category

•Formal Property Checking category had 3rd fastest-growing revenue in EDA/IP (latest MSS report Q3’10) Fastest-Growing EDA & IP

Categories Over $10M/year4Q/4Q

Growth Rate

BIST / Scan 65.9%Verification IP 59.5%Formal Property Checking 51.2%EDA Industry Average 4.9%

Page 6: Track c   how do we break - jasper

May 4, 2011 6

What We’ve Learned About the Market

Early Formal ToolsRequired Formal PhD Users

Effort

Value

Show Deployability

Rais

e Ex

pect

ation

s

Big EDA Vendors’ Formal Tools Reduced Effort, Sacrificed Value

Page 7: Track c   how do we break - jasper

May 4, 2011 7

Scalability – Customers Perspectives •Handle bigger and more complex designs

–From small blocks, units, clusters, CPU to systems–Coping with exponential design complexity

•Solve hard problems in design and verification–Spectrum of applications beyond model checking

•Handle emerging design styles–FF/Latch based designs, async, clock glitches, CDC…

•Enable project level multiuser/parallel engineering/reuse and collaboration methodologies

•Scale economically with high utilization of licenses

Page 8: Track c   how do we break - jasper

May 4, 2011 8

Scalability - Technology Perspectives •Interactive: users have full control and performing parallel tasks

Capacity & Performance: coping with large and complex designs

Parallel: multithreading, computer clusters, farms and clouds

Elastic: Dynamic verification tasks, grow and shrink on-the-fly

Programmable: API for creating/expanding capabilities

Collaboration: interoperability and sharing results

Page 9: Track c   how do we break - jasper

May 4, 2011 9

Scalability - Technology Perspectives •Interactive: users have full control and performing parallel tasks

Capacity & Performance: coping with large and complex designs

Parallel: multithreading, computer clusters, farms and clouds

Elastic: Dynamic verification tasks, grow and shrink on-the-fly

Programmable: API for creating/expanding capabilities

Collaboration: interoperability and sharing results

Page 10: Track c   how do we break - jasper

May 4, 2011 10

Design Analyze & Elaborate

Automatic Clock and Reset Analysis,Visualize Important Behaviors

Automatic Reduction and Tuning

Automatic Abstraction

Proof Engines

ProofGrid

CEXDebug

Abstractions / Proof Accelerators

Design Space Tunneling (DST)(Learn Design, Discover Abstraction )

State Space Tunneling (SST)(Discover and Prove Intermediate Properties )

Proof?

Automatic Convergence Flow Tool Assisted Interactive Flow

Design Info.Black boxingElaborate control

Clock and reset analysisSource code viewer

Elastic Task Management

Create/copy tasksStopatAdd/remove assumptionsAdd/remove assertionsSet engine mode

ProofGrid Manager

NO

Visualize, ComprehendChange engine modeLift assumptionsCheck assumptions

PGM Analysis Complexity Manager

NO – Interactive Proof

Page 11: Track c   how do we break - jasper

May 4, 2011 11

VisualizeTM for Interactive Debug & Exploration

•Configurations stack manager•Pushes & pops constraints•Modifies netlist on-the-fly

QuietTrace Trace concatenation Auto-exploration

Data structure corruption at cycle 16. Can it then cause to

violation interrupt?

failure_condition

Page 12: Track c   how do we break - jasper

May 4, 2011 12

Scalability - Technology Perspectives

•Interactive: users have full control and performing parallel tasks

Capacity & Performance: coping with large and complex designs

Parallel: multithreading, computer clusters, farms and clouds

Elastic: Dynamic verification tasks, grow and shrink on-the-fly

Programmable: API for creating/expanding capabilities

Collaboration: interoperability and sharing results

Page 13: Track c   how do we break - jasper

May 4, 2011 13

Common Big Numbers in Modern CPU, Internet and Formal Verification

•10^11 = 100,000,000,000 Estimated # of web pages in the internet

•10^12 = 1,000,000,000,000 Estimated # of polygons in modern CPU

•10^29 ~= 29715398713946329230000259072

Exact # of reachable states of a simple arbiter (Input =42, Flop =104). Formal tools can build in few seconds

•10^57 ~= 15491717493384086302251914627137286712632320245916237824

# of reachable state in real life RTL design (Input=58, Flop=117). Formal tool can build in 10 minutes !

Page 14: Track c   how do we break - jasper

May 4, 2011 14

Model Checkingat depth k cycles

CEX?done

No CEX?

Automatic Abstraction

Model Checking doneTrue?

False?

Lear

ning

, Inc

reas

e k,

refin

emen

t

Managing Proof Capacity – Automatic Abstraction

Page 15: Track c   how do we break - jasper

May 4, 2011 15

Managing Proof Capacity – Interactive Abstraction

•Design Tunneling – formal

analysis guided expansion

algorithms

•Interactive State Space Tunneling

•Design Abstraction and Proof

Accelerators

Page 16: Track c   how do we break - jasper

May 4, 2011 16

•Emerging hardware gives 2X speedup•Parallel Proofs boost the performance by additional 10X

•Engine technology boost the proofs by additional ~4X

Performance Evolution(on SUN OPENSPARC Design)

Phase-1 Phase-2 Phase-3

Page 17: Track c   how do we break - jasper

May 4, 2011 17

Scalability - Technology Perspectives •Interactive: users have full control and performing parallel tasks

Capacity & Performance: coping with large and complex designs

Parallel: multithreading, computer clusters, farms and clouds

Elastic: Dynamic verification tasks, grow and shrink on-the-fly

Programmable: API for creating/expanding capabilities

Collaboration: interoperability and sharing results

Page 18: Track c   how do we break - jasper

May 4, 2011 18

ProofGrid™ - Parallel Processing

engine D

P0

P1

P2

P3

P4

P5

P7

P8

P9

P10

P11

P13

✖P6

C I G K B

Capacity

Thr

ough

put

•Dynamic scheduling and parallel engine allocation on local machine, cluster, farm or cloud

•Seamless tracking & reporting

Page 19: Track c   how do we break - jasper

May 4, 2011 19

Property Divide and Conquer always (P and Q and R) <=> (always P) and (always Q) and (always R)

P

Q

R

P

Q

R

Server Farm

•A subset of properties can be decomposed•Sometimes it is harder to prove the sub goals standalone!

Page 20: Track c   how do we break - jasper

May 4, 2011 20

Scalability - Technology Perspectives •Interactive: users have full control and performing parallel tasks

Capacity & Performance: coping with large and complex designs

Parallel: multithreading, computer clusters, farms and clouds

Elastic: Dynamic verification tasks, grow and shrink on-the-fly

Programmable: API for creating/expanding capabilities

Collaboration: interoperability and sharing results

Page 21: Track c   how do we break - jasper

May 4, 2011 21

Arch and uArch Design

RTL Block Design

RTL Block Verification

Design and IP Leverage

SoC Integration

Protocol Certification

Post-Silicon Debug & Verification Low Power Verification

VerificationData Base

Scalability via Sharing

Page 22: Track c   how do we break - jasper

May 4, 2011 22

Conclusions•Scalability is a multi-dimensional goal and

requires a holistic approach to achieve it

•Scalability from user perspective is a key enabler for making formal key technology to deploy

•With scalability in mind, formal technology has come of age

Page 23: Track c   how do we break - jasper

May 4, 2011 23

Thank You