Using Form al Techniques for Design for Verifiability Rolf - - PowerPoint PPT Presentation

using form al techniques for design for verifiability
SMART_READER_LITE
LIVE PREVIEW

Using Form al Techniques for Design for Verifiability Rolf - - PowerPoint PPT Presentation

Using Form al Techniques for Design for Verifiability Rolf Drechsler University of Brem en DFKI Gm bH Germ any drechsler@uni-brem en.de Verification It is important Trust me! Very powerful tools in the market Formal


slide-1
SLIDE 1

Using Form al Techniques for Design for Verifiability

Rolf Drechsler

University of Brem en DFKI Gm bH Germ any drechsler@uni-brem en.de

slide-2
SLIDE 2

2

Verification

  • It is important

– Trust me!

  • Very powerful tools in the market

– Formal verification

  • For formal tools: little understanding of

behavior

slide-3
SLIDE 3

3

How does verification w ork?

  • Circuit is designed
  • Handed to verification tool

– Simulation/ emulation – Formal techniques

slide-4
SLIDE 4

4

How does verification w ork?

  • Circuit is designed
  • Handed to verification tool

– Simulation/ emulation – Form al techniques

slide-5
SLIDE 5

5

W hat w ould w e like to have?

  • Prediction

– Run time – Memory requirement

  • Polynomial

Questions:

  • Can this w ork for any/ all circuits?
  • How do these circuits look like?
slide-6
SLIDE 6

6

Exam ple: m ultiplier verification

  • Formal Verification of Integer Multipliers

by Combining Gröbner Basis with Logic Reduction (Sayed-Ahmed et al, DATE, 2016) – 128-bit multiplier verified

  • Polynomial verification of multipliers

(Keim et al., Formal Methods in System Design, 2003) – Based on * BMDs (difficult DD type)

slide-7
SLIDE 7

7

Design for verifiability

  • Goal: Design circuits such that

– Formally verifiable – Polynomial bounds

slide-8
SLIDE 8

8

Binary Decision Diagram s

  • Shannon decomposition:
  • Terminals: ‘0‘, ‘1‘
  • Ordered and reduced

BDDs

  • Canonical data

structure

1  

   

i i

x i x i

f x f x f

xi 1 f fxi=0 fxi=1

slide-9
SLIDE 9

9

Derive circuits from BDDs

  • Synthesis of fully testable circuits from

BDDs (Drechsler et al, TCAD, 2004)

  • Each node is substituted by a multiplexor
  • Example:

MUX MUX 1 1 X2 X1 MUX MUX t X2 X1 X2 X1 1

2 1 2 1

) , ( x x x x f  

slide-10
SLIDE 10

10

Consider Construction

  • Small BDD does not imply small BDD

during construction! – Otherwise: tautology checking would be trivial

  • But, interesting to look at BDD results:

Bern et al: Global rebuilding of OBDDs Avoiding Memory Requirement Maxima. CAV 1995

slide-11
SLIDE 11

11

W hat m akes verification hard?

  • Similar to test

generation

  • Circuit structure
  • Tree-like
  • > polynomial

verification (e.g. by BDDs)

  • But how about reconvergent paths?

Propagation Fault site Justifi- cation Reconvergent path

slide-12
SLIDE 12

12

Reverse engineer form al tools

  • E.g.: what makes SAT solvers efficient?

– Implication graphs – Learning – Non-chronological backtracking – …

  • How do these circuits look like?
slide-13
SLIDE 13

13

Conclusions

  • Today: very powerful formal

verification tools – But: little understanding

  • Research goal:

– Designing circuits that are by construction provably formally verifiable

  • Works for BDDs, but not trivial!
  • Future work: extension to KFDDs, SAT,

SMT,…

slide-14
SLIDE 14

Using Form al Techniques for Design for Verifiability

Rolf Drechsler

University of Brem en DFKI Gm bH Germ any drechsler@uni-brem en.de