Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita...

24
Assertion-based Verification for the SpaceCAKE Multiprocessor – A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore

Transcript of Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita...

Page 1: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Assertion-based Verification for the SpaceCAKE Multiprocessor – A Case Study

Milind KulkarniBenita Bommi JPhilips Research India - Bangalore

Page 2: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 2

OutlineOutline

• Motivation• Design Overview• Verification Approaches• Assertion based Approach

• Assertion-based Static Verification• Assertion-based Dynamic Verification

• Test setup• Results/Observations• Conclusion

Page 3: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 3

MotivationMotivation

ConceptHighLevel

Design

Logical BlockDesign

Verification and DebugPhys

DesignTape-

out

0% 20% 85% 100%

• Complex multiprocessor design– Distributed Control

• Many design refinements– Feature additions/change requests– Synthesis targets

• Small design and verification teams– Maximize ROI

Page 4: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 4

Design OverviewDesign Overview

• Distributed Shared Memory Architecture

• L1 and L2 cache coherency• Sequential Consistency• Shared resource reservation

framework• Software controlled cache

operations and debug functionality• Multiple outstanding requests with

out-of-order processing

TILE TILE TILE

TILE TILE TILE

Page 5: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 5

Design Overview (Design Overview (contdcontd…)…)

Fig: SpaceCAKE Tile

Interconnection network with snooping bus

CPU CPU CPU CPU MEM MEM MEM

MEM MEM MEM

ROUTER

SPF SPF SPF SPF

Links to neighboring

tiles

Links to neighboring

tiles

Page 6: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 6

Memory consistency and coherency issues

Coherency:“Reads return the latest written value on same address.”

Consistency:“Observe proper ordering between different addresses.”

B=A;//B should be 1

T=1

A=1;T=0

CPU2CPU1

while (!F);F=1;T=3

D=1;T=2

F=0; // flagT=1

D=0; //dataT=0

C=D;// C should be 1

CPU2CPU1

Not easy:CPU rd/wr ops are not atomic. SoCs have no global unique time.

Not easy:CPU rd/wr ops are not atomic. SoCs have no global unique time.

Not easy:Different addresses can map to different locations in the architecture, with different access delays.

Not easy:Different addresses can map to different locations in the architecture, with different access delays.

Page 7: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 7

Problem DescriptionProblem Description

• Architecture Complexity• Complex SoC with high degree of configurability• Two levels of cache• Complex cache coherence protocols• High degree of concurrency• Integrated Intellectual Property• Distributed Shared Memory

• Dilemma• Module-level verification - time consuming• Top-level verification - hidden bugs

Identify and implement proficient verification techniques to verify complex SpaceCAKE design

Page 8: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 8

Verification MethodologyVerification Methodology

• Identify verification hot – spots• Introduce assertion - based verification• Verify the design through the use of dynamic verification• Simulate the design using different configurations• Use functional coverage and code coverage metrics• Improvise tests to get better coverage • Verify the design statically

• Sub-modules with queues, pipelines, smaller FSMs

Page 9: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 9

Identifying Hot SpotsIdentifying Hot Spots

• Hot spots in design structures• Queues – storing transactions• Buffers – data storage for out-of-order response• Memories – shared L2 cache• Arbiters – access to shared resources (L2, datapath)• FSMs – distributed controllers• Pipelines – overlapping computations with data transfers

• Hot spots in interface protocols• Standard interface standards (AXI and MTL)

• Also used between modules for data transfer• Stable over the design cycle

Page 10: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 10

Identifying Hot Spots (Identifying Hot Spots (ContdContd…)…)

• Hot spots in interfaces between modules• Specific defined handshake protocol and signal definitions• Combinatorial paths for inter-module status updates

• Hot spots in protocols and policies specific to the design• Sequential Consistency• Memory coherency• Out-of-order processing• Various system configurations

• 2x2 Tiles with Tile[0,0] and Tile[0,1] having shared memory configuration and allocate-write L2 caching policy and …..

• Software driven cache operations

Page 11: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 11

Assertion TypesAssertion Types

• Assumptions • Not supported features • No X’s on signal group upon valid “High”• Input/response for wrong transaction• Unexpected input being in particular state• Response time window• Reveal integration issues

• Constraints• Valid signal values• Handshake mechanisms• Useful for static verification

Page 12: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 12

Assertion Types (Assertion Types (ContdContd…)…)

• Coverage• Test coverage• Stress effectiveness• Effects of different configuration

• Functional• Self checking tests• Design specific functionality checks e.g. priority queue, random

victimization, reservations

• Implementation• Assertions implemented as either in OVL or PSL

Page 13: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 13

Static Verification of AssertionsStatic Verification of Assertions

• Features• Cadence staticverilog tool was used for static verification• No requirement to generate testbenches• Applied to sub-modules with smaller FSMs, queues and pipelines• 10% assertions completely verified to hold

• Drawbacks• Lack of support for verilog 2001 constructs which were used in the

design• Lot of effort to constrain the inputs

Page 14: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 14

Test Setup for Dynamic VerificationTest Setup for Dynamic Verification

Test Generator Reference Memory

Interconnect network

BFM

Memory

BFM BFM

Page 15: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 15

Test setup (Sequential Consistency) Test setup (Sequential Consistency)

Test Generator Reference Memory

Interconnect network

BFM

Memory

BFM BFM

A[0] = 0

A[1] = 0

;;

A[n] = 0

A[0] = 1

A[1] = 1

;;

A[n] = 1

Flag = 1

while(!flag);assert(A[n]);

while(!flag);assert(A[0]);

Page 16: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 16

Test setup (Memory Coherency) Test setup (Memory Coherency)

Test Generator Reference Memory

Interconnect network

BFM

Memory

BFM BFM

A = 0x_F

assert(A==0xFF);

A = 0xF_

Page 17: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 17

Test setup (L2 Cache) Test setup (L2 Cache)

Test Generator Reference Memory

Interconnect network

BFM

Memory

BFM BFM

*(0x0) = 1

read(0x2000)

*(0x1000) = 1

Page 18: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 18

Test setup (Constraining Design) Test setup (Constraining Design)

Test Generator Reference Memory

Interconnect network

BFM

Memory

BFM BFM

*(0x0) = 1

read(0x2000)

*(0x1000) = 1

Page 19: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 19

Pros and Cons of Assertion Based ApproachPros and Cons of Assertion Based Approach

• Advantages• Facilitate explicit design specification• Supplement traditional verification• Capture design intent• Enhanced visibility• Provide multifaceted approach

• Disadvantages• Inconsistent design specifications and frequent design changes• False trigger of timing assertions e.g. detecting deadlocks• Different global level scenarios are not foreseen and hence assertions

cannot be written beforehand• Verification engineer cannot be sure that the test has triggered different

scenarios/deadlocks• Today’s bug is tomorrow’s assertion

• Simulation time overhead

Fig: Assertions used as focal point

Page 20: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 20

Results/ObservationsResults/Observations

• Increase in bug detection rate bugs - high visibility

• Different assertions useful at different phases in the design cycle.

• Remarkable reduction in debug time - upto 50%

• Increased scope to catch unexpected bugs – previously successful tests triggered assertions !!!– Transparent address translations– Speculative reads– Not enough stress created by the

test

Average Debug Time

0

2

4

6

Tim

e (h

ours

)

Without Assertions With Assertions

Page 21: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 21

Results/Observations (Results/Observations (ContdContd…)…)

• Minimal time overhead - 6% increase in simulation time– ~150 PSL + OVL assertions

• Density of assertions should be kept in check

• Increase concentration at the hot-spots

• 10% of assertions verified using static checking

• Increased overhead using static assertions

Time Overhead

211 225

2400

0

500

1000

1500

2000

2500

3000

Tim

e (s

ec)

Without Assertions With assertions With Static Checking

Page 22: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 22

Results/Observations (Results/Observations (ContdContd…)…)

• 62% functional coverage• 95% code coverage for DSM

functionality• High code coverage with

average functional coverage-indicates that code coverage cannot be relied upon totally

Comparison of Coverage Metrics

95

62

0

20

40

60

80

100

Per

cent

age

of C

over

age

Code Coverage Functional Coverage

Page 23: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference

Milind Kulkarni, IBM Verification Conference 2005, 13 November 2005 23

ConclusionsConclusions

• Assertions enhance design visibility• Assertion-based coverage driven technique is a cohesive, efficient

methodology• Decrease in verification time and effort• Moving verification to the functional level, by focusing on protocol

monitors,verification hot - spots and coverage metrics proved to be effective in verifying the SpaceCAKE design

• More matured static verification tools from EDA companies is very much needed

Page 24: Assertion-based Verification for the SpaceCAKE Multiprocessor– A Case Study Milind Kulkarni Benita Bommi J Philips Research India - Bangalore. Milind Kulkarni, IBM Verification Conference