+ All Categories
Home > Documents > Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ......

Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ......

Date post: 21-May-2018
Category:
Upload: hadan
View: 219 times
Download: 1 times
Share this document with a friend
51
Test and Verification Solutions Verifying HW/SW Integration Delivering Tailored Solutions for Hardware Verification and Software Testing
Transcript
Page 1: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Test and Verification Solutions

Verifying HW/SW Integration

Delivering Tailored Solutions for

Hardware Verification and Software Testing

Page 2: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 2

Why do things break?

Design Process

Systematic Errors

All Devices

Minimize!

Physical Effects

Random Errors

Individual Devices

Safeguard!

Systematic Errors

• Machine Errors – Synthesis bugs, ..

• Human Errors – Implementation bugs (protocol errors…)

– Design bugs (broken features, ..)

Random Errors

• Hard Errors – Latch-ups, burnouts (stuck-at

faults)

• Soft Errors – Transients (glitches, bit-flips)

Page 3: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 3

System Development Process

System Development Process

ARP-4754/ED-79

DO-178C/ED-12C

DO-254/ED80

Software Development Process

Hardware Development Process

SAFETY A

SSESSMEN

T PR

OC

ESS

AR

P 4

76

1 / E

D- 1

35

Page 4: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 4

Flow Between System & Software Life Cycle Process

A:

System Requirement allocated to SW

System Safety Objectives

Software Levels

System Description and Hardware

Definition

Design Constraints

Definition of System Verification

Activities to be performed by SW

Process

Definition and Evidence of any

Software Verification Activities

performed by System Process

Evidence of Acceptability of data

B:

Description of Software Architecture

Evidence of any system Verification

Activities Performed

Any Limitation to use

Configuration Identification Data

Data to Facilitate Integration

Software Verification Activities to be

performed by System Processes

C:

HW/SW Integration Requirements

Coordination and Feedback

Identified HW/SW Incompatibilities

D:

Information Flow Between System

and Hardware Life Cycle Processes

Page 5: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 5

System Development Process

Software Integration Verification

Hardware Integration Verification

Hardware/Software Integration Verification

Page 6: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 6

System Development Process

Software Integration Verification

Hardware Integration Verification

Hardware/Software Integration Verification

• Formal interface specifications

• Integration of behaviors

• Multi-threaded software

• Interface assertions

• Security concerns

• Hardware/Software co-

simulation

Page 7: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 7

System Development Process

Software Integration Verification

Hardware Integration Verification

Hardware/Software Integration Verification

• Formal interface specifications

• Integration of behaviors

• Multi-threaded software

• Interface assertions

• Security concerns

• Hardware/Software co-

simulation

Page 8: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 8

Formal Specification Examples

Can clearly identify interface conditions

• Identify tests

• Identify interface assertions

Page 9: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 9

Formal Specification Examples

Page 10: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 10

System Development Process

Software Integration Verification

Hardware Integration Verification

Hardware/Software Integration Verification

• Formal interface specifications

• Integration of behaviors

• Multi-threaded software

• Interface assertions

• Security concerns

• Hardware/Software co-

simulation

Page 11: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 11

Traditional view of software integration

Page 12: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 12

The Pyramid of Proof

Integration of Pre-tested

Components

Page 13: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 13

Integration of behaviors in cyber

physical systems

Cyber-Physical Systems (CPS) are integrations of computation, networking, and physical processes.

Embedded computers and networks monitor and control the physical processes, with feedback loops where physical processes affect computations and vice versa.

Verification Challenges • Large input space

• They may also have some self-learning aspects but this is not a necessity

• Integration of multiple behaviours

Page 14: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 14

What are cyber physical systems?

Cyber-Physical Systems (CPS) are integrations of computation, networking, and physical processes.

Embedded computers and networks monitor and control the physical processes, with feedback loops where physical processes affect computations and vice versa.

They may also have some self-learning aspects but this is not a necessity

Page 15: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 15

Examples of Cyber Physical Systems

Autonomous and off-board systems • Unmanned Surface Vehicle

steers its way from A to B

• Potentially towing a payload

• Steering clear of obstacles and collaborating with Unmanned Underwater Vehicles

• Communicating via a central operations centre

• Multiple goal driven behaviours

Verify behaviours individually

Verify integration of behaviours

Page 16: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

16

NOT PROTECTIVELY MARKED

THALES GROUP INTERNAL

This

do

cu

me

nt

ma

y n

ot

be

re

pro

du

ce

d, m

od

ifie

d,

ad

ap

ted

, p

ub

lish

ed

, tr

an

sla

ted

, in

an

y w

ay, in

wh

ole

or

in p

art

or

dis

clo

sed

to

a t

hird

pa

rty

with

ou

t th

e p

rior

writt

en

co

nse

nt

of

Tha

les

- ©

Th

ale

s 2

01

5 A

ll rig

hts

re

serv

ed

.

MarCE Task 2.026 Overview

Thales UK

Maritime Autonomy Framework – Open Architecture

▌ An open architecture that supports:

Multi-system goal based planning

Autonomous task decomposition &

management

Vehicle & sensor level autonomy

The integration of technology from

multiple providers in a coherent and

structured manner

Page 17: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 17

Examples of Cyber Physical Systems

Autonomous Vehicles

Must • Get from A to B

• With minimal time and fuel

• SAFELY!

Page 18: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 18

The V&V Challenge

Cyber Physical Systems introduce a complex software testing challenge • A large input space

• Difficulty predicting expected response

Hardware faced a similar problem 20 years ago • Over the past 20 years a number of “Advanced Hardware

Verification Techniques” (AHVT) have been introduced

• To automate test generation and response checking

Can this be done within a safety framework?

Page 19: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 19

Advanced Hardware Verification Techniques

Constrained

Random

Input

Software

Under

Test

Checker

Coverage

Active

Passive

Monitor

Formal

Model

Software

Requirements Test Plan Test Results

Doors, etc

Page 20: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 20

Results of Bubble Sort “Proof of Concept”

Software

Under Test Lists

Checkers

List

Generator

Coverage

Metrics

Lists of

• Integers

• Floats

• Ascii

• etc

Constrain towards

• Empty lists

• Equal values

• Reverse ordering

• Check output list is ordered

• Output list contents == input list contents

• Empty List

• Reverse ordered

• Error cases (mix integers, floats, ascii

• etc

Page 21: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 21

Example Constrained Random Inputs

Mimic sensor input data

Need to constrain those inputs • Only the legal space

• Hit the corner cases

Example scenarios • Valid ranges for data

• Relationships between inputs

• Next input within certain “distance” to prior input

Page 22: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 22

Functional Coverage

Requirements coverage “Cross-product” coverage

Situation coverage [R Alexander et al. Situation

coverage – a coverage criterion

for testing autonomous robots.

University of York, 2015] 22

[O Lachish, E Marcus, S Ur and A Ziv. Hole Analysis for Functional Coverage Data. Design Automation Conference (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

A cross-product coverage model is composed of the following parts:

1. A semantic description of the model (story)

2. A list of the attributes mentioned in the story

3. A set of all the possible values for each attribute (the attribute value domains)

4. A list of restrictions on the legal combinations in the cross-product of attribute values

A functional coverage space is defined as the Cartesian product

over the attribute value domains.

From Kerstin Eder of the University of Bristol

Page 23: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 23

Example Checkers

Do not accelerate too fast • Assert that output to motor is not too high

“always respond correctly” • If A&B&C occur then check X happens

• Assertion coverage “check A&B&C occurs” for free

Always safe • Do not get too close to other objects

• Requires some level of modelling

Minimise resources

Page 24: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 24

System Development Process

Software Integration Verification

Hardware Integration Verification

Hardware/Software Integration Verification

• Formal interface specifications

• Integration of behaviors

• Multi-threaded software

• Interface assertions

• Security concerns

• Hardware/Software co-

simulation

Page 25: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 25

Multi-threaded software

From sequential to parallel

Execution of a sequential program only depends on the starting state and its inputs.

Execution of parallel programs also depends on the interactions between them.

Shared Memory:

Communication is based on

altering the contents of shared

memory locations (Java).

Usually requires the application

of some form of locking (e.g.,

mutexes, semaphores, or

monitors) to coordinate

between threads.

Message Passing:

Communication is based on

exchanging messages (occam,

XC).

The exchange of messages

may be carried out

asynchronously, or

synchronously, i.e. the sender

blocks until the message is

received.

Page 26: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 26

Many Potential Execution Orders

20

30

40

50

60 51

61 52

62

05

15

25

00

10

03

04

14

24

34

35

45

55

65

01

11 02

12

13

21

31

41

42

32

22

23

33

43

53 44

54 63

64

P1 P2

e11

e12

e13 e2

3

e22

e21

e24

e14

e25

e15

e16

00

10

03

04

14

24

34

35

45

55

65

01

11 02

12

13

21

31

41

42

32

22

23

33

43

53 44

54 63

64

00

03

04

14

24

34

35

45

55

65

01

02

00

10

65

11

21

31

41

42

43

53

63

64

05

15

25

20

30

40

50

60 51

61 52

62

7 states 6 states 30 states

Page 27: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 27

The problems with distributed processing

Non-determinism

Non-determinism • We cannot guarantee the order of execution

• And this can lead to race conditions

Code running on

core1

Shared Memory

Code running on

core2

Page 28: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 28

static int num = 0;

thread1 () {

int val = num;

num = val + 1;

}

thread2 () {

int val = num;

num = val + 1;

}

Race Condition Examples

So why don’t we just use “num++”?

Page 29: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 29

Another example

static void transfer(Transfer t) { balances[t.fundFrom] -= t.amount; balances[t.fundTo] += t.amount;

} Expected Behavior:

• Money should pass from one account to another

Observed Behavior: • Sometimes the amount taken is not equal to the amount received

Possible bug: • Thread switch in the middle of money transfers • Second thread updates “Transfer” or “balances” in parallel

So what are the solutions?

• Locks and mutual exclusion

Remember these are

NOT atomic actions

Page 30: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 30

The use of locks

class mutex{ mutex() {//gettheappropriatemutex}

~mutex() {//release it }

private: sometype mHandle;

}

voidfoo() { mutex get; //getthemutex

if(a) return; //released here

if(b) throw“oops”; //or here

return; //or here

Must remember to

release the “mutex”!

But there are so many

possible “exits” from the code

Locks can cause bugs – especially DEADLOCK!

Page 31: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 31

Example deadlock

Code for Process P Code for Process Q

Lock(M) Lock(N)

Lock(N) Lock(M)

Critical Section Critical Section

Unlock(N) Unlock(M)

Unlock(M) Unlock(N)

Page 32: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 32

Cause of deadlock

1. Tasks claim exclusive control of the resources they require ("mutual exclusion“ condition).

2. Tasks hold resources already allocated to them while waiting for additional resources ("wait for" condition).

3. Resources cannot be forcibly removed from the tasks holding them until the resources are used to completion ("no preemption" condition).

4. A circular chain of tasks exists, such that each task holds one or more resources that are being requested by the next task in the chain ("circular wait“ condition).

Page 33: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 33

Commonly found bugs

An operation is assumed to be atomic but it is actually not.

Wrong or no lock

Message protocol errors • Mismatch between channel ends

• Missing send or receive

Orphaned threads due to abnormally terminating master thread

Catching these bugs is challenging

Page 34: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 34

Finding bugs in parallel SW

Research shows that bugs due to parallel code execution represent only ~10% of the bugs

But they are the hardest to find • If we run the same test twice it is not guaranteed to produce the same result (non-

determinism)

• Heisenbug

A disproportionate number are found late or by the customer • Require large configurations to test

• Typically appear only in specific configurations

• These bugs are the most expensive!

We need to have some ways of disturbing the execution

We need to know when we are done

Page 35: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 35

Heisenbugs

A bug that disappears or alters its behavior when one attempts to probe or isolate it

Why? • Using a debugger alters the execution order and the bug disappears

• Even adding a print statement changes behaviour!

For example • Uninitialised variable in a sequential program

• In C, 9 out of 10 Heisenbugs are from uninitialized auto variables

• In parallel programs

• Race conditions and deadlocks are both examples

How much time do you currently spend in debug?

Page 36: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 36

Disturbing the execution

Philosophy Modify the program so it is more likely to exhibit bugs (without

introducing new bugs – no false alarms)

Minimize impact on the testing process (under-the-hood technology)

Reuse existing tests

Techniques to instrument concurrent events Concurrent events are the events whose order determines the result of

the program, such as accesses to shared variables, calls to synchronization primitives

At every concurrent event, a random-based decision is made whether to cause a context switch – noise injection • e.g., using a sleep statement

Page 37: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 37

New coverage models

For shared memory: • Synchronization coverage • Make sure that every synchronization primitive was fully exercised

• Shared variable coverage • Make sure shared variables were accessed by more than one thread

• ConTest from IBM implements these coverage models

For message passing: • Communication coverage for multi-threaded message passing

programs

Page 38: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 38

New Coverage Model [Kyriakos Georgiou, K. Eder, TVS, XMOS]

Criterion 7

IOB SYN-sequence

Criterion 6

SYN-sequence

Criterion 3

snd-sequence

Criterion 5

IO SYN-event

Criterion 2

rcv-statement

Criterion 1

Channel

Criterion 4

SYN-event

Captures communication infrastructure in a message-passing program Fully automatic extraction of coverage tasks up to SYN-events

User input required for SYN-sequences (tool support, semantics)

Complements existing code and functional coverage models

Added value in practice Bugs can be captured before even running test cases on the code

SYN-sequences permit testing protocol compliance

Page 39: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 39

System Development Process

Software Integration Verification

Hardware Integration Verification

Hardware/Software Integration Verification

• Formal interface specifications

• Integration of behaviors

• Multi-threaded software

• Interface assertions

• Security concerns

• Hardware/Software co-

simulation

Page 40: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 40

Inputs to Formal

3 inputs to the tool • A model of the design

• A property or set of properties representing the requirements

• A set of assumptions, expressed in the same language as the properties

• typically constraints on the inputs to the design

• For example – Usually RTL

– Items are transmitted to one of three destinations within 2 cycles of being accepted

• (req_in && gnt_in) |-> ##[1;2] (rec_a || rec_b || rec_c)

– The request signal is stable until it is granted

• (req_in && !gnt_out) |-> ##1 req_in

• We would of course need a complete set of constraints

Page 41: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 41

Simulation Depth-first vs. Formal Breadth-first

Where the nodes are states in the simulation

And the arcs are clocked transitions

But the trees are – Very wide

– Very deep

Page 42: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 42

Formal Verification – terms of reference

Model Checking • Requirements of a design are expressed in a formal

mathematical language

• Tools are used to analyze whether there is a way that a model of the design fails to satisfy the requirements

Not covered here • Equivalence Checking

• Tools are used to analyze whether one model of a design is a “correct” implementation of another

• Formal modelling and proofs

Currently mainly RTL-Gates, Gates-Gates

Checking of sequential retiming possible

But SystemC to RTL is appearing

Page 43: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 43

Model Checking – Outputs from the tools

Proved • the property holds for all valid sequences of inputs

Failed(n) • there is at least one valid sequence of inputs of length n cycles, as

defined by the design clock, for which the property does not hold.

• In this case, the tool gives a waveform demonstrating the failure.

• Most algorithms ensure that n is as small as possible, but some more advanced algorithms don’t.

Explored(n) • there is no way to make the property fail with an input sequence of n

cycles or less

• For large designs, the algorithm can be expensive in both time and memory and may not terminate

Page 44: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright T&VS Limited | Private & Confidential | Page 44

System Development Process

Software Integration Verification

Hardware Integration Verification

Hardware/Software Integration Verification

• Formal interface specifications

• Integration of behaviors

• Multi-threaded software

• Interface assertions

• Security concerns

• Hardware/Software co-

simulation

Page 45: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright TVS Limited | Private & Confidential | Page 45

Security verification across HW interfaces

Hardware Block

Input Output

Untrusted

(Wireless

Radio)

Critical

(Insulin pump)

Tortuga Logic Confidential and Proprietary

Page 46: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright TVS Limited | Private & Confidential | Page 46

Hardware Block

Input Output

Secret

(HW Key)

Untrusted

(Unknown IP)

Security verification across HW interfaces

Tortuga Logic Confidential and Proprietary

Page 47: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright TVS Limited | Private & Confidential | Page 47

Secure Data over Packet Channel

Key

Match Next

Candidate

Data

Channels

Cached

Key

Cand-

idate

Match

Comp-

arator

Data

Channels

RED = secure

Green = non-secure

Blue = mixed

Key

Memory

Packet

Encoder

FIFO

Packet

Router

PID0

PID1

PID2

PID3

PID0

PID1

PID3

PID2

Crypt Key’

Key

• No direct association between signal name and

secure / non-secure!

There’s a control / temporal component also.

• Secure Formal does not help in analyzing strength of

Cryptography blocks.

Page 48: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright TVS Limited | Private & Confidential | Page 48

Data Leakage

• Identify secure signals [sources] we are concerned about (typically not many)

• [Auto] identify all the places it might be able to reach (typically hundreds or

thousands – ALL the outputs, or top level signals of the block)

• Confirm that signal can ONLY reach the places it’s supposed to, and not anyplace

where the bad guys could steal it.

• No way to directly specify this in SVA!

Key

Match Next

Candidate

Data

Channels

Cache

d

Key

Cand-

idate

Match

Comp-

arator

Data

Channels

Key

Memory

Packet

Encoder

FIFO

Packet

Router

PID0

PID1

PID2

PID3

PID0

PID1

PID3

PID2

Crypt Key’

Key

? ? ?

? ?

?

?

?

?

?

Page 49: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright TVS Limited | Private & Confidential | Page 49

System Development Process

Software Integration Verification

Hardware Integration Verification

Hardware/Software Integration Verification

• Formal interface specifications

• Integration of behaviors

• Multi-threaded software

• Interface assertions

• Security concerns

• Hardware/Software co-

simulation

Page 50: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright TVS Limited | Private & Confidential | Page 50

Hardware Software Co-Verification

RTL Simulation

Driver

Test Application

Hardware

Driver

Application

DPI

Page 51: Verifying HW/SW Integration - T&VS HW/SW Integration ... faults) • Soft Errors – Transients ... (DAC), June 10-14, 2002, New Orleans, Louisiana, USA.]

Copyright TVS Limited | Private & Confidential | Page 51

Hardware Software Co-Verification

RTL

Simulation

Driver

Test

Application

Test

bench

Driver

Test

Application

DPI

90% of

code to

cover error

conditions

DPI

Test DPI

RTL Inject

error

conditions


Recommended