SoC Level Formal Verification - Test and Verification Solutions

16
1 © 2011, Jasper Design Automation Confidential SoCLevel Formal Verification Verification Conference November 2011 Lawrence Loh VP of Worldwide Applications Engineering Jasper Design Automation, Inc. Interconnect Subsystem Peripherals Processor Subsystem (ARM A-9) Graphics, Video And Audio Subsystem Memory Subsystem Clocks, Timers And Interrupts

Transcript of SoC Level Formal Verification - Test and Verification Solutions

Page 1: SoC Level Formal Verification - Test and Verification Solutions

1 © 2011, Jasper Design Automation Confidential

SoC‐Level Formal Verification

Verification Conference November 2011Lawrence Loh

VP of Worldwide Applications EngineeringJasper Design Automation, Inc.

Inte

rcon

nect

Sub

syst

em

Peripherals

ProcessorSubsystem(ARM A-9)

Graphics,VideoAnd

AudioSubsystem

MemorySubsystem

Clocks,Timers

AndInterrupts

Page 2: SoC Level Formal Verification - Test and Verification Solutions

2 © 2011, Jasper Design Automation Confidential

Formal Verification and SoC‐Level Verification

• Formal verification– Traditionally operates at block level

– Focuses on exhaustive verification of functionalities

– Performed by designers or DV engineers of the particular design

• SoC‐level verification– Performed at subsystem or system level

– Focuses on how blocks work together in the system, rather than the functionality of a particular block

– Performed by system engineers that may not be familiar with the individual components of the system

Page 3: SoC Level Formal Verification - Test and Verification Solutions

3 © 2011, Jasper Design Automation Confidential

Potential Roadblocks for Traditional Formal

• Capacity– Full system may be millions (or 10’s of millions) of gates, which is considered beyond most normal formal capacity

• Setup for verification– SoC‐level verification environment is often very involved and stimuli are generated at a much higher level

• Applicability– Many tasks in system‐level verification may seem unrelated to what traditional formal is achieving

• Expertise

Page 4: SoC Level Formal Verification - Test and Verification Solutions

4 © 2011, Jasper Design Automation Confidential

SoC‐Level Verification – “Scalable” Formal

• Verification planning– What are the components and functionalities that need to be verified above and 

beyond what block‐level verification has done?

– Contract between two or more IPs (blocks) ‐ how to ensure that adjacent IPs work together properly (protocol, functional dependencies, etc.)

– System‐level functionalities such as low‐power schemes, clocking structures

– Potential automation to reduce human error and human time investment

– Mission critical functionalities

• IP comprehension– Key challenge when the integrator is not familiar with the IPs

– Even though verification at this level is black‐box verification, debugging failures requires some understanding of IPs

– Explore potential paths through the system (security, interrupts, etc.)

– Explore power‐up sequence, clock structures, low‐power schemes, latencies

• Automation and verification on selected items

• System‐level debugging, assisting emulation, prototyping

Page 5: SoC Level Formal Verification - Test and Verification Solutions

5 © 2011, Jasper Design Automation Confidential

Example of an SoC

Inte

rcon

nect

sub

syst

em

Peripherals

Processorsubsystem

Graphics,video,and

audiosubsystem

Memorysubsystem

Clocks,low-powercontrollers,interrupts

Connectivity

Securitypath

analysis

CSR verification

Clock and low-power verification

Interface protocol

Page 6: SoC Level Formal Verification - Test and Verification Solutions

6 © 2011, Jasper Design Automation Confidential

Interface Verification• Protocol certification 

– Protocol checker to allow exploration possibilities on the specification

– Ensure full‐compliance, or expose limitations

• Configurations and setup– Automate the connection and setup of environment

– Protocol checker can serve as the setup for other verification tasks

Protocol spec

Comprehend and certify the 

Interface

Design behavior

Verification IP

Page 7: SoC Level Formal Verification - Test and Verification Solutions

7 © 2011, Jasper Design Automation Confidential

SoC Integration Solution – Some Examples

• Automated register verification– Prove data integrity of register fields and reset values

– Ensure non‐accessible register (such as security‐related registers) cannot be accidentally accessed

• Multi‐cycle path verification– Accurately verify multi‐cycle path waivers

• Chip‐level connectivity– Exhaustively verify that RTL matches connectivity definition (spreadsheet, IP‐

XACT, etc.)

• Security path analysis– Verify that security content does not have undesirable path to outputs

– Explore those paths to either rule out the possibility or determine how to block the paths

SoC Integration

Page 8: SoC Level Formal Verification - Test and Verification Solutions

8 © 2011, Jasper Design Automation Confidential

Multi‐Cycle Paths in a Design

clk_in

D

LD

Q

CLK

D

LD

Q

CLK

D

LD

Q

CLK

Adder

+

Multiplier

*

in_a

in_b

ControlFSM

flop_a

flop_b

mul_out

add_out

mux_out

result_out

“1”

Automatically confirm validity of MCP waivers from timing reports and prove them exhaustively

Page 9: SoC Level Formal Verification - Test and Verification Solutions

9 © 2011, Jasper Design Automation Confidential

Chip‐Level Connectivity Checks

Waveformswith the connectivity 

conditions

Waveformswith the connectivity 

conditions

Connectivity proofs(assertions and covers)Connectivity proofs

(assertions and covers)

Connectivity map

condBA

RTLRTL

Top level of SoC

Page 10: SoC Level Formal Verification - Test and Verification Solutions

10 © 2011, Jasper Design Automation Confidential

Security Path Analysis

D

LD

Q

CLK

in_a flop_a

result_out

0

10

1

D Q

CLKTest_mode

Toggling Test_mode accidentally creates a path from in_a to result_out

• Analyze all specified security points and areas

• Find all paths from those areas to SoC outputs• Filter out allowable paths (e.g., through encryption block)• Explore those paths to add further exceptions• Confirm whether paths have been successfully blocked

Page 11: SoC Level Formal Verification - Test and Verification Solutions

11 © 2011, Jasper Design Automation Confidential

Lab Debug Solution

• Failures observed in the lab are difficult to debug– Emulation, rapid prototype, post‐silicon

– Limited visibility

– Failure signature matching

– Reproduce failing scenario in the lab

• Root‐cause isolation– Isolate root‐cause of the bug

• Candidate‐cause elimination– Accurately eliminate false candidate blocks and scenarios

• Validation of fixes before re‐spin– Exhaustively verify that fix does not introduce new bugs

Lab Debug

Page 12: SoC Level Formal Verification - Test and Verification Solutions

12 © 2011, Jasper Design Automation Confidential

Lab Debug Flow

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

violation interrupt?failure_condition

Waveforms automatically generated by the tool w/o testbench

Match data from the lab

Waveforms automatically generated by the tool w/o testbenchWaveforms automatically generated by the tool w/o testbench

Match data from the labMatch data from the lab

Page 13: SoC Level Formal Verification - Test and Verification Solutions

13 © 2011, Jasper Design Automation Confidential

Clock Verification

• Clock routing– Derived and generated clocks

– Clock connections

– Clock sources

• Clock‐glitches verification– Caused by instability of clock‐enable signals during the sampling edge

– Propagation delays and input delays of the combinational logic causes the clock‐enable to have glitches

– Most CDC tools check for structural issues

– Functional checks are difficult with simulation due to the timing delays

– Checking waivers will involve checking that even though the hard CDC rules cannot/are not followed, the clock is glitch‐free

• Additional clock rules– Clock‐enabling/disabling

Page 14: SoC Level Formal Verification - Test and Verification Solutions

14 © 2011, Jasper Design Automation Confidential

Power‐Up/Down Sequence

• Ensure proper power‐down sequence– For each power domain, follow proper sequence – isolation, turn off clock, 

turn off power

– Check for hazards – turn off power before isolation, etc.

• Ensure proper power‐on sequence– Similarly, follow proper sequence – turn on power, turn on clock, remove 

isolation

– Do not start normal operation until full power‐on sequence

• Other aspects of power up/down logic– Performance expectation – how long it takes to power on/off

– Wake‐up interrupting power‐down and vice‐versa

Page 15: SoC Level Formal Verification - Test and Verification Solutions

15 © 2011, Jasper Design Automation Confidential

Overcoming Roadblocks• Capacity

– Full‐chip verification (connectivity, CSR) structurally involves most of the chip

– Functionally, the task can effectively be divide‐and‐conquer but achieve full verification by post‐processing the data

– Each application needs something more specific to address capacity

• Complexity and sequential depth– Path analysis (MCP, security path) and lab debug are not only complex but 

usually takes many cycles

– Using intermediate information (intermediate points for path, potential intermediate events) to optimize formal algorithm and under‐the‐hood abstractions

• Setup and applicability– Automation allows reuse on subsequent SoC, or ongoing regression

– Replacing items on testplan

– “Hide” formal so that users do not need to be experts in formal

Page 16: SoC Level Formal Verification - Test and Verification Solutions

16 © 2011, Jasper Design Automation Confidential

Formal as Part of SoC Verification Flow

• Targeting specific areas– Identify challenging areas even though it is not a traditional formal application

– Mission‐critical functions that are worth the time and effort

• Potential quality and productivity gain– Areas with no good solution

– Areas where solution can be better and faster – automation, exhaustive nature of formal, saving human time investment

• Challenge us to come up with the technology and methodology– Good applications stir good technological innovations

– Combination of methodology and technology

– Often targeted technology enhancement is possible for specific application