A M A M IXED ED V ER ON ERIFICATION S TRATEG EGY T AILOR ED FOR OR - - PowerPoint PPT Presentation

a m
SMART_READER_LITE
LIVE PREVIEW

A M A M IXED ED V ER ON ERIFICATION S TRATEG EGY T AILOR ED FOR OR - - PowerPoint PPT Presentation

A M A M IXED ED V ER ON ERIFICATION S TRATEG EGY T AILOR ED FOR OR ORED N ET ORKS ON ON C C HIP ETWOR HIP G.Tsiligiannis, L.Pierre TIMA Laboratory, Grenoble, France I NTRODUCTION Questions: Is it worth defining a specific


slide-1
SLIDE 1

A M A MIXED

ED VER ERIFICATION ON

STRATEG

EGY TAILOR ORED ED FOR OR

NET

ETWOR ORKS ON ON C

CHIP

HIP

G.Tsiligiannis, L.Pierre TIMA Laboratory, Grenoble, France

slide-2
SLIDE 2

INTRODUCTION

 Questions:

 Is it worth defining a specific verification methodology

for NoCs?

 How should it look like?

 Answer as a proposal:

 Two-level approach:

 Verification of coarse-grained features at the algorithmic

level

 Verification of fine-grained properties at the implementation

level (VHDL RTL description)

 For this latter goal  taxonomy of properties

2

NoCs'2012

slide-3
SLIDE 3

INTRODUCTION

 « Verification »

 Correctness of communications, considering NoC

features:

 Network architectural characteristics (topology)  Routing algorithm  Switching technique  Access control  Synchronous or asynchronous transmission protocol  Buffered or bufferless transmission  ...

3

NoCs'2012

slide-4
SLIDE 4

INTRODUCTION

 Nowadays, few verification-oriented results

 [Salaün et al, ASYNC’2007]: model checking approach,

CHP specification translated into LOTOS description, some properties proven for FAUST (using CADP)

 [Yean-Ru et al, ICGCS’2010]: verification of properties

for a part of a wormhole XY-routing NoC router, using State Graph Manipulator

 [Chenard et al, workshop at DATE’2007]: Assertion-

Based Verification for a hierarchical ring network, debugging infrastructure

 [Goossens et al, NoCs’2007]: also uses a monitor-based

solution, and proposes a debug architecture

4

NoCs'2012

slide-5
SLIDE 5

PROPOSAL

 Mixed verification strategy

 Verification of high-level (algorithmic) properties

 Network description at a high level of abstraction, focuses on

functional features and ignores implementation details

 Algorithmic specification + formal verification (description in

a functional language and verification by theorem proving)

 Complemented by verification of low-level

(implementation) properties

 Network description at a low level of abstraction: VHDL RTL

source code

 Specification by logic and temporal properties + semi-formal

verification (Assertion-Based Verification)

5

NoCs'2012

slide-6
SLIDE 6

APPLIED TO 2 STATE-OF-THE-ART NOCS

 Nostrum (http://www.ict.kth.se/nostrum/)

 2D-mesh topology  Hot potato routing  Packet switching  Synchronous

 Hermes (PUCRS, Brazil)

 2D-mesh topology  Configurable routing (here minimal

negative first routing)

 Wormhole switching  Asynchronous (handshake protocol)

6

NoCs'2012

slide-7
SLIDE 7

AT THE ALGORITHMIC LEVEL

 Generic modeling and verification technique (*)

7

NoCs'2012 (*) D. Borrione, A. Helmy, L. Pierre, J. Schmaltz: “A formal approach to the verification of networks on chip”, EURASIP J. Embedded Systems, 2009.

GeNoC function + proof obligations

slide-8
SLIDE 8

AT THE ALGORITHMIC LEVEL

 Generic modeling and verification technique (*)

8

NoCs'2012 (*) D. Borrione, A. Helmy, L. Pierre, J. Schmaltz: “A formal approach to the verification of networks on chip”, EURASIP J. Embedded Systems, 2009.

slide-9
SLIDE 9

AT THE IMPLEMENTATION LEVEL

 Assertion-Based Verification

 Assertion: statement about the intended behaviour or a

requirement of the design

 Temporal logics: CTL, LTL,…  Specification languages: SVA (IEEE Std 1800),

PSL (IEEE Std 1850)

 Assertion-Based Verification: does the design obey

these temporal assertions?

 Static analysis (model checking)  Dynamic verification (during simulation)

9

NoCs'2012

slide-10
SLIDE 10

AT THE IMPLEMENTATION LEVEL

 Assertion-Based Verification

 Assertion: statement about the intended behaviour or a

requirement of the design

 Temporal logics: CTL, LTL,…  Specification languages: SVA (IEEE Std 1800),

PSL (IEEE Std 1850)

 Assertion-Based Verification: does the design obey

these temporal assertions?

 Static analysis (model checking)  Dynamic verification (during simulation)

10

NoCs'2012

slide-11
SLIDE 11

ASSERTION-BASED VERIFICATION

 Verification of fine-grained properties on the signals of

the design

 Examples:

 Temporal operators

default clock = (posedge clk); always (END -> next (START before ERROR))

 Extended regular expressions

default clock = (posedge clk); always ( { X and not Y; X and Y } |-> { not Ctrl [*8] ; Ctrl } )

11

NoCs'2012

ERROR END START

slide-12
SLIDE 12

ASSERTION-BASED VERIFICATION

 Hardware monitors from PSL assertions for router

properties

12

NoCs'2012

Monitor 1 Monitor 2

valid valid

slide-13
SLIDE 13

CLASSIFICATION OF PROPERTIES

 General-purpose assertions for routers

13

NoCs'2012

Property Routing QoS Synchronous/ asynchronous Buffered/ bufferless No packet loss X + switching technique No packet duplication X X Correct delivery upon arrival Deterministic/ fully adaptive Routing decision integrity Satisfaction of QoS Guaranteed/best effort Packet progression

slide-14
SLIDE 14

CLASSIFICATION OF PROPERTIES

 Example: No packet loss

 Inside the router

 Case of buffered communications

 Wormhole: the allocated resources will remain allocated to the same

packet flow until the last flit is transmitted

 ...

 Case of bufferless communications

 If a packet enters the router, it will be ready to leave the router at the

same cycle

 A packet will not be dropped if the requesting destination is available

 Between two routers

 Case of synchronous communications  Case of asynchronous communications

14

NoCs'2012

slide-15
SLIDE 15

CLASSIFICATION OF PROPERTIES

 Example: No packet loss

 Inside the router

 Hermes (PUCRS, Brazil)

 The allocated resources will remain allocated to the same packet

flow until the last flit is transmitted

15

NoCs'2012

slide-16
SLIDE 16

CLASSIFICATION OF PROPERTIES

 Example: No packet loss

 Inside the router

 Hermes (PUCRS, Brazil)

 The allocated resources will remain allocated to the same packet

flow until the last flit is transmitted

16

NoCs'2012

forall i in {0 to 4}: always ((free(CONV_INTEGER(source(i)))=’0’ and sender(i)=’1’) -> (free(CONV_INTEGER(source(i)))=’0’ and sender(i)=’1’) until! sender(i)=’0’ ); Relation output port / input port End of transmission

slide-17
SLIDE 17

CLASSIFICATION OF PROPERTIES

 Example: No packet loss

 Inside the router

 Nostrum (http://www.ict.kth.se/nostrum/)

 If a packet enters the router, it will be ready to leave the router at the

same cycle

17

NoCs'2012

slide-18
SLIDE 18

CLASSIFICATION OF PROPERTIES

 Example: No packet loss

 Inside the router

 Nostrum (http://www.ict.kth.se/nostrum/)

 If a packet enters the router, it will be ready to leave the router at the

same cycle

18

NoCs'2012

forall i in {0 to 4}: always (empty_temp(i)=’1’ -> (N_select(i)=’1’ and N_empty=’0’) or (S_select(i)=’1’ and S_empty=’0’) or (E_select(i)=’1’ and E_empty=’0’) or (W_select(i)=’1’ and W_empty=’0’) or (R_select(i)=’1’ and R_empty=’0’)); Packet at the input Routed to one output

slide-19
SLIDE 19

EXPERIMENTAL RESULTS

 Instrumentation of NoCs with PSL properties

 Nostrum: 39 assertions  Hermes: 30 assertions

 Properties automatically transformed into synthesizable

verification components (*)

 Can be used within the simulation or FPGA prototyping

procedures: for debug during NoC design

 Or can be used as embedded verification components

(ASIC/FPGA synthesis): for the online verification of safety requirements

19

NoCs'2012 (*) TIMA « HORUS » technology (Y.Oddos, K.Morin-Allory, D.Borrione: "Assertion-Based Design with Horus", Proc. MEMOCODE’2008) integrated into Dolphin EDA tools: http://www.dolphin.fr/medal/sled/segment/sled_sdg.php

slide-20
SLIDE 20

EXPERIMENTAL RESULTS

 Simulation (with fault injection)  FPGA synthesis (Xilinx Virtex 5)

 Example: 4 x 4 Hermes with 7 monitors on the 6 central

routers

 Without monitors: 21173 LUT, 64 MHz  With monitors: 22581 LUT (+ 6.65%), 48.25 MHz (- 24.6%)

20

NoCs'2012

slide-21
SLIDE 21

CONCLUSION - OVERALL APPROACH

21

NoCs'2012

slide-22
SLIDE 22

CONCLUSION

 Multi-level verification solution

 Experimented on:

 Nostrum: 199 ACL2 theorems (proof obligations and auxiliary

theorems), 39 PSL properties

 Hermes: 272 ACL2 theorems, 30 PSL properties

 Future work:

 Embedded verification components

 need specific synthesis optimisations, and specific facilities for collecting relevant diagnosis information

 Runtime Assertion-Based Verification at the system level

(NoC infrastructure in a SoC, SystemC TLM)

22

NoCs'2012

slide-23
SLIDE 23

THANKS FOR YOUR ATTENTION...

23

NoCs'2012