Professional Documents
Culture Documents
Equivalence Checking:
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!
29 Jan 2015
EE-709@IITB
CADSL!
29 Jan 2015
EE-709@IITB
CADSL!
CEC
Synthesis &
optimization
Routing
CEC
DFT insertion
CEC
ECO
CEC
IO Insertion
CEC
Placement
CEC
Clock tree synthesis
29 Jan 2015
EE-709@IITB
CADSL!
Formality
(Synopsys)
Conformal
Suite
(Verplex,
now
Cadence)
FormalPro
(Mentor
Graphics)
Typical
capabili1es
of
these
tools:
Can
handle
circuits
of
up
to
several
million
gates
at
in
up
to
a
few
hours
of
run1me
Comprehensive
debug
tool
to
pinpoint
error-sources
Counter-example
display
&
cross-link
of
RTL
and
gate-
level
netlists
for
easier
debugging
Ability
to
checkpoint
verica1on
process
and
restart
from
same
point
later
What
if
capability
(unique
to
FormalPro)
29 Jan 2015
EE-709@IITB
CADSL!
29 Jan 2015
EE-709@IITB
CADSL!
Func1onal
Equivalence
If
BDD
can
be
constructed
for
each
circuit
represent
each
circuit
as
shared
(mul1-output)
BDD
v
use
the
same
variable
ordering
!
BDDs
of
both
circuits
must
be
iden=cal
If
BDDs
are
too
large
cannot
construct
BDD,
memory
problem
use
par11oned
BDD
method
decompose
circuit
into
smaller
pieces,
each
as
BDD
check
equivalence
of
internal
points
29 Jan 2015
EE-709@IITB
CADSL!
Func1onal
Decomposi1on
Decompose
each
func1on
into
func=onal
blocks
represent
each
block
as
a
BDD
(par==oned
BDD
method)
dene
cut-points
(z)
verify
equivalence
of
blocks
at
cut-points
star1ng
at
primary
inputs
F
g2
f2
z
z
g1
f1
x
29 Jan 2015
EE-709@IITB
CADSL!
EE-709@IITB
g2
f2
z1
z2
g1
f1
x
29 Jan 2015
CADSL!
G
g2
f2
z
z
g1
f1
x
29 Jan 2015
False
nega=ve
two
func1ons
are
equivalent,
but
the
verica1on
algorithm
declares
them
as
dierent.
EE-709@IITB
10
CADSL!
Cut-Point Resolu1on
0, F ! G (false negative)
1, F ! G (true negative)
29 Jan 2015
EE-709@IITB
11
CADSL!
Cut-Point Resolu1on
F !
G =
=
!, F ! G (false negative)
Non-empty, F ! G
EE-709@IITB
12
CADSL!
x(2)
M(t1)
s(1)
x(n)
M(t2)
s(2)
M(tn)
s(n)
29 Jan 2015
EE-709@IITB
13
CADSL!
Sequen1al
Verica1on
Approach
2:
Based
on
isomorphism
of
state
transi1on
graphs
two
machines
M1,
M2
are
equivalent
if
their
state
transi1on
graphs
(STGs)
are
isomorphic
perform
state
minimiza1on
of
each
machine
check
if
STG(M1)
and
STG(M2)
are
isomorphic
1/0
0/0
0
1/0
1/1 1
2
0/1
0/1
State min.
1/0
0
M1
0/1
0/0
M1min
1.2
1/1
1/0
0/1
0/0
M2
1
1/1
29 Jan 2015
EE-709@IITB
14
CADSL!
State
Minimiza1on
X-Successor
If
an
input
sequence
X
takes
a
machine
from
state
Si
to
state
Sj,
then
Sj
is
said
to
be
the
X-
successor
of
Sj
29 Jan 2015
EE-709@IITB
15
CADSL!
State
Equivalence
Two
states
Si
and
Sj
of
machine
M
are
dis1nguishable
if
and
only
if
there
exists
at
least
one
nite
input
sequence
which,
when
applied
to
M,
causes
dierent
output
sequences,
depending
on
whether
Si
or
Sj
is
the
ini1al
state
The
sequence
which
dis1nguishes
these
states
is
called
a
dis1nguishing
sequence
of
the
pair
(Si,
Sj)
If
there
exists
for
pair
(Si,
Sj
)
a
dis1nguishing
sequence
of
length
k,
the
states
in
(Si,
Sj
)
are
said
to
be
k-dis1nguishable
29 Jan 2015
EE-709@IITB
16
CADSL!
State
Equivalence
Machine
M1
PS
(A, B) 1 Dis1nguishable
NS, z
X=0
X=1
E, 0
D, 1
F, 0
D, 0
E, 0
B, 1
F, 0
B, 0
C, 0
F, 1
B, 0
C, 0
29 Jan 2015
(A,
E)
3
Dis1nguishable
Seq - 111
EE-709@IITB
17
CADSL!
State
Equivalence
States
Si
and
Sj
of
machine
M
are
said
to
be
equivalent
if
and
only
if,
for
every
possible
input
sequence,
the
same
output
sequence
will
be
produced
regardless
of
whether
Si
or
Sj
is
the
ini1al
state
States
that
are
k-equivalent
for
all
k
<
n-1,
are
equivalent
Si
=
Sj,
and
Sj
=
Sk,
then
Si
=
Sk
29 Jan 2015
EE-709@IITB
18
CADSL!
State
Equivalence
The
set
of
states
of
a
machine
M
can
be
par11oned
into
disjoint
subsets,
known
as
equivalence
classes
Two
states
are
in
the
same
equivalence
class
if
and
only
if
they
are
equivalent,
and
are
in
dierent
classes
if
and
only
if
they
are
dis1nguishable
Property:
If
Si
and
Sj
are
equivalent
states,
their
corresponding
X-successors,
for
all
X,
are
also
equivalent
29 Jan 2015
EE-709@IITB
19
CADSL!
NS, z
P0 = (ABCDEF)
X=0
X=1
E, 0
D, 1
P1 = (ACE), (BDF)
F, 0
D, 0
E, 0
B, 1
F, 0
B, 0
C, 0
F, 1
B, 0
C, 0
29 Jan 2015
EE-709@IITB
20
CADSL!
Machine
Equivalence
Two
machines
M1,
M2
are
said
to
be
equivalent
if
and
only
if,
for
every
state
in
M1,
there
is
corresponding
equivalent
state
in
M2
If
one
machine
can
be
obtained
from
the
other
by
relabeling
its
states
they
are
said
to
be
isomorphic
to
each
other
PS
AC -
E-
BD -
F-
29 Jan 2015
NS, z
X=0
, 0
, 0
, 0
, 0
EE-709@IITB
X=1
, 1
, 1
, 0
, 0
21
CADSL!
P0 = (ABCDEFG)
X=0
X=1
E, 0
C, 0
C, 0
A, 0
B, 0
G, 0
G, 0
A, 0
F, 1
B, 0
E, 0
D, 0
D, 0
G, 0
29 Jan 2015
P1 = (ABCDFG) (E)
EE-709@IITB
22
CADSL!
M1
S0
Outputs
=?
M2
S1
S0
S1
29 Jan 2015
Product Machine
23
CADSL!
Thank You
29 Jan 2015
EE-709@IITB
24
CADSL!