formal analysis of the ace specification for cache...

29
Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip Abderahman KRIOUILE PhD student, STMicroelectronics Inria Rhône-Alpes LIG Wendelin SERWE Research scientist, Inria Rhône-Alpes LIG Acknowledgements. Radu MATEESCU (Inria) & Massimo ZENDRI (STMicroelectronics) for their contribution and collaboration. FMICS’2013 Madrid, Spain, 23-24/09/2013

Upload: others

Post on 29-Aug-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Formal Analysis of the ACE Specification

for Cache Coherent Systems-On-Chip

Abderahman KRIOUILE PhD student, STMicroelectronics – Inria Rhône-Alpes – LIG

Wendelin SERWE Research scientist, Inria Rhône-Alpes – LIG

Acknowledgements. Radu MATEESCU (Inria) & Massimo ZENDRI (STMicroelectronics) for their contribution and collaboration.

FMICS’2013 Madrid, Spain, 23-24/09/2013

Page 2: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Agenda

• Introduction: STMicroelectronics

• Motivation

• ACE specification

• Formally modeling an ACE-compliant SoC with CADP

• Validation work

• Conclusion & On-going work

2

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 3: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

• A global semiconductor leader

• The largest European semiconductor company

• 2012 revenues of $8.49B(1)

• Approx. 48,000 employees worldwide(1)

• Approx. 11,500(1) people working in R&D

• 12 manufacturing sites

• Listed on New York Stock Exchange, Euronext Paris and Borsa Italiana, Milano

Who we are 3

(1) Including ST-Ericsson, a 50:50 joint venture with Ericsson

Page 4: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Flexible and Independent Manufacturing 4

Front-End

Back-End

Morocco

France

(Crolles, Rousset, Tours)

Italy

(Agrate, Catania)

Malaysia

Singapore

Philippines

China

(Shenzhen

/ Longgang)

Malta

Page 5: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

A stronger, more focused product portfolio 5

• General Purpose MCUs and Secure MCUs

• Application Processors and Digital Consumer products

• Imaging ICs and Modules

• Digital ASICs

Sense & Power

and Automotive

Products

• MEMS and Sensors

• Power Discrete and Modules

• Advanced Analog, Power Management

and Standard ICs

• Automotive products

Embedded

Processing

Solutions

Page 6: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Heterogeneous System-on-Chip 6

26/09/2013

• Need for System-Level Cache Coherency

• ARM proposed ACE specification: standard for system level cache coherency

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 7: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

• ACE (AXI Coherency Extension): more than 300 pages

specification

• http://infocenter.arm.com/help/topic/com.arm.doc.ihi0022e

• ACE: a hardware support for System-Level Cache Coherency

• ACE specification

• Interface communication protocol

• Interconnect responsibilities

ACE Specification 7

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 8: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

• ACE states of a cache line:

• ACE channels

• Read Channels ( AR, R )

• Write Channels ( AW, W, B )

• Snoop Channels ( AC, CR, CD )

• ACE supported policies

• 100% snoop

• Directory based

• Anything between (snoop filter)

ACE Specification 8

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

100% snoop Snoop filter Directory based

Page 9: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Different meanings of “protocol” 9

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

• Cache coherent protocols

• System communication policies

• ACE protocol

• Interface communication protocol

• Interconnect responsibilities

• ACE protocol does not guarantee coherency

=> ACE is a support for coherency

Page 10: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

• Interconnect: called CCI

(Cache Coherent

Interconnect)

• ACE Masters: masters with

caches

• ACE-Lite Masters:

components without caches

snooping other caches

• ACE-Lite/AXI Slaves:

components not initiating

snoop transactions

Different Kinds of Components 10

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

© ARM Ltd. Copyright 2012

Page 11: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

ACE transactions 11

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

ACE-Lite transaction subset

Page 12: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Example: transaction execution scenario

• Execution scenario of a ReadOnce transaction

12

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 13: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Case study flow

• LNT specification language: modeling

• MCL temporal logic language: writing properties

• EVALUATOR4.0 model checker (CADP toolbox)

13

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

ACE

Specification

LNT Model

MCL

properties

Model

Checking

Page 14: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

CADP verification toolbox

• Modular toolbox for formal modeling and enumerative

verification of asynchronous systems (50 tools)

• Based on concurrency theory (process calculi)

• User-friendly input language (LNT) integrating features of • Imperative programming constructs: loops, variables, …

• Concurrency theory: parallelism, formal semantics

(LTS: Labeled Transition System)

• Several verification paradigms and techniques: model

checking, compositional, on-the-fly, …

• Test & Code generation for rapid prototyping

• More information: http://cadp.inria.fr

14

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 15: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Modeling Choices 15

26/09/2013

• Focus on interactions between components

(LTS => Black box view)

• Generic model: non-deterministic behavior

• Fully connected snoop topology

• Parametric model: different number of masters and

slaves

• Transaction on a channel LNT rendezvous on a gate

(same name)

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 16: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

From ACE specification to LNT model 16

26/09/2013

• Non deterministic choices

• If… then…else…

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

select

if ( IsShared==0 ) then

R (ReadOnce, …);

CacheLine.state:= ACE_UC

else

R (ReadOnce, …);

CacheLine.state:= ACE_SC

end if

[ ]

R (ReadOnce, …);

CacheLine.state:= ACE_SC

[ ]

end select

Page 17: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

From ACE specification to LNT model 17

26/09/2013

• But how to model this requirement ?

• Is this the definition of data integrity ?

• We use “Constraint-oriented specification style”

• Global processes in parallel to the model to constrain the behavior

• We can generate the LTS with or without global constraints

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 18: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Formally Modeling an ACE-compliant SoC 18

26/09/2013

• Formal model: about 3200 lines of LNT code

• Masters: non-deterministic agents including all ACE-conform behavior

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 19: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Verified Properties in MCL 19

26/09/2013

• Complete execution of transactions

every transaction inevitably finishes

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Liveness formula

AR trans M L R trans M L

R trans M L

R trans M L

[ true * . { AR ?trans:String ?M:Nat ?L:Nat … } ] inev ( { R !trans !M !L } )

macro inev ( Action ) = mu X . ( < true > true and [ not Action ] X) end_macro

Page 20: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

From state based to action based properties 20

26/09/2013

• Cache coherency: inter-caches coherency

coherency of the ACE states of all caches

• If a cache line is on ACE_UD state (M1,L,ACE_UD)

All caches of other masters (M2 ≠ M1) which have the

same memory line L have to be on an ACE_I state.

=> State based property

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Safety property

L, ACE_UD

M1 CCI AR, AW, CR

C M1 L ACE_UD C

Page 21: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

From state based to action based properties 21

26/09/2013

• Cache coherency: inter-caches coherency

coherency of the ACE states of all caches

• If an action C M1 L ACE_UD happen

while there is no action C M1 L s1 where s1≠ACE_UD

if an action C M2 L s2 where M2≠M1 & s1≠ACE_I happen

then FALSE

=> Action based property

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Safety property

L, ACE_UD

M1 CCI

C M1 L ACE_UD

Page 22: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Verified Properties in MCL 22

26/09/2013

• Cache coherency: inter-caches coherency

coherency of the ACE states of all caches

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Safety formula

C M1 L ACE_UD C M2 L s2

where M2<>M1 & s2 <> ACE_I …

not ( C M1 L s1 )

where s1 <> ACE_UD

[ true * .

{ C ?M1:Nat ?L: Nat ”ACE_UD” } .

( not ( { C !M1 !L ?s1:String where s1<>”ACE_UD”} ) ) * .

{ C ?M2:Nat ! L ?s2:String where (M2<>M1) and (s2<>”ACE_I”) }

] false

Page 23: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Verified Properties in MCL 23

26/09/2013 Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

W “WB” M L D1 W … 0 L D2 …

where D2<>D1 …

not { W ”WB” 0 L D1 M }

W ”WB” 0 L D1 M

not { AC … M L … } & not { W … 0 L … }

[ true * .

{ W !”WRITEBACK” ?M:Nat ?L:Nat ?D1:Nat } .

( not { W !”WRITEBACK” !”0” !L !D1 !M } * .

{ W !”WRITEBACK” !”0” !L !D1 !M } .

(

( not { AC … !M !L … } ) and

( not { W … !”0” !L … } )

) * .

{ W … !”0” !L ?D2:Nat … where D2<>D1 }

] false

• Data integrity:

memory-caches

coherency

correct order of

write operations

to the shared memory

Safety formula

Page 24: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

State Space Generation & Verification 24

26/09/2013

>

Complete execution

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 25: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

State Space Generation & Verification 25

26/09/2013

Cache coherency

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 26: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

State Space Generation & Verification 26

26/09/2013

Data integrity

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 27: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Conclusion 27

26/09/2013

• Formal model for ACE-compliant SoC produced

• CADP/LNT: analysis heterogeneous coherent SoCs

• Constraint-oriented specification style helpful to model

general requirements

• Model used by STMicroelecronics to simulate the behavior

in system-level

• Counterexamples: scenarios to be tested on industrial test

bench

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 28: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

On-Going Work 28

26/09/2013

• Impact of a coherent interconnect in a concrete SoC

Combine generic interconnect with model of a concrete SoC

• Model-based test and validation:

• automatic test-scenario extraction

• guided (co-)simulation

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

Page 29: Formal Analysis of the ACE Specification for Cache ...lvl.info.ucl.ac.be/pmwiki/uploads/Fmics2013/Programme/Kriouile.pdf · Formal Analysis of the ACE Specification for Cache Coherent

Formal Analysis of the ACE Specification

for Cache Coherent Systems-On-Chip 29

26/09/2013

For more information

• CADP toolbox

http://cadp.inria.fr

• ARM. AMBA AXI and ACE Protocol Specification

http://infocenter.arm.com/help/topic/com.arm.doc.ihi0022e

Formal Analysis of the ACE Specification for Cache Coherent Systems-On-Chip

To contact us: [email protected] & [email protected]