ARM Based SOC Design and Verification - TVS | Test and

21
1 7 July 2008 Test and Verification Solutions ARM Based SOC Design and Verification

Transcript of ARM Based SOC Design and Verification - TVS | Test and

Page 1: ARM Based SOC Design and Verification - TVS | Test and

1 7 July 2008

Test and Verification Solutions

ARM Based SOC Design and Verification

Page 2: ARM Based SOC Design and Verification - TVS | Test and

2 14 March

2013

2 7 July 2008

Agenda

• System Verification Challenges

• ARM SoC DV Methodology

• ARM SoC Test bench Construction

• Conclusion

• Q&A

Page 3: ARM Based SOC Design and Verification - TVS | Test and

3 14 March

2013

3 7 July 2008

System Verification Challenges

High Potential Bug Areas in SoC

Unexpected access conflict between the shared resources.

Complexities arising out of interaction between subsystems

which were verified stand alone.

Cache coherency in multi-core system.

Interrupt connectivity and Priority scheme.

Arbitration priority related issues and access dead-locks.

Unexpected HW/SW sequencing.

Exception handling conflicts and priority scheme.

Multiple power domain region, clock domain crossing.

Multiple reset and clock region.

Page 4: ARM Based SOC Design and Verification - TVS | Test and

4 14 March

2013

4 7 July 2008

ARM Based SoC Architecture

ARM Core

ARM Interconnect

TIMER

PLL

Boot Config

ARM Boot ROM

Debug & Trace

DMAController

Memory SubSystem

External Bus Interface

High Speed

Pheripheral

Bridge UART

I2C

GPIO

Low Speed Pheripheral

Test I/F Controller

On Chip Memory

DDR Cntrl SRAM Cntrl

Page 5: ARM Based SOC Design and Verification - TVS | Test and

5 14 March

2013

5 7 July 2008

ARM SoC DV Methodology

This session describe the current verification methodology

used in SoC verification.

Formal Verification

Hardware Software Co Verification

FPGA Prototyping

Page 6: ARM Based SOC Design and Verification - TVS | Test and

6 14 March

2013

6 7 July 2008

Formal Verification

Formal verification is a systematic process that uses

mathematical reasoning to verify the design.

Formal verification works algorithmically and

exhaustively explores all possible input values over

time.

It is sometimes difficult to figure out how stimulate the

design or create multiple scenarios to high

observability to do that formal will come into the

picture.

Page 7: ARM Based SOC Design and Verification - TVS | Test and

7 14 March

2013

7 7 July 2008

Formal Verification

• Typical Formal Verification Flow-1

ARM Core

ARM Interconnect(PL301)

IP IP

Page 8: ARM Based SOC Design and Verification - TVS | Test and

8 14 March

2013

8 7 July 2008

Formal Verification

• Typical Formal Verification Flow -2

ARM Core

ARM Interconnect(PL301)

IP

Master side Port

binding

Slave side Port binding

Model

Checking

engine

Score

Board

Page 9: ARM Based SOC Design and Verification - TVS | Test and

9 14 March

2013

9 7 July 2008

Formal Verification

• Below is the technique to verify the AXI interface

using formal verification tools

– Construct the CSV file to describing the registers.

– Runs the conversation script to generate the SVAs.

– Bind the proof kit to DUT, run the tools to read DUT and

SVAs.

– Prove and Analyse the tool results and logs.

Page 10: ARM Based SOC Design and Verification - TVS | Test and

10 14 March

2013

10 7 July 2008

Formal Verification

Property Check

• Develop a formal specification of the AXI protocol.

Various kinds of components

>1 Masters

Slave(s)

Example:-

property (@(posedge ACLK) disable iff (!ARESETn)

(ARVALID) |=>##n ( RVALID);

End property;

Page 11: ARM Based SOC Design and Verification - TVS | Test and

11 14 March

2013

11 7 July 2008

Formal Verification

• Example: Connectivity/Integrity check

connect {clk_in} "CORTEX.CLK" \

connect {clk_out} "SOC.CLK" \

… …

… …

… …

connect {valid_in} "CORTEX.AWVALID &&

CORTEX.AWREADY“ \

connect {valid_out} "SOC.AWVALID &&

SOC.AWREADY"

Page 12: ARM Based SOC Design and Verification - TVS | Test and

12 14 March

2013

12 7 July 2008

Formal Verification

Limitations of Formal

Size limit

Not always feasible

Good for control checking but not for data

Page 13: ARM Based SOC Design and Verification - TVS | Test and

13 14 March

2013

13 7 July 2008

Hardware Software Co Verification

In SoC verification, co-simulation provide the facility to

verifying hardware and software functionality together.

The ability to achieve first silicon and first software

success relies on the capabilities of a verification

environment to support full-system hardware/software co-

verification.

Software engineer to access hardware design to integrate

software functionality with hardware.

Hardware engineer by providing additional stimulus.

Page 14: ARM Based SOC Design and Verification - TVS | Test and

14 14 March

2013

14 7 July 2008

Hardware Software Co-Verification Flow

SW Tools

(Compiler, Linker,

Debugger)

Software Environment Hardware Environment

Executable Object

file DUT

HDL Simulation

Tools

Memory Model

Output for debugger

tools

Page 15: ARM Based SOC Design and Verification - TVS | Test and

15 14 March

2013

15 7 July 2008

FPGA Prototyping

It allows faster simulation and close to real time operation

performance which would help in identifying bugs.

Comprehensive Verification, Integrated hardware-software

testing.

Provides rapid debug capability through JTAG and

specialized debug infrastructure which is built in to the

FPGA.

Page 16: ARM Based SOC Design and Verification - TVS | Test and

16 14 March

2013

16 7 July 2008

FPGA Prototyping

• Microprocessor evaluation board with logic simulation

Microprocessor

evaluation board

BF

M

Logic Simulation

With Hardware

Design

Inter-Processor

Communication

(socket)

Bus Transaction

read/write

Page 17: ARM Based SOC Design and Verification - TVS | Test and

17 14 March

2013

17 7 July 2008

FPGA Prototyping Limitations

•Many FPGAs are required for SoC partitioning, leading to prototype

system complexity

•Only synthesizable modules can be mapped into an FPGA and run for

debugging.

•Unable to partition multiple clocks and reset trees.

•FPGA provides limited debug capability and visibility during single

iteration and hence multiple iterations may be required to narrow down to

the specific bug.

Page 18: ARM Based SOC Design and Verification - TVS | Test and

18 14 March

2013

18 7 July 2008

ARM SoC Test Bench Construction

• The system verification environment planned in a way

such that it is able to classify the functionality in terms of

active and passive components

Resets

clocks

other Pins

Emulation Pins

SoC Verification Env

DUT

TB configuration

ARMCore

ARMCore

ARMCore

Active BFMActive BFMActive BFM

Active BFMActive BFMPassive BFM

TB

Page 19: ARM Based SOC Design and Verification - TVS | Test and

19 14 March

2013

19 7 July 2008

Active component

An active component can be synthesizable or behavioral,

typically modeling functionalities required for supporting

the DUT. Active component can interact with DUT and

influences behavior of DUT.

Passive component

Passive components are observers in Test bench which

does not influence DUT behavior. Passive component are

usually behavioral model, extracting information and

validating the correctness of design behavior.

Page 20: ARM Based SOC Design and Verification - TVS | Test and

20 14 March

2013

20 7 July 2008

Conclusion

As with the growing complexity of SoC designs,

verification strategies should evolve and mature

enough to handle the complex challenges of identifying

bugs and functional issue. A robust verification

environment planning which starts as early as the

design phase coupled with thoughtful usage of latest

tools and verification technologies, which help in

achieving the desired quality objective.

Page 21: ARM Based SOC Design and Verification - TVS | Test and

21 14 March

2013

21 7 July 2008

Q&A

Q&A