Design Verification Introduction Virendra Singh Associate - - PowerPoint PPT Presentation

design verification
SMART_READER_LITE
LIVE PREVIEW

Design Verification Introduction Virendra Singh Associate - - PowerPoint PPT Presentation

Design Verification Introduction Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/ E-mail:


slide-1
SLIDE 1

CADSL

Design Verification

Introduction

Virendra Singh

Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay

http://www.ee.iitb.ac.in/~viren/ E-mail: viren@ee.iitb.ac.in

Testing & Verification of VLSI Circuits

Lecture 2

slide-2
SLIDE 2

CADSL

2

Importance of Formal Verification

Simulation

 Can be applied in any design level  But quality of verification fully depends on Simulation Patterns

  • Corner cases may be missed
  • Random is just random and does not cover corner cases

Emulation

 Implement on FPGA or other programmable device – need lot of preparation  Still verification quality fully depends on Simulation Patterns – corner cases problem remains Famous bug: Pentium Floating point bug - $500 m

15 Jan 2013 EE-709@IITB

slide-3
SLIDE 3

CADSL

3

Design Verification

Specification Implementation Simulation with Checkers/ drivers Automatic Implementation (Synthesis) Property checking Equivalence Checking Formal Specification Simulation Based Verification Correct-by Construction Formal Verification

15 Jan 2013 EE-709@IITB

slide-4
SLIDE 4

CADSL

4

Simulation-Based Verification

Bug Bug Bug Bug Bug Bug Initial State Bug

15 Jan 2013 EE-709@IITB

slide-5
SLIDE 5

CADSL

5

Simulation Vs Formal Verification

  • Simulation/emulation
  • Formal Verification
  • Cannot cover all cases
  • Corner cases may be missed
  • Essential method and good for

initially debugging  Equivalent to all case simulation  No corner case w.r.t given property

15 Jan 2013 EE-709@IITB

slide-6
SLIDE 6

CADSL

6

Simulation vs Formal Verification

  • Program testing can be used to show the

presence of the bugs, but never to show the absence! (E.W. Dijkstra)

15 Jan 2013 EE-709@IITB

slide-7
SLIDE 7

CADSL

7

Simulation Vs Formal Verification

Example:

  • Exclusive-OR circuit
  • z = (~x & y) + (x & ~y)

15 Jan 2013 EE-709@IITB

slide-8
SLIDE 8

CADSL

8

Simulation Vs Formal Verification

  • Transform the formulae for circuit to the one for

specification by mathematical reasoning z = ~b + ~c b = ~x + ~a c = ~a + ~y a = ~x + ~y z = ~b + ~c = ~(~x + ~a) + ~(~x + ~y) = a & x + a & y = (~x + ~y) & x + (~x + ~y )& y = x & ~y + ~x & y

  • All transformation are based on axioms and theorems
  • Mathematical proof of correctness of design

15 Jan 2013 EE-709@IITB

slide-9
SLIDE 9

CADSL

9

Formal Verification

Techniques  Deductive Verification (Theorem proving)

  • Uses axioms, rules to prove system correctness
  • Difficult and time consuming

 Model Checking

  • Automatic technique to prove correctness of concurrent

systems

  • Symbolic algorithms (using BDD)

 Equivalence Checking

  • Check if two circuits are equivalent

15 Jan 2013 EE-709@IITB

slide-10
SLIDE 10

CADSL

System level System level System level System level

SoC Verification

  • System-on-Chip (SOC) design
  • Increase of design complexity
  • Move to higher levels of abstraction

1E0 1E1 1E2 1E3 1E4 1E5 1E6 1E7

Number of components Level Gate RTL Algorithm Transistor Abstraction Accuracy

10 15 Jan 2013 EE-709@IITB

slide-11
SLIDE 11

CADSL

System-on-Chip (SoC) design

  • Specification to architecture and down to

implementation

  • Behavior (functional) to structure

– System level: system specification to system architecture – RT/IS level: component behavior to component micro- architecture

Specification + constraints

Memory Memory µProcessor Interface Comp. IP Bus Interface Interface Interface Custom HW

System architecture + estimates

Processors IPs Memories Busses

RTL/IS Implementation + results

Registers ALUs/FUs Memories Gates Mem RF State

Control

ALU

Datapath

PC

Control Pipeline

State

IF FSM

State

IF FSM IP Netlist

RAM IR

Memory

11 15 Jan 2013 EE-709@IITB

slide-12
SLIDE 12

CADSL

Bottlenecks in Design Cycles: Survey of 545 engineers by EETIMES 2000

Verification challenge

12 15 Jan 2013 EE-709@IITB

slide-13
SLIDE 13

CADSL

System-level design & verification

Remove as many bugs as possible in the earlier stages Do not introduce new design errors when refining designs Formal verification in system-level designs: Property checking and equivalence checking ⇓

System-level RTL Transistor level

Bugs fix time Cost due to the delay/late time-to-market revenue loss

3 minutes delay 3 days delay 3 weeks delay

13 15 Jan 2013 EE-709@IITB

slide-14
SLIDE 14

CADSL

Spec

Formal verification

  • “Prove” the correctness of designs

– Both design and spec must be represented with mathematical models – Mathematical reasoning – Equivalent to “all cases” simulations

  • Possible mathematical models

– Boolean function (Propositional logic)

  • How to represent and manipulate on computers

– First-order logic

  • Need to represent “high level” designs

– Higher-order logic

  • Theorem proving = Interactive method
  • Front-end is also very important

– Often, it determines the total performance of the tools

Mathematical models Design Front-end tool Verification engines

15 Jan 2013 EE-709@IITB 14

slide-15
SLIDE 15

CADSL

Spec

Backgrounds Technology in Formal Verification

  • Methods for reasoning about

mathematical models

– Boolean function (Propositional logic)

  • SAT (Satisfiability checker)
  • BDD (Binary Decision Diagrams)

– First-order logic

  • Logic of uninterpreted functions

with equality – Higher-order logic

  • Theorem proving = Interactive

method

Mathematical models Design Front-end tool Verification engines

15 Jan 2013 EE-709@IITB 15

slide-16
SLIDE 16

CADSL

16

Formal Equivalence Checking

15 Jan 2013 EE-709@IITB

slide-17
SLIDE 17

CADSL

17

Formal Equivalence Checking

15 Jan 2013 EE-709@IITB

slide-18
SLIDE 18

CADSL

18

Formal Equivalence Checking

  • Equivalence checking can be applied

at or across various levels

15 Jan 2013 EE-709@IITB

slide-19
SLIDE 19

CADSL

19

CEC in Practice

Key observation: The circuit being verified usually have a number of internal equivalent functions

15 Jan 2013 EE-709@IITB

slide-20
SLIDE 20

CADSL

20

Formal Equivalence Checking

a b c a b c f = ab + c F’ = (a+ c)(b+c)

a b c f

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Canonical Forms

15 Jan 2013 EE-709@IITB

slide-21
SLIDE 21

CADSL

21

Formal Equivalence Checking

Complexity

  • Efficiency of the conversion to canonical

form

  • Memory requirement
  • Efficiency of the comparison of two

representation of the canonical form

  • Efficiency to generate the counter

example in case of a miscompare

15 Jan 2013 EE-709@IITB