Professional Documents
Culture Documents
An 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
CADSL!
EE-709@IITB
CADSL!
Routing
ECO
DFT insertion
IO Insertion
Placement
12 Jan 2015
EE-709@IITB
CADSL!
51%
Design Creation
32%
32%
26%
Parasitic Extraction
17%
System on Chip
17%
17%
16%
Synthesis
15%
Delay Calculation
0%
13%
10% 20% 30% 40% 50% 60%
CADSL!
Definitions
v Design
synthesis:
Given
an
I/O
funcCon,
develop
a
EE-709@IITB
CADSL!
Stop
Nothing
is
pressed
Play,
Pause,
Stop
Play
Rew
FF,
Rew
Internal
5
States
Pause
FF
Stopped,
Paused
Play
at
normal
speed
Forward
at
2X
speed
Rewind
at
2X
speed
12 Jan 2015
EE-709@IITB
CADSL!
EE-709@IITB
CADSL!
1024x786x232x6
=
20,266,198,323,167,232
Possible
current
state
to
possible
next
states
are
to
be
veried
16,888,498,602,639,360
x
20,266,198,323,167,232
=
3.4
x
1032
Assume
a
simulaCon
engine
can
verify
1,000,000
transiCons
per
second
It
needs
10,853,172,947,159,498,300
Years
to
verify
12 Jan 2015
EE-709@IITB
CADSL!
Design Verification
SpecicaCon
AutomaCc
ImplementaCon
(Synthesis)
SimulaCon
with
Checkers/
drivers
SimulaCon
Based
VericaCon
Formal
SpecicaCon
Property
checking
Equivalence
Checking
Formal
VericaCon
Correct-by
ConstrucCon
ImplementaCon
12 Jan 2015
EE-709@IITB
CADSL!
EmulaCon
vImplement
on
FPGA
or
other
programmable
device
need
lot
of
preparaCon
vSCll
vericaCon
quality
fully
depends
on
SimulaCon
Pa#erns
corner
cases
problem
remains
EE-709@IITB
10
CADSL!
Simulation-Based Verification
Bug
Bug
Initial
State
12 Jan 2015
Bug
Bug
Bug
Bug
EE-709@IITB
11
CADSL!
Formal Verification
Equivalent to all
case simulation
12 Jan 2015
EE-709@IITB
12
CADSL!
12 Jan 2015
EE-709@IITB
13
CADSL!
12 Jan 2015
EE-709@IITB
14
CADSL!
EE-709@IITB
15
CADSL!
Formal Verification
Techniques
v Deductive Verification (Theorem proving)
Uses axioms, rules to prove system correctness
Difficult and time consuming
v Model Checking
Automatic technique to prove correctness of concurrent
systems
Symbolic algorithms (using BDD)
v Equivalence Checking
Check if two circuits are equivalent
12 Jan 2015
EE-709@IITB
16
CADSL!
SoC Verification
System-on-Chip
(SOC)
design
Increase
of
design
complexity
Move
to
higher
levels
of
abstracCon
Algorithm
1E0
1E1
1E2
1E3
RTL
Gate
1E4
Accuracy
System level
Number of components
Abstraction
Level
1E5
1E6
Transistor
12 Jan 2015
1E7
EE-709@IITB
17
CADSL!
3 minutes
delay
3 days
delay
RTL
3 weeks
delay
Transistor level
EE-709@IITB
18
CADSL!
Formal verification
Prove
the
correctness
of
designs
Both
design
and
spec
must
be
represented
with
mathemaCcal
models
MathemaCcal
reasoning
Equivalent
to
all
cases
simulaCons
Spec
Front-end
tool
Mathematical
models
EE-709@IITB
Design
19
Verification
engines
CADSL!
EE-709@IITB
20
Spec
Design
Front-end
tool
Mathematical
models
Verification
engines
CADSL!
12 Jan 2015
EE-709@IITB
21
CADSL!
12 Jan 2015
EE-709@IITB
22
CADSL!
12 Jan 2015
EE-709@IITB
23
CADSL!
CEC in Practice
Key
observaCon:
The
circuit
being
veried
usually
have
a
number
of
internal
equivalent
funcCons
12 Jan 2015
EE-709@IITB
24
CADSL!
b
c
F = (a+ c)(b+c)
b
c
12 Jan 2015
EE-709@IITB
25
CADSL!
Memory
requirement
Eciency
of
the
comparison
of
two
representaCon
of
the
canonical
form
Eciency
to
generate
the
counter
example
in
case
of
a
miscompare
12 Jan 2015
EE-709@IITB
26
CADSL!
A
B
C
A
C
B
0
1
1
0
1 T3
1
0
Diff
T1
1
1
O2
O1
T2
Challenge
Must
prove
all
assignments
fail
NP
complete
problem
Typically
explore
signicant
fracCon
of
inputs
ExponenCal
Cme
complexity
12 Jan 2015
EE-709@IITB
27
CADSL!
EE-709@IITB
28
CADSL!
EE-709@IITB
29
CADSL!
T1
O1
C
B
T2
A
B
C
T3
c
0
O2
b
c
0
EE-709@IITB
30
CADSL!
Thank You
12 Jan 2015
EE-709@IITB
31
CADSL!