Professional Documents
Culture Documents
With the increase in the complexity of present day systems, transistor level netlist [35, 13, 14, 33, 51]. In the second phase,
proving the correctness of a design has become a major concern. the correctness of this Boolean network is veri ed using some
Simulation based methodologies are generally inadequate to val- formal methods.
idate the correctness of a design with a reasonable con dence. In this paper we will focus only on the second phase. We
More and more designers are moving towards formal methods will describe some recent advances made in the area of verifying
to guarantee the correctness of their designs. In this paper we the equivalence of two Boolean networks. More speci cally, we
survey some state-of-the-art techniques used to perform auto- will focus only on the veri cation of combinational circuits i.e.,
matic veri cation of combinational circuits. circuits in which the outputs depend only on the current inputs
We classify the current approaches for combinational ver- (as opposed to sequential circuits in which the outputs depend
i cation into two categories: functional and structural. The not only on the present inputs but also on the past sequence
functional methods consist of representing a circuit as a canon- of inputs). Some sequential veri cation problems can also be
ical decision diagram. Two circuits are equivalent if and only if reduced to a combinational veri cation problem (e.g. when the
their decision diagrams are equal. The structural methods con- corresponding latches in the two designs can be identi ed). Al-
sist of identifying related nodes in the circuit and using them to though techniques exist for verifying general sequential circuits,
simplify the problem of veri cation. We brie y describe some currently it is not practical to verify large industrial designs
of the methods in both the categories and discuss their merits using them.
and drawbacks. The combinational veri cation problem can be stated as fol-
lows: Given two Boolean netlists, check if the corresponding
1 Introduction outputs of the two circuits are equal for all possible inputs.
This problem is NP-hard and hence a general solution which
Successful design of a complex digital system requires veri-
fying the correctness of the implementation with respect to its can handle arbitrary Boolean functions is not likely to exist.
intended functionality. Traditionally, the task of design vali- However, since the functions that are implemented in practice
dation is carried out by means of simulation. In a simulation are not random Boolean functions, various techniqueshave been
based approach, the designer needs to create a complete set of developed which can successfully verify large designs.
test vectors which represents all possible inputs to the system. The work in equivalence checking can be classi ed into two
The outputs for each of these test vectors are analyzed to guar- main categories:
antee the correctness of the design. This process is highly CPU- The rst approach consists of transforming the output
time intensive; in almost all practical situations it is infeasible functions of the two networks into a unique (i.e. canonical)
to exhaustively simulate a design to guarantee its correctness. representation. Two circuits are equivalent if and only if
Due to the limitations of a simulation based approach, vari- the canonicalrepresentations of the correspondingoutputs
ous formal veri cationstrategies are becoming increasingly pop- are the same. The most popular canonical representations
ular. By using these techniques, it is possible to guarantee the are based on Binary Decision Diagrams (BDDs). We will
correctness of a design under all possible input combinations. discuss methods based on BDDs in Section 2. In the worst
The process of designing a complex system usually starts case these methods can require exponential space (in the
with an abstract model of the system. This model is subjected number of inputs). We will discuss some techniques for
to extensive simulation after which it becomes the \golden spec- dealing with this \memory explosion" problem in BDD
i cation"of the design. From this abstract model, a detailed im- representations.
plementation is derived in a hierarchical manner. First the ab- The second approach consists of identifying equivalent
stract model is translated into a synthesizable behavioral RTL points and implications between the two circuits. Using
model representing the block structure behavior of the design. this information the process of equivalence checking can
This behavioral RTL model is then translated into a structural be simpli ed. Since a typical design proceeds by a series
model which is a logic level description of the system. From the of local changes, in most cases there are a large number of
structural RTL model a transistor netlist and subsequently the implications between the two circuits to be veri ed. These
physical layout of the design is derived. implication based techniques have been very successful in
In a successful design methodology it is essential to catch verifying large circuits and form the basis of most com-
bugs early in the design cycle. For this, the functionality of the binational veri cation systems. We will discuss some of
design is veri ed at every level of hierarchy against the orig- these techniques in section 3.
inal (\golden") speci cation. This kind of formal veri cation
in which di erent implementations of the same design are com-
pared to check their equivalence is known as implementation 2 Methods Based on Decision Dia-
veri cation. Implementation veri cation typically proceeds in grams
two phases. In the rst phase, a Boolean network representing In this approach, the output functions of the two networks
the original design is extracted from the RTL description or the are represented as canonical BDDs. The two circuits are equiv-
alent if and only if the BDDs of their corresponding outputs are
1Fujitsu Laboratories of America, Santa Clara, CA 95054 equal (i.e. isomorphic).
2Department of Electrical Engineering and Computer Sci- A BDD over a set of n = f 1
X x ;:::x n g of Boolean variables
ences, University of California, Berkeley, CA 94720 is a directed acyclic graph with one source and at most two sinks
1
labeled by 0 and 1. Each non-sink (internal) node is labeled by 2.1 Variable Ordering
a variable in Xn and has two outgoing edges - corresponding The size of an ROBDD is strongly dependent on the order-
to where the variable evaluates to a 0 or to a 1. For a given ing of its variables. Much of the prior research in ROBDDs has
assignment to the variables, the function value is evaluated by focused on nding good variable orders to reduce the size of
tracing a path from the root to the terminal. For a given input an ROBDD representing a Boolean function. Given a combina-
m = (m1 ; : :: ; mn ), the evaluation starts at the root and at an tional netlist, [21, 23] discuss some heuristics for ordering the
internal node with label xi the outgoing edge with label mi is primary input variables which lead to a compact ROBDD rep-
chosen (see Figure 1). resentation of the outputs. These techniques for the rst time
successfully demonstrated that ROBDDs could be used for ver-
ifying large circuits. Another signi cant advance in variable
x1 x1
ordering was made with the introduction of dynamic variable
reordering [49]. In this procedure a periodic reordering of vari-
1 0 1 0
1
peated for each variable in the graph. Sifting n variables, in
0
1 0
although the two functions which are being compared are equiv-
alent, the veri cation algorithm incorrectly classi es them as
direct indir
a = 1 f = 0 Learning : f = 1 a = 0
di erent. Figure 7 shows an example of false-negative. F and
G are equivalent outputs (both being equal to b) and node d1 is
Figure 5: Indirect Implication functionally equivalent to node d2. However, if a veri cation of
F and G is attempted in terms of the cutsets shown by dotted
3.2 Learning Techniques: Techniques for lines in Figure 7, F will turn out to be inequivalent to G.
Detecting Indirect Implications
There are several veri cation methods that extract and a d1
F
use internal correspondences between two given networks us- b
ing learning based methods. Learning involves the extraction
of indirect implications between nodes in a circuit. Recursive a d2
Learning (RL) [37], and Functional Learning (FL) [42, 30] are b
G
n3 Output
Y
4 Conclusion
n2 Due to the memory explosion problem, BDDs alone appear
unsuitablefor verifying large designs. However, they form a cru-
node from circuit C2 cial representation vehicle for the internal correspondence based
veri cation techniques. A practical combinational veri cation
Figure 8: Testing node equivalences by creating a miter tool must consolidate diverse techniques for extracting internal
correspondences. Such a technique must use the state of the art
Recently, several learning based techniques for combina- BDDs, ATPG, as well as implication based techniques. For ex-
tional veri cation have been proposed. In [36], a combinational ample, it has been observed that a veri cation technique based
veri cation tool, HANNIBAL, based on recursive learning was on exploiting internal equivalences can fail on circuits that have
presented. HANNIBAL operates in two distinct phases. In the relatively few equivalent nodes. Therefore, such a technique
rst phase, learning is carried out at all the nodes in the two needs to be combined with a learning algorithm to make use of
networks for a user speci ed number of learning levels; often, the indirect implication relations that exist between the nodes
this phase itself can verify several primary outputs of the two of the two circuits. To verify inequivalent circuits or internal
networks. In the second phase, using the learning information nodes, use of ATPG techniques appears essential. Finally, in
derived in the rst phase, an ATPG tool is invoked for verifying cases where both internal equivalence and learning techniques
the remaining primary outputs. In [41] another veri cationtool, prove inadequate, veri cation techniques should be augmented
VERIFUL, was presented which is based on functional learning. by functional partitioning, possibly using representations such
This tool also has two phases like HANNIBAL. Here learning as partitioned-ROBDDs.
is carried out at each gate using ROBDDs. These ROBDDs
g
are built using a cutset that is at a structural distance2 away
5 Acknowledgement
d
We would like to thank Rajarshi Mukherjee for his assistance
from . Here can vary from 1 to a predetermined maximum
g d
with this paper. The second author was supported by CA State
distance max . The amount of learning obtained in a network
d
MICRO program grant #94-110 and SRC 95-DC-324.
can be increased by increasing max . However, the sizes of the
References
d
ROBDDs that are built usually increase with the increase in
d . This results in an increase in the time and space resources [1] Sheldon B. Akers. Binary decision diagrams. IEEE Trans-
required. Two other learning based veri cation algorithms were actions on Computers, C-27:509{516, June 1978.
presented in [30, 48]. Both of these methods consist of an ini- [2] P. Ashar and M. Cheon. Ecient breadth- rst manipula-
tial learning phase followed by an ROBDD based equivalence- tion of binary-decision diagrams. ICCAD, 1994.
checking phase. Methods to reduce the ROBDD sizes using the
learning information were presented. In [48] the ROBDDs were [3] P. Ashar, A. Ghosh, and S. Devadas. Boolean satis abil-
pruned with an ATPG tool that uses the learning information ity and equivalence checking using general binary decision
derived in the rst phase. In [30] invariants3 based on learnings diagrams. ICCD, 1991.
are used to simplify the ROBDDs. This technique also succes- [4] R. Bahar et. al. Algebraic decision diagrams and their
sively composes BDDs in terms of cutsets of internal equivalent applications. ICCAD, 1993.
gates till the functional equivalence is resolved.
The learning based techniques have several limitations. [5] C. L. Berman and L. H Trevyllian. Functional comparison
First, they are unable to derive all internal equivalences in of logic designs for vlsi circuits. ICCAD, 1989.
limited computational resources. All the known learning tech- [6] J. Bern, C. Meinel, and A. Slobodova. Ecient OBDD-
niques discover equivalences between internal gates in circuits Based Boolean Manipulationin CAD Beyond Current Lim-
using two indirect implications: to nd if they individu- f g its. DAC, 1995.
ally determine if ) , and then if ) . However, nding
f g g f
[7] J. Bern, C. Meinel, and A. Slobodova. Some Heuristics for
indirect implications, whether through ROBDD operations [41] Generating Tree-like FBDD Types. IEEE Transactions on
or techniques such as recursive learning [37], can be relatively Computer-Aided Design, pages 127{134, January 1996.
expensive. Another problem is that there is no simple method
to determine, a priori, the number of levels of learning that [8] M. Blum et. al. Equivalence of free Boolean graphs can be
will be required on a given pair of circuits. Hence, a complete decided probabilistically in polynomial time. Information
automation of learning based veri cation tools may be dicult. Processing Letters, 10:80{82, March 1980.
Recently another ecient technique that analyzes inter- [9] K. S. Brace, R. L. Rudell, and R. E. Bryant. Ecient
nal similarities between circuits using ROBDDs was proposed Implementation of a BDD Package. DAC, 1990.
in [40]. Beginning from gates closest to primary inputs, func- [10] D. Brand. Veri cation of large synthesized designs. IC-
tion ( ) is calculated for all potentially equivalent gate pairs
g h
CAD, 1993.
2 The structural level in functional learning of [41] is a close [11] R. K. Brayton, R. Rudell, A. L. Sangiovanni-Vincentelli,
analogue of the level of learning in recursive learning. and A. R. Wang. MIS: A Multiple-Level Logic Optimiza-
3 If ) , where and are two nodes, then + is an
a b a b a b tion System. IEEE Transactions on Computer-Aided De-
invariant. sign, CAD-6(6):1062{1081, November 1987.
[12] R. E. Bryant. Graph-based Algorithms for Boolean Func- [32] S.-W. Jeong, B. Plessier, G. Hachtel, and F. Somenzi.
tion Manipulation. IEEE Transactions on Computers, C- Structural BDDs: Trading canonicity for structure in ver-
35:677{691, August 1986. i cation algorithms. ICCAD, 1991.
[13] R. E. Bryant. Boolean Analysis of MOS Circuits. IEEE [33] T. Kam and P. A. Subrahmanyam. Comparing Layouts
Transactions on Computer-Aided Design, pages 634{649, with HDL Models: A Formal Veri cation Technique. IEEE
July 1987. Transactions on Computer-Aided Design, pages 503{509,
[14] R. E. Bryant. Extraction of gate level models from tran- April 1995.
sistor circuits by four-valued symbolic analysis. ICCAD, [34] U. Kebschull et. al. Multilevel logic synthesis based on
1991. Functional Decision Diagrams. European DAC, 1992.
[15] R. E. Bryant. Symbolic boolean manipulation with or- [35] A. Kuehlmann,A. Srinivasan, and D. P. LaPotin. A Formal
dered binary decision diagrams. ACM Computing Surveys, Veri cation Program for Custom CMOS Circuits. IBM
24:293{318, September 1992. Journal of Research and Development, January 1995.
[16] R. E. Bryant and Y. Chen. Veri cation of arithmetic cir- [36] W. Kunz. HANNIBAL: An Ecient Tool for Logic Veri -
cuits with binary moment diagrams. DAC, 1995. cation Based on Recursive Learning. ICCAD, 1993.
[17] E. Cerny and C. Mauras. Tautology checking using cross- [37] W. Kunz and D. K. Pradhan. Recursive learning: An at-
controllability and cross-observability relations. ICCAD, tractive alternative to the decision tree for test generation
1990. in digital circuits. ITC, 1992.
[18] E. M. Clarke, M. Fujita, and X. Zhao. Hybrid decision [38] Y-T Lai and S. Sastry. Edge-valued binary decision dia-
diagrams. ICCAD, 1995. grams for multi-level hierarchical veri cation. DAC, 1992.
[19] E. M. Clarke et. al. Spectral transforms for large boolean [39] C. Y. Lee. Representation of switching circuits by binary-
functions with applications to technology mapping. DAC, decision programs. Bell Syst. Tech. J., 38:985{999, 1959.
1993. [40] Y. Matsunaga. An Ecient Equivalence Checker for Com-
[20] R. Drechsler et. al. Ecient representation and manipu- binational Circuits. DAC, 1996.
lation of switching functions based on Ordered Kronecker [41] R. Mukherjee, J. Jain, and M. Fujita. VERIFUL: VERI -
Functional Decision Diagrams. DAC, 1994. cation using FUnctional Learning. EDAC, 1995.
[21] S. Malik et. al. Logic Veri cation using Binary Decision [42] R. Mukherjee, J. Jain, and D. K. Pradhan. Functional
Diagramsin a Logic SynthesisEnvironment. ICCAD, 1988. Learning: A new approach to learning in digital circuits.
[22] L. Fortune et. al. The complexity of equivalence and con- IEEE VLSI Test Symp., 1994.
tainment for free single variable program schemes. Lecture [43] A. Narayan, S. P. Khatri, J. Jain, M. Fujita, R. K. Brayton,
Notes in Computer Science 62, Springer-Verlag, pages and A. Sangiovanni-Vincentelli. A Study of Composition
227{240, 1978. Schemes for Mixed Apply/Compose Based Construction of
[23] M. Fujita, H. Fujisawa, and N. Kawato. Evaluation and ROBDDs. Intl. Conf. on VLSI Design, 1996.
Improvements of Boolean Comparison Method Based on [44] A. Narayan, J. Jain, M. Fujita, and A. L. Sangiovanni-
Binary Decision Diagrams. ICCAD, 1988. Vincentelli. Partitioned-ROBDDs - A Compact, Canoni-
[24] M. Fujita. Veri cation of Arithmetic Circuits by Compar- cal and Eciently Manipulable Representationfor Boolean
ing Two Similar Circuits. CAV, 1996. Functions. ICCAD, 1996.
[25] J. Gergov and C. Meinel. Ecient Boolean Manipulation [45] H. Ochi, K. Yasouka, and S. Yajima. Breadth- rst manip-
With OBDD's can be Extended to FBDD's. IEEE Trans- ulation of very large binary-decision diagrams. ICCAD,
action on Computers, 43(10):1197{1209, 1994. 1993.
[26] K. Hamaguchi, A. Morita, and S. Yajima. Ecient con- [46] S. Panda and F. Somenzi. Who Are the Variables in Your
struction of binary moment diagrams for verifying arith- Neighborhood. ICCAD, 1995.
metic circuits. ICCAD, 1995. [47] S. Panda, F. Somenzi, and B. Plessier. Symmetry Detec-
[27] J. Jain, J. Bitner, M. Abadir, D. S. Fussell, and J. A. Abra- tion and Dynamic Variable Ordering of Decision Diagrams.
ham. Indexed BDDs: Algorithmic advances in techniques ICCAD, 1994.
to represent and verify Boolean functions. To be published [48] S. M. Reddy, W. Kunz, and D. K. Pradhan. Novel Veri ca-
in IEEE Transactions on Computers. tion Framework Combining Structural and OBDD Meth-
[28] J. Jain, J. Bitner, D. S. Fussell, and J. A. Abraham. Func- ods in a Synthesis Environment. DAC, 1995.
tional partitioning for veri cation and related problems. [49] R. L. Rudell. Dynamic Variable Ordering for Ordered Bi-
Brown/MIT VLSI Conference, 1992. nary Decision Diagrams . ICCAD, 1993.
[29] J. Jain, J. Bitner, D. S. Fussell, and J. A. Abraham. Prob- [50] J. V. Sanghavi, R. K. Ranjan, and A. Sangiovanni-
abilistic veri cation of Boolean functions. Formal Methods Vincentelli, and R. K. Brayton. High Performance BDD
in System Design, 1: 61 { 115, 1992. Package by Exploiting Memory Hierarchy. DAC, 1996.
[30] J. Jain, R. Mukherjee, and M. Fujita. Advanced Veri ca- [51] K. J. Singh and P. A. Subrahmanyam. Extracting RTL
tion Techniques Based on Learning. DAC, 1995. models from transistor netlists. ICCAD, 1995.
[31] J. Jain, A. Narayan, C. Coelho, S. Khatri, A. Sangiovanni- [52] D. F. Stantat and D. A. McAllister. Discrete Mathematics
Vincentelli, R. Brayton, and M. Fujita. Decomposition in Computer Science. Intl. Series in Applied Mathematics.
Techniques for Ecient ROBDD Construction. Formal Prentice-Hall, Englewood Cli s, N.J., 1977.
Methods in CAD 96, LNCS. Springer-Verlag, 1996.