1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 [email protected]...

28
1 IAF0620, 5.0 AP, Exam http://ati.ttu.ee/~jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 [email protected] Digital systems verification

Transcript of 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 [email protected]...

Page 1: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

1

IAF0620, 5.0 AP, Exam

http://ati.ttu.ee/~jaan/verification

Jaan Raik

ICT-524, 620 2257, 55 13141

[email protected]

Digital systems verification

Page 2: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

The first bug found

Harvard Mark II system, 1945

2

Page 3: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

When things go wrong...

1985-1987 - Therac-25 medical accelerator. At least 5 patients die.

1993 - Intel Pentium floating point divide. Costs te company $475 million.

June 4, 1996 - Ariane 5 Flight 501. Rocket disintegrates 40 seconds after launch.

February 2010 - Toyota Prius failure. Toyota loses its market share.

3

Page 4: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 4

Digital systems verification

Course book:

Hardware Design Verification: Simulation and Formal Method-Based Approaches

William K. Lam, Sun Microsystems ...............................................

Publisher: Prentice Hall PTR

Pub Date: March 03, 2005

ISBN: 0-13-143347-4

Pages: 624

Page 5: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

5

Digital systems verificationCourse outline

1. Introduction, verification methods.(1.1-1.5)

2. Decision diagrams and equivalence. (8.1)

3. SAT solving (8.4)

4. Simulation, symbolic simulation (8.5)

5. Verification coverage (5.5-5.6)

6. Assertions (5.4)

7. Property checking (9)

8. Automated debug (bug localization + correction)

9. Verification and HDL (1.6, 2-4)

Exercise 1

Exercise 2

Page 6: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 6

Verification versus test

• The goal of verification is to check if a system is designed correctly.

• Validation is similar to verification but we check on a prototype device, not a model.

• By (manufacturing) Test we understand checking every instance of a produced chip against manufacruring defects.

Page 7: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 7

Types of verification

• Mixed-signal, analog, RF, ...

• We consider only digital

• Functional, timing, layout, electrical etc. verification

• Here, we consider functional only

Page 8: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 8

Why is verification important

Some figures:

• 2-4 verification engineers per designer

• Verification takes 70-85 % of total cost of chip design

• Why has verification become that important?

Page 9: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 9

Page 10: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 10

jne… ???

32. position ~ 4 billion grains

64. position ~1019 grains

Page 11: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 11

Moore’Moore’ss lawlaw (1965) (1965)

“Essential parameters of digital devices double each 18 months.”

Page 12: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 12

Year of Introduction Transistors

4004 1971 2,250

8008 1972 2,500

8080 1974 5,000

8086 1978 29,000

286 1982 120,000

Intel386™ processor 1985 275,000

Intel486™ processor 1989 1,180,000

Intel® Pentium® processor 1993 3,100,000

Intel® Pentium® II processor 1997 7,500,000

Intel® Pentium® III processor 1999 24,000,000

Intel® Pentium® 4 processor 2000 42,000,000

Intel® Itanium® processor 2002 220,000,000

Intel® Itanium® 2 processor 2003 410,000,000

Moore’Moore’ss lawlaw (1965) (1965)

Page 13: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 13

Rapid growth of digital technologyRapid growth of digital technology

25-30 % annually decreasing cost per function

15 percent annual growth of the market for integrated circuits

• But …

The cost of developing a digital chip keeps on growing.

• In 1981, development of a leading-edge CPU cost 1 M$

• …today it costs more than 300 M$ !!!

• Why do costs increase ???

Page 14: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 14

Design automation

• productivity gap– 58% versus 21% annually

transistorson the die

Tehnology’scapabilities

Designer’s productivity

todaytime

40 60 70

30 40 2

30 2

3 2

System design

Logic design

Physicaldesign

Simulation Schematic entry

Placement &routing

Hierarchy,generators

Logic synthesis

High-level synthesis /System-level synthesis

Specialized high-level synthesis

< 1979

~ 1983

1986

1988-92

1992-95

~1996-...

Person months /20 000 logic gates

10 2

30 50 2

Page 15: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 15

Design abstraction levels and verification

Page 16: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 16

Verification flow

Page 17: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 17

Page 18: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 18

Problems during verification

• Errors in spec, implementation, language

• No way to detect bugs in the spec, because reference object is missing. Thus: verification by redundancy.

• Problem: How to measure verification quality i.e. coverage? (except in equivalence checking)

Page 19: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 19

Simulation-based verification

Page 20: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 20

Terminology

• Linter is a program, that checks for syntax errors in HDL

• Directed tests = deterministic tests

Page 21: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 21

Formal verification

Page 22: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 22

Equivalence checking

• It is necessary to match the variable names of the designs under comparison!

• We implement canonical forms ...

• ... or look for an input vector that would distinguish the output responses of two designs. SAT methods. Similar to test pattern generation.

Page 23: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 23

Equivalence checking

• Comparison of pre- and post-scan schematics

• Comparison of RTL versus transistor layout

• Verification of minor changes in the design

Page 24: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 24

Model-checking

• The goal is to find an input assignment violating the assumed property.

• If such an assignment (counter-example!) exists then we can simulate it to obtain signal waveforms for debugging.

• If there exists no counter-example then we have proven that the implementation matches the property.

Page 25: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 25

Model-checkingProblems:• How to extract only this portion of the design that

is related to the property to be checked. Currently done manually...

• Selection of the properties to be checked is tricky...

• Bugs may occur in the implementation, in properties or in configuration (i.e. environment).

• Roughly 70 % of total effort for setting up the configuration.

Page 26: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 26

Model-checking

Theorem provers

• Not too much automated but...

• ... can handle larger designs, require less memory.

• Use higher order logic. Thus, can check more complex properties.

Page 27: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

Digital systems verification course 27

Simulation-based vs formal

Page 28: 1 IAF0620, 5.0 AP, Exam jaan/verification Jaan Raik ICT-524, 620 2257, 55 13141 jaan@ati.ttu.ee Digital systems verification.

28