15
Equivalence Checking of Combinational Circuits using Boolean Expression Diagrams Henrik Hulgaard, Poul Frederick Williams, and Henrik Reif Andersen Abstract— The combinational logic-level equivalence problem is to de- termine whether two given combinational circuits implement the same Boolean function. This problem arises in a number of CAD applications, for example when checking the correctness of incremental design changes (performed either manually or by a design automation tool). This paper introduces a data structure called Boolean Expression Dia- grams (BEDs) and two algorithms for transforming a BED into a Reduced Ordered Binary Decision Diagram (OBDD). BEDs are capable of repre- senting any Boolean circuit in linear space and can exploit structural simi- larities between the two circuits that are compared. These properties make BEDs suitable for verifying the equivalence of combinational circuits. BEDs can be seen as an intermediate representation between circuits (which are compact) and OBDDs (which are canonical). Based on a large number of combinational circuits, we demonstrate that BEDs either outperform or achieve results comparable to both stan- dard OBDD approaches and the techniques specifically developed to exploit structural similarities for efficiently solving the equivalence problem. Due to the simplicity and generality of BEDs, it is to be expected that combining them with other approaches to equivalence checking will be both straightforward and beneficial. Keywords— Tautology checking, combinational logic-level verification, equivalence checking, Boolean circuits. I. I NTRODUCTION HIS paper presents a technique for formally proving that two combinational circuits implement the same Boolean function. This verification problem, referred to as the combi- national logic-level equivalence problem, arises in a number of CAD applications related to validating the correctness of a cir- cuit design: Due to the increase in the complexity of design automation tools and the circuits they manipulate, such tools cannot in gen- eral be assumed to be correct. Instead of attempting to formally verify the design automation tools, a more practical approach is to formally check that a circuit generated by a design automation tool functionally corresponds to the original input (the specifi- cation). Such a check is an instance of the combinational logic- level equivalence problem when the design automation tool only manipulates the combinational portion of the circuit. The logic-level equivalence problem also arises when a circuit is manually modified in order to accommodate special require- ments which cannot be handled by the design automation tool (so-called engineering changes). The designer can ensure that no functional errors have been introduced by verifying that the original and modified designs are functionally identical. Finally, the combinational logic-level equivalence problem arises as a sub-problem in other (higher-level) verification prob- lems. For example, when verifying arithmetic circuits by check- ing that they satisfy a given recurrence equation [1] or when ver- ifying the equivalence of two state machines without performing a state traversal [2]. Financially supported by the Danish Technical Research Council. The authors are with the Department of Information Technology, Technical University of Denmark. E-mails: {henrik,pfw,hra}@it.dtu.dk The straightforward approach to solving the combinational logic-level equivalence problem is to use Reduced Ordered Bi- nary Decision Diagrams [3] (OBDDs). To verify that two com- binational circuits with outputs and are equivalent, the OBDD for is constructed, where and represent the Boolean function for and , respectively. Due to the canon- icity of OBDDs, the two circuits implement the same Boolean function if and only if the resulting OBDD is identical to the terminal . This approach is simple and works well for many circuits, but it has two inherent limitations: The first problem is that the size of the OBDD representation for and may be exponential in the size of the combinational circuit, no matter what variable ordering is used. A well-known example of this problem is the multiplication function which Bryant [3] showed does not have any sub-exponential OBDD representation for any variable ordering. The second problem is that OBDDs cannot exploit structural similarities of the two circuits that are verified. Consider ver- ifying that two identical circuits implement the same Boolean function. In this case, the full OBDD for both and is con- structed before the identity of the circuits is verified. In typical applications, the circuits to be verified are of course not identi- cal, but in all three application areas listed above, the two com- binational circuits are structurally similar. To efficiently verify the circuits, it is essential to be able to exploit these similarities. We suggest a newly developed data structure [4] called Boolean Expression Diagrams (BEDs) for solving the combi- national logic-level equivalence problem. BEDs are an exten- sion of OBDDs that allow any Boolean circuit to be represented in linear space. Furthermore, BEDs can recognize and share identical sub-expressions. These properties eliminate the two problems with the OBDD approach listed above and thus make BEDs a promising data structure for solving the equivalence problem. The price one pays for the compactness of BEDs is that BEDs are not canonical. Our approach to showing that the BED for is a tautology is to transform it into an equivalent OBDD. A key observation is that it is possible to construct the OBDD for without constructing the OBDD for and . For exam- ple, the verification may succeed even if and each represent a multiplication function for which no small OBDD exists. Thus, using BEDs, one can potentially avoid an exponential blowup when computing the intermediate results. The BED data structure is obtained by extending the OBDD representation with operator vertices: Definition 1 (Boolean Expression Diagram) A Boolean Ex- pression Diagram (BED) is a directed acyclic graph with vertex set and edge set . The vertex set contains three types of vertices: terminal, variable, and operator vertices. A terminal vertex has as attribute a value .

Equivalence checking of combinational circuits using Boolean expression diagrams

Embed Size (px)

Citation preview

IEEE TRANSACTIONSON COMPUTER-AIDEDDESIGNOF INTEGRATED CIRCUITSAND SYSTEMS,VOL. XX, NO. Y, MONTH 1999 1

EquivalenceCheckingof CombinationalCircuitsusingBooleanExpressionDiagrams

HenrikHulgaard,PoulFrederickWilliams, andHenrikReif Andersen

Abstract— The combinational logic-level equivalenceproblem is to de-termine whether two given combinational circuits implement the sameBooleanfunction. This problem arises in a number of CAD applications,for examplewhen checking the correctnessof incremental designchanges(performed either manually or by a designautomation tool).

This paper intr oducesa data structure called BooleanExpressionDia-grams (BEDs) and two algorithms for transforming a BED into a ReducedOrdered Binary Decision Diagram (OBDD). BEDs are capable of repre-sentingany Booleancircuit in linear spaceand can exploit structural simi-larities betweenthe two circuits that arecompared. ThesepropertiesmakeBEDssuitablefor verifying the equivalenceof combinational circuits. BEDscan be seenasan intermediate representationbetweencircuits (which arecompact)and OBDDs (which are canonical).

Based on a large number of combinational circuits, we demonstratethat BEDs either outperform or achieve resultscomparable to both stan-dard OBDD approachesand the techniquesspecificallydevelopedto exploitstructural similarities for efficiently solving the equivalenceproblem.

Due to the simplicity and generality of BEDs, it is to be expectedthatcombining them with other approachesto equivalencecheckingwill bebothstraightforward and beneficial.

Keywords— Tautology checking, combinational logic-level verification,equivalencechecking,Booleancircuits.

I . INTRODUCTION�HIS paperpresentsa techniquefor formally proving thattwo combinationalcircuits implementthe sameBoolean

function. This verificationproblem,referredto as the combi-national logic-level equivalenceproblem, arisesin a numberofCAD applicationsrelatedto validatingthecorrectnessof a cir-cuit design:� Due to the increasein the complexity of designautomationtoolsandthecircuitsthey manipulate,suchtoolscannotin gen-eralbeassumedto becorrect.Insteadof attemptingto formallyverify thedesignautomationtools,a morepracticalapproachisto formally checkthatacircuit generatedbyadesignautomationtool functionally correspondsto the original input (the specifi-cation).Sucha checkis aninstanceof thecombinationallogic-levelequivalenceproblemwhenthedesignautomationtool onlymanipulatesthecombinationalportionof thecircuit.� Thelogic-levelequivalenceproblemalsoariseswhenacircuitis manuallymodifiedin orderto accommodatespecialrequire-mentswhich cannotbe handledby the designautomationtool(so-calledengineeringchanges).The designercanensurethatno functionalerrorshave beenintroducedby verifying that theoriginalandmodifieddesignsarefunctionallyidentical.� Finally, the combinationallogic-level equivalenceproblemarisesasasub-problemin other(higher-level) verificationprob-lems.For example,whenverifying arithmeticcircuitsby check-ing thatthey satisfyagivenrecurrenceequation[1] or whenver-ifying theequivalenceof two statemachineswithoutperforminga statetraversal[2].

Financiallysupportedby theDanishTechnicalResearchCouncil.The authorsarewith the Departmentof InformationTechnology, Technical

Universityof Denmark.E-mails:{henrik,pfw,hra}@it.dtu.dk

The straightforward approachto solving the combinationallogic-level equivalenceproblemis to useReducedOrderedBi-naryDecisionDiagrams[3] (OBDDs). To verify that two com-binational circuits with outputs � and � are equivalent, theOBDD for ����� is constructed,where � and � representtheBooleanfunction for � and � , respectively. Dueto thecanon-icity of OBDDs, the two circuits implementthe sameBooleanfunction if andonly if the resultingOBDD is identical to theterminal . This approachis simpleandworks well for manycircuits,but it hastwo inherentlimitations:� Thefirst problemis thatthesizeof theOBDD representationfor � and � maybeexponentialin thesizeof thecombinationalcircuit, no matterwhatvariableorderingis used.A well-knownexampleof this problemis the multiplication function whichBryant [3] showed doesnot have any sub-exponentialOBDDrepresentationfor any variableordering.� Thesecondproblemis thatOBDDscannotexploit structuralsimilaritiesof the two circuits that areverified. Considerver-ifying that two identical circuits implementthe sameBooleanfunction. In this case,the full OBDD for both � and � is con-structedbeforethe identity of thecircuits is verified. In typicalapplications,thecircuits to beverifiedareof coursenot identi-cal,but in all threeapplicationareaslistedabove, thetwo com-binationalcircuitsarestructurallysimilar. To efficiently verifythecircuits,it is essentialto beableto exploit thesesimilarities.

We suggesta newly developed data structure [4] calledBooleanExpressionDiagrams(BEDs) for solving the combi-nationallogic-level equivalenceproblem. BEDs arean exten-sionof OBDDsthatallow any Booleancircuit to berepresentedin linear space. Furthermore,BEDs can recognizeand shareidentical sub-expressions.Thesepropertieseliminatethe twoproblemswith theOBDD approachlistedabove andthusmakeBEDs a promising datastructurefor solving the equivalenceproblem.

Thepriceonepaysfor thecompactnessof BEDsis thatBEDsarenot canonical. Our approachto showing that the BED for���� is atautologyis to transformit into anequivalentOBDD.A key observationis thatit is possibleto constructtheOBDDfor��� � withoutconstructingtheOBDD for � and � . For exam-ple,theverificationmaysucceedevenif � and� eachrepresentamultiplicationfunctionfor which no smallOBDD exists.Thus,usingBEDs, onecanpotentiallyavoid an exponentialblowupwhencomputingtheintermediateresults.

TheBED datastructureis obtainedby extendingtheOBDDrepresentationwith operatorvertices:

Definition1 (BooleanExpressionDiagram) A Boolean Ex-pressionDiagram(BED) is adirectedacyclic graph�������������with vertex set � andedgeset � . The vertex set � containsthreetypesof vertices:terminal,variable,andoperatorvertices.� A terminalvertex � hasasattributeavalue ������� �!�#"%$'&(�*),+ .

2 IEEE TRANSACTIONSON COMPUTER-AIDEDDESIGNOF INTEGRATED CIRCUITSAND SYSTEMS,VOL. XX, NO. Y, MONTH 1999

� A variablevertex � hasasattributesa variable �-�/.0���'� , andtwo children1 �32�45���'�6�67'8:9-7;���'�<">= .� An operatorvertex � hasasattributesa binaryBooleanoper-ator 2�?����'� , andtwo children �@2/45���'� , 7A8:9*7B� �!�C"�� .Theedgeset � containstheedges�D�E�F�@2�4�� �!�G� and �D�E�67'8:9-7B���'� �for each�H"�� where� is nota terminalvertex.

We use I and to denotethe two terminalvertices.The re-lation betweena BED andtheBooleanfunction it representsisstraightforward.Variableverticescorrespondto theif-then-elseoperatorJKL�NM-�O�-P definedby

JQKL� M �O� P ���DJSRQ� M �(T%��UBJSRQ� P �WVOperatorverticescorrespondto their respective Booleancon-nectives, leading to the following correspondencebetweenBEDsandBooleanfunctions:

Definition2: A vertex � in aBEDdenotesaBooleanfunction�YX definedrecursively as:� If � is a terminalvertex, then � X ��������� �!� .� If � is avariablevertex, then �YX is thefunction

� X ������.0� �!��KL�,Z6[]\GZN^`_baO���,c:d ef^`_bagV� If � is anoperatorvertex, then �YX is thefunction

� X �h�,c:d ef^`_bai2�?����'�kjWZ6[l\GZN^m_nagVClearly, BEDs areclosely relatedto combinationalcircuits.

Any Booleancircuit [5] canbe transformedinto a BED by re-placingeachinput J with the BED representingJ (a variablevertex � with ����.0���'�o��p , �@2�45� �!�o�qI , and 7'8:9-7f���!�r�s ) andreplaceeach t -input gateby a treeof tQuwv operatorverticesencodingthe Booleanfunction of the gate. This translationisclearly linearin size.Similarly, any BED canbeconvertedto acircuit. Eachvariableoccurringin theBED is aninputto thecir-cuit. An operatorvertex is replacedby thecorrespondinggate,anda variablevertex � with thesub-circuit �xUBJyRQz/�,T{�|JyR~}g� ,where J%���-�/.0���!� , z��s�@2/45���!� , }���7A8:9*7f� �!� . This translationis also linear. Thus, in termsof succinctnessBEDs andcom-binationalcircuits are equally expressive. For instance,sincetherearecombinationalcircuitsimplementingmultiplicationus-ing only aquadraticnumberof gates[6], therealsoexistsBEDsof this sizerepresentingthem.

To illustratehow BEDsareusedto checktheequivalenceoftwo combinationalcircuits, considerthe circuits in Fig. 1. Toverify theequivalenceof thetwo circuits,theBED for eachcir-cuit is constructedandthecorrespondingoutputsareconnectedwith biimplications,seeFig. 2 (the low-edgesaredrawn usingdashedlines). We show thatbothrootsof this BED aretautolo-gieswithout constructingOBDDs for the two circuits by per-forming a case-spliton thevariable ��� . (Thesestepsareanap-proximationof how the algorithm UP_ONE works; the detailsfollow in SectionIII-B.) When � � is false,a simpleevaluationof theBED accordingto Definition2 yieldsthatbothoutputsofthecircuitshave thevalue v andthusthebiimplicationreducesto . In the othercase,when � � is true, the BED is simplifiedbut doesnot immediatelyreduceto the terminal . The BEDfrom Fig. 2 afterthecase-splitonvariable��� is shown in Fig. 3.Thus,by moving ��� to the top, we have shown that theoutputsof the two circuitsareidenticalfor all input combinationswith

���� ����� M ���

M� ��

���� ����� M ��� �

M� � ��

Fig. 1. Two combinationalcircuitsimplementingthesameBooleanfunction.

� �����

�m� �3� �3� �@�

� �� �

10

root1 root 2

��G� � � � �� �G� ��

� ��

Fig. 2. TheBED usedin checkingtheequivalenceof thetwo circuitsin Fig. 1.

���H��� (noticethat the low-edgeof the variablevertex with ���pointsto ). Thecasewhere � � ��v is provedby applyinglo-cal reductionrules(thesereductionrulesaredescribedin moredetail in SectionII-C) andidentifying equivalentvertices(ver-ticeswith sameoperator, low- andhigh-child). This is shownin Fig. 4 and5. Notice that the final OBDDs (the terminal )for both rootsareconstructedwithout building the OBDDsforoutputs

���� and��� �� ( �B��vN�O� ).

The efficiency of this way of transforminga BED into anOBDD is illustrated when verifying that two combinational16-bit multipliers (c6288 andc6288nr from the ISCAS 85benchmark)implementthesamefunction. UsingBEDs,the32outputsareshown to beidenticalin lessthantwo seconds.Us-ing OBDDs, this verification problemis infeasibledue to theblowup of the OBDD representationwhosesizeis exponentialin thenumberof operandbits.

Similar to OBDDs, the efficiency of the BED approachre-lies on a good variable ordering. We describetwo orderingheuristicswhich seemto work well with BEDs. Using theseheuristics,we reporton theverificationresultsfor a largenum-berof circuits (morethan250circuits) from theISCAS85 andLGSynth91 benchmarks.The resultsshow that the BED ap-

HULGAARD etal.: EQUIVALENCE CHECKING OF COMBINATIONAL CIRCUITSUSINGBOOLEAN EXPRESSIONDIAGRAMS 3

1

(e)

root1

1

(f)

���

root1

�3��3�

�� �

�� � � � � �

10

���

root1

�3�

� �

� � � � � �

10

��

root1

� �

� � � �� �

10

�� �

root1

�3�

� � � � � �

10

root1

(a) (b) (d)(c)

Fig. 4. Stepsusedto show thatroot 1 from Fig. 3 is a tautology. a) to b) Usethe identity �Y�m�A�#���0�*�W���@�# o�-� . b) to c): Identify thetwo   vertices.c) to d):Identify thetwo � vertices.d) to e): Usetheidentity �@�o¡w�N�E��¢ . e) to f): Usetheidentity �3£m¤�¥�¢/¦�¢*�E��¢ .

root 2

� �

10

�@��

root2

� ��

1

�@�

0 1

root2

� �

1

root2

� ��

root2

� �

10

�3� �@�

(b) (c) (d) (e)(a)

Fig. 5. Stepsusedto show thatroot2 from Fig. 3 is a tautology. a) to b): Usetheidentity �Y�3�f�r�@�� <�*�x�E�Q�0� . b) to c): Identify thetwo � vertices.c) to d): Usetheidentity �3�o¡w�N�k�§¢ . d) to e): Usetheidentity �3£`¤�¥�¢N¦�¢*�k�§¢ .

proachperformsextremelywell for circuitsthatarestructurallysimilar (sometimesseveral ordersof magnitudefasterthanex-isting techniques)andis capableof verifying very largecircuits(up to 104,000gates)which havebeendrasticallymodified(us-ing SIS[7] to reducearea).

A. RelatedWork

Current approachesfor equivalencecheckingof combina-tional circuits canbe classifiedinto two categories: functionalandstructural.

The functional methodsconsistof representinga circuit asa canonicaldecisiondiagram. Two circuits are equivalent ifandonly if their decisiondiagramsareequal(isomorphic).To

overcometheproblemswith OBDDsmentionedabove,a num-ber of more expressive, yet still canonical,decisiondiagramshave beenproposed. One can useother typesof decomposi-tion rules [8], [9], relax the variableorderingrestriction[10],[11], [12], [13], or extendthedomainsand/orcodomainsto in-tegersinsteadof Booleans[14], [15], [16]. Theseextensionsaretypically targetedto solving a particularclassof problems,e.g.,beingableto representthe multiplication function. Thesecanonicalrepresentationsall have worst caseexponentialsize,thusthey areall exponentiallylesscompactthanBEDs.

The structuralmethodsexploit similaritiesbetweenthe twocircuits that are comparedby identifying relatednodesin thecircuits andusing this information to simplify the verification

4 IEEE TRANSACTIONSON COMPUTER-AIDEDDESIGNOF INTEGRATED CIRCUITSAND SYSTEMS,VOL. XX, NO. Y, MONTH 1999

� �

�m� �3� �@�

� ���

root1 root2

� � � �

10

� �

Fig. 3. TheBED from Fig. 2 wherevariable £`¤ hasbeenmovedup.

problem. Thesetechniquesrely on the observation that if twocircuits arestructurallysimilar, they will have a large numberof internalnodesthatarefunctionallyequivalent(typically, formorethan80%of thenodesin onecircuit, thereexistsanodeintheothercircuit which is functionallyequivalent[17]). Thisob-servationis usedin severalways.Brand[18] usesa testgenera-tor for determiningwhetheronenodecanbereplacedby anotherin a givencontext (thenodesneednot necessarilybe function-ally equivalentaslong asthe differencecannotbe observedattheprimaryoutput).If so,thereplacementis carriedout. In thisway, onecircuit is graduallytransformedinto theother. Thekeyproblemis to find a sufficiently largenumberof pairs,yetavoidhaving to spendtime testingall possiblepairsof nodes.Severalheuristicsareusedto selectcandidatepairsof nodesto check,e.g.,thelabelingof nodesandtheresultsof simulation.

Test generationtechniquesare also the basisfor the recur-sive learningtechniquefor finding logical implicationsbetweennodesin thecircuitsby Kunzetal. [19], [20]. To enablethever-ificationof largercircuits,therecursive learningtechniquescanbe combinedwith OBDDs [21], [22]. The learningtechniqueis further extendedby Jainet al. [23] andby Matsunaga[24],introducingmore generallearningmethodsbasedon OBDDsandbetterheuristicsfor finding cuts in the circuits to split theverificationprobleminto moremanageablesizes.

Eijk andJanssen[25], [26] usethe canonicityof OBDDs todeterminewhetherone node is functionally equivalent to an-other. If two nodesarefoundto be identical,they arereplacedwith a new freevariable.Heuristicsareusedto selectcandidatepairsof nodesto checkfor equivalence.Themainproblemwiththis techniqueis to managethe OBDD sizeswheneliminatingfalsenegatives(whenre-substitutingOBDDsfor theintroducedfreevariables).

Cerny andMauras[27] presentanothertechniquefor compar-ing two circuitswithout representingtheir full functionality. Arelationthat representsthe possiblecombinationsof logic val-

uesat a givencut is propagatedthroughthetwo circuits. A keyproblemwith thisandtheothercut-basedtechniques[21], [22],[23], [24], [25], [26] is that the performanceis very sensitiveto how thecutsarechosenandthereis no generallyapplicablemethodto chooseappropriatecuts.

Thetechniqueby KuehlmannandKrohm [17] representsthemostrecentdevelopmentof the structuralmethods,combiningseveralof theabovetechniquesanddevelopingbetterheuristicsfor determiningcuts.KuehlmannandKrohmrepresentthecom-binationalcircuitsusinganon-canonicaldatastructurewhich issimilar to BEDs exceptthatonly conjunctionandnegationop-eratorsare used. This datastructureis only usedto identifyisomorphicsub-circuitssince no operatorreductionsare per-formed.We believethatthestructuraltechniqueby KuehlmannandKrohm would benefitsignificantlyfrom replacingtheusedcircuit representationwith BEDs sincethe continuousapplica-tion of the reductionruleswould reducethe circuit representa-tion andhelpin identifyingequivalentsub-circuitswhichin turnwould improvetheperformanceof their technique.

BEDscanbeseenasanintermediaterepresentationbetweenthe compactcircuits and the canonicalOBDDs. Comparedtothefunctionaltechniques,BEDsarecapableof exploitingequiv-alencesof the two circuits andthe performanceis provably noworse than when using OBDDs. Comparedto the structuraltechniques,BEDsonly have a limited capabilityto find equiva-lencesbetweenpairsof nodes(sinceonly local operatorreduc-tion rulesareincluded).CombiningBEDswith structuraltech-niqueswould be beneficialsinceinformationaboutequivalentnodesimmediatelyreducethe sizeof the BED andmake evenfurtheridentificationsof nodespossible.

During the last threedecadesthe AI communityhasworkedon developing efficient satisfiability checkers. They could inprinciple be usedto solve the equivalenceproblemfor combi-national circuits. However, comparisonsbetweenalgorithmsbasedon the prominentDavis-Putnamalgorithm andOBDDsshow that althoughefficient for typical AI problems,they arequiteinferior to OBDDson circuits[28].

Hachteland Jacoby[29] describean algorithm for solvingtheequivalenceproblemby searchingfor a counterexampleus-ing a treeformedby casesplitting (co-factoring)thecombinedcircuitsonthevariablesof theprimaryinputs.If duringthegen-erationof the co-factortreea subcircuitstructurallyequivalentto a previously visitedsubcircuitis found,thepreviousresultisused.Equivalenceis determinedby matchingthestringsrepre-sentingthe formula of the two subcircuits.On smallercircuits(up to 100 gates)this approachis demonstratedto work well.To someextent oneof the algorithmsof synthesizingOBDDsfrom BEDs(UP_ONE) canbeseenasanimprovedversionof theHachtel-Jacobyalgorithmin which the identificationof equiv-alentsubcircuitsis improvedbothby theuseof reductionrulesandthroughthesharingof nodes.

The BED data structure is inspired by the MORE ap-proach[30], [31] to synthesizingOBDDs. MORE is basedontheobservationthat theOBDD for �¨T� canbeconstructedbyintroducinga new variable J andimplicitly existentially quan-tify J since©AJ(V J~KL�g���ª�«�¬T�� . MOREconstructstheOBDDby moving J towardsthe terminalverticesusing the level ex-changeoperation[32]. The BEDs differ from the MORE ap-

HULGAARD etal.: EQUIVALENCE CHECKING OF COMBINATIONAL CIRCUITSUSINGBOOLEAN EXPRESSIONDIAGRAMS 5

proachby theiruseof operatorreductionsandthenew synthesisalgorithms(whichwork onarbitraryBEDswhereoperatorsandvariablesarefreelymixed).

Priorto thework onMORE,Plessieretal. [33], [34] proposeda variantof OBDDscalledExtendedBDDs (XBDDs) obtainedby addingstructural variableswhichcanbebothuniversallyandexistentially quantified.Quantificationsaredescribedasanno-tationson pointersleadingto nodeswith structuralvariables.The quantificationsallow Booleanoperationsto be expressed.During constructionof anXBDD from a circuit, a trade-off canbe madebetweenremoving a structuralvariableand performOBDD synthesisor keepingthe structuralvariable. Two algo-rithmsfor checkingsatisfiabilityof XBDDs weregiven(onere-quiringup to exponentialspace,theotherrequiringlinearspacebut exponentialtime). No algorithmsfor convertinganXBDDinto aOBDD weregiven.Usingthesatisfiabilityalgorithmstheauthorsshowedthatalthoughthegrowth is still exponential,theequivalencebetweenthemedianbit of two structurallydifferentmultiplier circuitscouldbeprovenfor two 16 bit multipliers.

BEDsextendtheideasof XBDDs andMOREto includearbi-trary binaryoperatorsandallowing theseoperatorsto remaininthegraphwhile transformingit. (In XBDDs andin theMOREapproach,two nodesareneededto representanexclusive-oror abiimplication.)Thismakesit possibleto includeoperatorreduc-tion rules anddevelop new OBDD synthesisalgorithms(e.g.,UP_ONE) which are essentialfor obtaining the runtimespre-sentedin this paper.

B. Overview

Thepaperis organizedasfollows. Theconstructionof BEDsis presentedin SectionII. In SectionIII we describedthealgo-rithms for transforminga BED into anequivalentOBDD. Sec-tion IV describestwo heuristicsfor choosingavariableorderingbasedon thetopologyof thecircuit. SectionV presentstheex-perimentalresults,verifying a large numberof combinationalcircuits from the ISCAS 85 andLGSynth91 benchmarks.Fi-nally, SectionVI summarizesthecontributionsof this paper.

I I . CONSTRUCTION OF BEDS

BED verticesareconstructedusingasingleconstant-timeop-erationcalled ­ª�F®°¯b±g2*²N¯ . This operationensuresthat theBEDis reducedandalsoperformsseveral optimizationsof the rep-resentation. Contraryto OBDDs, reducednesswill not makeBEDscanonical(not evenwhencombinedwith a fixedvariableordering.)

A. ReducedBEDs

We shall forbid theexistenceof redundantvertices,i.e., twoverticesrepresentingisomorphicsub-BEDsandverticesthatareunnecessaryfor obvious reasons.For readability, we use ³<�|�A�to denotethe“tag” 2O?´� �!� or �-�/.0���!� on non-terminalvertices.

Definition3: A BED is reducedif it containsatmosttwo dif-ferentterminalverticesandfor all non-terminalvertices,µ and

� :

�|���¶�@2/45��·E�����@2/45���!�n�O7A8:9*7B� ·E�i�¸7A8:9*7B� �!�n� and³<�|µW���«³<�|�A� implies µ~�¹�g��D�����¶�@2/45��·E�rº�>7'8:9-7B��·g�6� and�D������� for all operatorvertices� ,�@2/45���'� and 7A8:9*7B� �!� arenon-terminals.WeshallassumethatBEDsarealwaysreduced.TheBEDsin

Fig. 2 and3 arereduced,but someof theintermediateBEDsinFig. 4 and5 violateconditions �D��� and �|����� of reduceness.

Thefirst conditionof Definition 3 is fulfilled by properreuseof vertices.This is convenientlytakencareof duringconstruc-tion of aBED by testing,wheneveranew vertex is to becreated,whetheranothervertex with the samevariable/operator, low-andhigh-child exists. If this is the case,that vertex is reused,otherwisea new vertex is created. Similarly, the secondandthird conditionsarefulfilled by never constructingverticesthatviolatethem.For variablevertices,it is clearthatif thelow- andhigh-child coincide,eitheroneof themcanbe usedinsteadofcreatinganew variablevertex. For operatorvertices,oneshouldobserve that if the two argumentsareidentical,or oneof themis a terminalvertex, all thesixteenBooleanconnectivesreduceto oneof thefollowing six: »§�0��»�v (constant� / v ), ¼WM , ¼g� (pro-jection onto first or secondargument), ½¼YM , ½¼E� (the negationofthefirst or secondargument).In thefirst two cases,oneof theterminal verticesis used. The projectionsare avoided by us-ing theproperlow- or high-childinstead.Thenegationsrequirecreationof a negatingvertex, i.e., an operatorvertex with theoperator ½¼ M . Sucha vertex caneasilybe constructedso that itfulfills �|����� and �|������� by taking the redundantsecondargumentto beany non-terminalvertex differentfrom thefirst.

We shallassumethepresenceof a function

­ª�F®°¯b±g2*²N¯A�x³i�F���O7E�that performsall the checksabove and returnsthe identity ofthe resultingvertex, equivalent to a vertex µ with ³<�|µW��¾³ ,�@2/45��·E�#�q� , 7A8:9*7B� ·E�<��7 . Using ­ª�F®°¯n±Y2F²°¯ astheonly meansfor constructingaBED ensuresthatit is reduced.

B. OrderedandFreeBEDs

Inspiredby OBDDs,wedefinecertainrestrictionsonthevari-ablesof BEDs:

Definition4: A BED is freeif on all pathsthroughthegrapheachvariableoccursat mostonce;it is orderedif on all pathsthevariablesrespecta giventotalorder ¿ .

We refer to a free BED asFBED andto an orderedBED asOBED.Observe thatan(O)BDD is simply an(O)BED withoutoperators.From thesedefinitionswe get the following inclu-sionsamongsub-classesof BEDs:

OBDD À DAG of OBDDs À OBED À FBED À BED VTheclass“DAG of OBDDs” representsBEDs thatconsistof alayerof operatorson topof a layerof OBDDs.Booleancircuitsthataretransformedinto BEDsbelongto thisclass(in thiscase,theOBDDsareinitially verysimple,eachconsistingof asinglevariable). Furthermore,this classoccursin the traditionalsyn-thesisof OBDDs, wherethe operatorsrepresentAPPLY-calls.

6 IEEE TRANSACTIONSON COMPUTER-AIDEDDESIGNOF INTEGRATED CIRCUITSAND SYSTEMS,VOL. XX, NO. Y, MONTH 1999

SinceBooleancircuitscanbetransformedinto a “DAG of OB-DDs” in linear time (and space)and a (general)BED can betransformedinto a Booleancircuit in linear time (and space),the last four classesareequallyexpressive. This is quiteunlikefor OBDDswherethereis anexponentialgapbetweenOBDDsandfreeBDDs,andbetweenfreeBDDs andBDDs.

C. Operator reductions

For operatorverticesone can add more checksin order toreusevertices,therebyreducingthe size of the BED. An im-mediateoptimizationis to extend ­ª�F®°¯n±Y2F²°¯ to look for oper-ator verticesthat differ from the onewantedonly by exchang-ing low andhigh, by a negation,or by a combinationof both.Going a step further, consideringtwo verticesat a time, wecan eliminate all negationsbelow binary operatorssince forall binary operators2O? thereexists anotheroperator 2O? �

with2�? � �xpf�bÁ'�Â�Ã2�?��xU´pf�FÁ!� . Finally, taking the identity of verticesinto accountallows us to exploit equivalenceslike the absorp-tion laws, e.g., J�T§�DJ�RªÄ0���«J . Thereare vFÅNÆ combinationsofÇ binary Booleanoperators,thusit is feasibleto tabulatethemall for Ç up to threeor four.

ChoosingÇ �«È allowsusto determineoperator2-cuts. Con-sidera BED with the structureshown in Fig. 6 (a), that is, forsomevertex µ , all pathsfrom µ to the terminalsgo throughei-thervertex ÉÊM or ÉË� . Theset $FÉÊM/� ÉË��+ is a2-cutandsuchacutcanbeusedto reducethesizeof theBED asshown in Fig. 6 (b).Thatis, all verticesfrom µ to theoperator2-cutcanbereplaced

Ì � Ì �Only operator

vertices

(b)(a)

��ÍÌ � Ì �

X

Î

Fig. 6. A BED with anoperator2-cut ÏGдÑ6¦xÐfÒ6Ó .with a singleoperatorvertex � with ³<�|�A�r� �OÔ

, �@2/45���!�r�s4�Õ ,and 7A8:9*7B� �!���Ö4;× . Notice that $*ÉoM�� ÉË�N+ with �-�/.0��4�Õ!�5�Ö8`×and ����.0��4 × �~�Ø8:Ù is the operator2-cut for the reductionsinFig. 4 (a)andFig. 5 (a).

By usinga reductiontable,theBED canbeconstructedsuchthat the only operator2-cut for a vertex µ is the trivial cut$°�32�4Â��·E�n�O7A8:9*7;� ·E�O+ . Thiscanbedoneby ­ª�F®°¯n±Y2F²°¯ in constanttime sincea new operatorvertex will only have non-trivial 2-cuts amongits childrenandgrand-childrenand thesecuts areincludedin a reductiontable.

We have systematicallyimplementedreductionrules for allpossiblecombinationsof three( Ç �ÚÈ ) operatorsorganizedasa tree,seeFig. 7. For example,thereductiontableincludesthedistributive law, seeFig. 8. For eachcombinationof thepossi-ble operators(

�OÔ,�OÔ Î , and

�OÔX ) andthe possibleequivalences

betweenthenodes( µ , µgÛ , µYÜ , � , ��Û , and �NÜ ) wehavedetermined(by exhaustive search)whetherthe samesub-functioncan be

Î�Ý

��Í

X ÝX�Þ

ÎËß X ßÎ Þ

��Ínà ��Íbá

Fig. 7. A treeof threeoperatorvertices.

��

Î � Î � Î �

�� �

Î � Î � Î �â/ã

Fig. 8. A reductiontablefor äÂ�~å includesinformationonhow eachcombina-tion of upto threeBED operatorverticescanbereduced.Herethereductionrule for oneof thedistributive laws is usedto eliminateoneof theoperatorvertices.

representedby fewer nodes.If this is possible,thereductionisincludedin thereductiontable.Thus,giventhreeoperatornodesandthe equivalencesof the nodesandtheir children,it is pos-sible by a simpletable lookup (performedin constanttime) todeterminetheoptimalrepresentation.

Fig. 9 shows the algorithmsfor constructingBED verticesusingthe reductionrules. Verticesarecreatedusing ­5® whichcallsthealgorithm .G¯O² to applythereductionrules.Noticehowthe reductionrulesareappliedrepeatedlyuntil no morereduc-tionsarepossible.

æDç�è �xé�êA¦�ë!¦ ìF�k�1: í:îB�3ï�ð'¦Dñ0¦DòF� is in reductiontable óOô!õ*ö2: ÷GõbóOø'÷6ö æxç�è �xù éGé�úOë�êk��é�êA¦�ë°¦GìF�D�3: õ-û:ü õ´÷GõbóOø'÷6ö��`ï�ðA¦DñA¦DòF�ý úN�3þg¦Gùm¦�ÿ��g�1: í:îWþ is operatoróOô!õ-ö2: ÷GõbóOø'÷6ö ý�� ú ç�� é ènç � æxç�è �`þg¦ ùm¦�ÿ��x�3: õ-û:ü õ´÷GõbóOø'÷6ö ý�� ú ç�� é ènç �3þg¦ ùm¦�ÿ��

Fig. 9. The æDç�è and ý ú algorithms.

We applythereductionrulesevery timewe createa new ver-tex; both whenbuilding the initial BED, andduring the trans-formationof theBED into anOBDD. We have chosento applythe samesetof rulesin bothcases.Our rulesarefastto applybecauseof their simplestructure,yet powerful enoughto cap-ture laws suchas the distributive laws andto ensurethat onlytrivial operator2-cutsexist. It would be possibleto usedif-ferentsetsof rulesfor building andtransformingtheBED. Forexample,onesetof rulescould bring the BED to a form suchthat finding a goodvariableorderingwaseasier, while anothersetof rulescould aim at minimizing the datastructureduringthe transformation.Nikolskaiaet al. [35] usea setof rulestorewrite Booleanexpressionsfor fault treesbeforeconstructingtheOBDD. Therewriting rulesandstrategiesaim atstructuringtheformulasuchthat thevariableorderingheuristicswork bet-ter. In thesubsequentOBDD construction,they do not useanyreductionrules.

HULGAARD etal.: EQUIVALENCE CHECKING OF COMBINATIONAL CIRCUITSUSINGBOOLEAN EXPRESSIONDIAGRAMS 7

It is well known that not all 16 binary Booleanconnectivesareneeded

�to representany Booleanexpression.For example,

the sets{ nand} and{ or, not} are functionally complete. It isthereforepossibleto limit thedifferentoperatorsin theBED tothoseof any completeset. Choosinga small set,e.g.,{ nand},the depthof the BED increasesas several nand operatorsareneedto representother operatorslike exclusive-or. To effec-tively handlesuchcases,thereductionruleswouldneedto lookto a greaterdepthto achieveequallypowerful reductions.This,however, greatlyincreasesthenumberof casesto considerandthus complicatesthe reduction-step.Keepinga depthof two(i.e., Ç � È ) with a minimal operatorset like { nand}, overallperformancedecreasessincelessreductionsareperformed.Ontheotherhand,usingasmalloperatorsethastheadvantagethatchancesfor identifyingverticesincreasessinceall operatorsareexpressedin termsof asmallsetof operators.Wehavefoundthefollowing setof operatorsto beagoodtrade-off betweenasmallandlargeoperatorset:{ nand,or, right implication,left implica-tion, biimplication}. This setof operatorshasthepropertythatall ten non-trivial binary Booleanoperatorscan be expressedfrom it usingexactly oneoperatoror the negationof anopera-tor which canbeabsorbedby anoperatorimmediatelyaboveit.Thus,no moreoperatorverticesareneededto representa givenBooleanexpressionthanusingthefull setof all 16operators.

I I I . COMBINATIONAL VERIFICATION USING BEDS

TheprocedureVERIFY, shown in Fig.10,determineswhethertwo combinationalcircuits implementthe sameBooleanfunc-tion. The input to VERIFY consistsof the two combinational

VERIFY � circuit �fÑ6¦ circuit �WÒO�k�1: root-list � BUILD_BED ���fÑ6¦��WÒ6�2: î°÷ eachroot ñ in root-list ��3: Constructavariableorderfor thevariablesin �ëGênê*é æ�� �xë�� .4: Transformñ to anequivalentOBDD ò usingUP_ONE or UP_ALL.5: í]îYò���%¢fóOô!õ*ö6: Reporterror. ANYNONSAT �@òF� is acounterexample.7: enddo

Fig. 10. Algorithm for solvingthecombinationallogic-level verificationprob-lemusingBEDs.

circuits �ËM and �<� to be compared. The first step is to con-structthe BED for �ËM and �<� andconnectcorrespondingout-puts with biimplications. The resulting roots are returnedinroot-list (line 1). For eachpair of primaryoutputs(line 2), weconstructavariableorder(line 3) usingoneof theheuristicsde-scribedin thenext section.Thesupportof a vertex µ is thesetof variablesreachablefrom µ :

� ·*?N?k2�.��b� ·E�i��$°����.A���'���N� is avariablevertex and µ�� �¨+i�whereµ�� � denotesthatthereis apathfrom µ to � in theBED.To prove that a Booleanfunction representedby a BED µ is atautology, wetransformtheBED into anequivalentOBDD (line4) usingoneof the two algorithmsdescribedin the following.If theresulting(canonical)OBDD is not theterminal , we canreportthatthegivenpairsof primaryoutputsarenotfunctionallyequivalentandthe input assignmentobtainedfrom the OBDDprocedureANYNONSAT is acounterexample.

In this section,we describetwo algorithmsfor transformingaBED into anequivalentOBDD. It shouldbeobservedthatanytransformationalgorithmfromBEDsto OBDDswill necessarilyhave exponentialworst-caseruntime(assumingP º� NP). Thisfollows sincedeterminingSATISFIABIL ITY of a BED is NP-completeanddeterminingTAUTOLOGY is co-NP-complete[36]andtheseproblemsareeasyfor OBDDs.

It is easilyseenthatan (O)BDD is simply an (O)BED with-outoperators.Thissuggestsastrategy for convertingBEDsintoOBDDs: graduallyeliminatethe operators,keepingall the in-termediateBEDs functionally equivalent. We have developedtwo very differentwaysof operatoreliminationcalledUP_ONE

andUP_ALL. In thefollowing, it is assumedthat theBEDsareordered(andthusalsofree). This assumptionsimplifiestheal-gorithmsand doesnot limit the expressivenessof BEDs (seeSectionII). It is straightforwardto extendthealgorithmsto workfor thegeneralclassof (non-ordered,non-free)BEDsandthesealgorithmshave the sameasymptoticruntimeas the onespre-sentedhere.Themoregeneralalgorithmscanbeused,e.g.,formakinga freeBDD ordered(i.e., transformingit to anOBDD)or for reorderinganOBDD.

A. TheUp-Step

A key operationon BEDsis theup-stepwhich movesa vari-ablevertex up above anoperatorvertex. Let 2�? beanarbitrarybinaryBooleanoperator, let J bea Booleanvariable,andlet � �and � �� ( �<���k�bv ) bearbitraryBooleanexpressions.It is simpleto verify that

�|JQKL� M �O� P �<2�?��xp~K j�Õ �xj

�� ���hp K �:j Õ 2�?�j�Õ �n�F�:j � 2O?5j

�� �YVThis identity, illustrated in Fig. 11 (a), is usedto move thevariable J above the operator 2O? and is the basisfor the up-step1. In caseswhereone of the children µ doesnot containthe variable J , a new variablevertex � , with �-�/.A���!�ª�Öp and�@2/45���!�¨�Ö7'8:9-7B���'�S�¾· , is insertedbelow the operatorvertexbeforeperformingthe up-step,seeFig. 11 (b). In fact, this isthe only way the sizeof theBED canincreasewhenmoving avariabletowardstheroot.

The up-stepmovesoperatorscloserto the terminalvertices.Whenan operatorreachesa terminal,it disappearsby require-ment �D������� of reducedness(or it reducesto aunaryoperator, i.e.,a projectionor a negation).By repeatedlymoving variablever-ticesaboveoperatorvertices,all operatorverticesareeliminatedandtheBED is turnedinto anOBDD.

Fig. 12 shows how ������ � from Fig. 2 is shown to be a tau-

tology by moving the variable ��� to the top using a seriesofup-steps.This exampleillustratesthat it may not be necessaryto move all variableverticesto the root in order to obtain anOBDD. Theremainingthreevariablescouldhavebeenreplacedwith arbitrarylarge BEDs, andthe tautologywould have beenprovedwith exactly thesamesteps.

The example illustratesone way to convert a BED to anOBDD, moving thevariablesto thetop oneat a time. This ap-proachis called UP_ONE andits main advantageis that it can

Ñ Theequationalsoholdsif theoperatorvertex op is a variablevertex. In thatcase,the up-stepis identical to the level exchangeoperationtypically usedinOBDDsto dynamicallychangethevariableordering[37].

8 IEEE TRANSACTIONSON COMPUTER-AIDEDDESIGNOF INTEGRATED CIRCUITSAND SYSTEMS,VOL. XX, NO. Y, MONTH 1999

�3�� � �

��

1

� �0

� � � ��

���

��

� �

��

� �� �� �

�3�10

�@�

��

�3�

�3�10

�@��� �

��

�3��

�3� �@�

� ��

10 1

� �1

��3�

�� �

�3� �@�10

��3�

10

�@���

� �

�3��

1

0

�@��� �

��3�

10

�@�

���3�

��3�

(a)

(e) (j)

(b) (c) (d)

(f) (g) (h) (i)

0

Fig. 12. Proving that �6ïOï! DÒ is a tautology. (a) The BED for �6ïOï! DÒ from Fig. 2. (b) £`¤ is moved above the threeconjunctions(onebeingnegated)usingthreeup-steps.Noticethat,at thispoint,variableandoperatorverticesareno longerseparatedin two distinctlayers.(c) Conjunctionswith childrenthatareconstantverticesareeliminated.(d) £`¤ is movedabove thedisjunction.(e)Thedisjunctionwith bothchildrenequalto " is removed. (f) £m¤ is movedabove thenegatedconjunction.(g) Theconjunctionwith a " child is eliminated.Theabsorptionlaw � �W�@�Ë ��*�B� �A� is applied. (h) Thenegationverticesareidentified. (i)Identifying the two verticeswith £m¤ . At this point the two childrenof the biimplication operatorareidenticaland(j) the BED is reducedto ¢ , proving thetautology.

exploit structuralinformationin theexpression(aswasthecasein theexample).

B. Constructionof OBDDswith UP_ONE

The first elimination algorithm is basedon the algorithmUP_ONE shown in Fig. 13. UP_ONE pulls a singlevariableupto theroot by performinga recursivedepth-firsttraversalof theBED andaftertherecursivecallsonthelow- andhigh-childof avertex, it makesanup-step.Repeatedcallsto UP_ONE for eachvariablemovesall variablesup pasttheoperators,which makesthe operatorsdisappear(by requirement�|������� of reducedness).The table # is usedto memoizepreviously computedresultsandensuresa linearexpectedruntime.

The example in Fig. 12 shows the steps of performingUP_ONE �|���/�$� ����� � � . As the example illustrates, in fortunatecasesa BED is convertedinto an OBDD after moving just afew variablesup (in the example,onevariablewassufficient).In this process,identicalsub-BEDs,potentiallycontainingop-eratorvertices,are identified. This is quite unlike traditionalOBDD constructionwhereall operatorsareconvertedin depth-

first orderinto OBDDs. In particular, anOBDD is constructedfor each sub-expression.If theresultis smallandtheintermedi-ateOBDDsarelarge,UP_ONE is anattractivealternative.

Thenumberof verticesin theBED reachablefrom avertex µis denoted% µ&%0�'%l$*�(�0µ)���E+�% . Thefollowing propertiesholdfor UP_ONE when �ª� UP_ONE �|J(�GµY� :

�|��� �YX��h� Î.�|�����*% �+%�, �-% µ.%-u v .�D������� Therunningtimeof UP_ONE is /y�!% µ.% � .

To useUP_ONE to transformaBED µ into anOBDD � with thevariableordering J M ¿102030Ë¿ J Æ , UP_ONE is calledonceforeachvariablein theordering:

�54 UP_ONE �DJ Æ � UP_ONE �DJ Æ�6 M �FVbVbV UP_ONE �DJ M � µW�+03020 � �WVEven thoughUP_ONE haslinear runtime and it is calledonlyÇ times, the runtimeof this computationis exponentialin theworstcasedueto thepotentialincreasein sizeof theintermedi-ateresults.

HULGAARD etal.: EQUIVALENCE CHECKING OF COMBINATIONAL CIRCUITSUSINGBOOLEAN EXPRESSIONDIAGRAMS 9

��Í

7�8 7 �9

Î 7:8 7 �9

��Í

ÎX ��Í ��Í

9

7 8 7 � Î

��Í9

9��Í ��Í

7:8 7 � 7 �8 7 ��â/ã

7�8 7 �89

7 � 7 ��

(b)

(a)

â/ãâ/ã

Fig. 11. Illustration of the up-step(a) for the casewherevariable � exists inbothchildrenof therootand(b) for thecasewhere� only occursin theleftchild.

UP_ONE �3�'¦xñ°�E�1: í:îB�@�'¦Dñ!�<;>=@? óOô!õ-öo÷�õnó6ø'÷OöA?¨�CBN¦�D/�2: õ-û:ü õ�í]îYñ is a terminal ó6ô!õ*öÊ÷GõbóOø'÷6ö#ñ3: õ-û:ü õ�í]îWþg�@ñ!� is variable�ióOô!õ-öË÷�õnóOø'÷6öoñ4: õ-û:ü õ5: �FEm¦HGN�I��� UP_ONE �@�'¦�ù é�J��xë��x��¦ UP_ONE ��K!¦�ÿ2L MOÿ!�xë��x�D�6: í]îWþg�@ñ!� is avariablewith ì �6æ �Dë/�ONPK�óOô!õ-ö7: �&� ý ú°�xì �6æ �Dë/��¦�ùm¦�ÿ��8: õ*û@ü�õ�í]îWþg��E@� and þg��GN� arebothvariable �´ó6ô!õ*ö9: �&� ý ú°�K!¦ ý úN�3þg�Dë/��¦Où é�J´�Dù@��¦ ù é�J��|ÿ��D��¦ý úN�3þg�Dë/��¦Gÿ2L>M�ÿ'�Dù@��¦�ÿ2L>M�ÿ'�mÿ��x�D�10: õ*û@ü�õ�í]îWþg��E@� is variable �´óOô!õ-ö11: �&� ý ú°�K!¦ ý úN�3þg�Dë/��¦Où é�J´�Dù@��¦�ÿ���¦ý úN�3þg�Dë/��¦Gÿ2L>M�ÿ'�Dù@��¦�ÿ��x�12: õ*û@ü�õ�í]îWþg��GN� is variable �´óOô!õ-ö13: �&� ý ú°�K!¦ ý úN�3þg�Dë/��¦Oùm¦�ù é�J´�|ÿ��D��¦ý úN�3þg�Dë/��¦Oùm¦�ÿQL MOÿ!�mÿ/�D�D�14: õ*û@ü�õ15: �&� ý ú°�`þg�Dë/��¦�ùm¦�ÿ��16: insert �x�@�'¦�ñ°��¦��6� in R17: ÷GõbóOø'÷6ö��

Fig. 13. TheUP_ONE-operation.UP_ONE takesanorderedBED ñ asargumentandreturnsanequivalentBED with � pulledup asfar aspossiblewithoutviolating theordering. The imposedtotal orderon the variableverticesisdenotedN . Thememoizationtable R mustbeinitialized to emptyprior tothefirst call.

C. Constructionof OBDDswith UP_ALL

An alternativeway to constructanOBDD is to moveall vari-ablesup simultaneously, called UP_ALL. UP_ALL is a gener-alizationof Bryant’s APPLY-operator, shown in Fig. 14. Con-structionof OBDDsfrom a Booleanexpressionusingrecursivecalls of APPLY suggestsa bottomup conversionof BEDs intoOBDDs. The UP_ALL algorithmdoesthatby moving all vari-ablesupasablockpasttheoperatorvertices.UP_ALL is shownin Fig. 15.

Let µ be a vertex in a BED andlet ��� UP_ALL �|µW� . Then

APPLY �xé�êk¦�ùm¦�ÿ/�Â�í:îB�FE|¦SGN�T;>=U? ó6ô!õ*ö%÷GõbóOø'÷6öV?¨�XW`¦ZY/�õ-û:ü õ�í]î[EQ\]=Q^UYU\]_S`baS`�_Scd;>=e\]W>f°óOô!õ*ö�&� é�êk�Dì � ù ë ç �Dù@��¦ ì � ù ë ç �mÿ��x�õ-û:ü õ�í]îBì �6æ �xù@�k�%ì �6æ �|ÿ��!óOô!õ-ö�&� ý ú°�Dì �6æ �Dù@��¦ APPLY ��é�ê0¦�ù é�J��xù@��¦ ù é�J´�|ÿ��D��¦APPLY ��é�ê0¦�ÿ2L>M�ÿ'�Dù@��¦�ÿ2L>M�ÿ'�mÿ��x�D�õ-û:ü õ�í]îBì �6æ �xù@�+N�ì �6æ �|ÿ��!óOô!õ-ö�&� ý ú°�Dì �6æ �Dù@��¦ APPLY ��é�ê0¦�ù é�J��xù@��¦�ÿ/��¦APPLY ��é�ê0¦�ÿ2L>M�ÿ'�Dù@��¦�ÿ��x�õ-û:ü õ<ì �6æ �Dù@�[g�ì �6æ �mÿ��Oh�&� ý ú°�Dì �6æ �mÿ���¦ APPLY ��é�ê0¦�ùm¦Gù é�J´�|ÿ��D��¦APPLY ��é�ê0¦�ùm¦�ÿ2L MOÿ!�|ÿ��D�x�;>=�f�`:_SaE�x�XW`¦SY/��¦S_��<;>=i?÷�õbóOø'÷6öË÷

Fig. 14. The APPLY-operation.AssumesE and G areOBDDs. The imposedtotal orderon thevariableverticesis denotedN . In thecodeit is assumedthatterminalverticesareincludedat theendof this orderwhencomparingì �6æ �xù@� and ì �6æ �mÿ�� . Thememoizationtable R mustbeinitializedto emptyprior to thefirst call.

UP_ALL �@ñ!�k�1: í:îYñU;>=@RwóOô!õ*öÊ÷�õnóOø'÷6öAR%�3ñ°�2: õ-û:ü õ�í]îYñ is a terminal ó6ô!õ*öÊ÷GõbóOø'÷6ö#ñ3: õ-û:ü õ4: �FEm¦�GN�-��� UP_ALL �Dù é�J´�Dë/�D��¦ UP_ALL �|ÿ2L MOÿ!�xë��x�D�

/ jOE and G areOBDDs j /5: í]î[E and G areterminalverticesó6ô!õ*ö6: �&� ý úN�3þg�xë���¦Oùm¦�ÿ��7: õ*û@ü�õ�í]îYþg�@ñ!� is avariable �´óOô!õ-ö8: �&� ý úN��K'¦ ùm¦�ÿ��9: õ*û@ü�õ�í]îfì �6æ �xù@�k�%ì �6æ �|ÿ��!ó6ô!õ*ö10: �&� ý úN�Dì �6æ �Dù@��¦ UP_ALL � ý úN�3þg�xë���¦Où é�J´�xù@��¦Gù é�J´�|ÿ��D�x��¦

UP_ALL � ý úN�3þg�xë���¦Gÿ2L MOÿ!�xù@��¦�ÿQL MOÿ!�mÿ/�D�D�x�11: õ*û@ü�õ�í]îfì �6æ �xù@�+N�ì �6æ �|ÿ��!ó6ô!õ*ö12: �&� ý úN�Dì �6æ �Dù@��¦ UP_ALL � ý úN�3þg�xë���¦Où é�J´�xù@��¦�ÿ��D��¦

UP_ALL � ý úN�3þg�xë���¦Gÿ2L MOÿ!�xù@��¦�ÿ/�D�D�13: õ*û@ü�õ<ì �næ �Dù@�[g�ì �næ �mÿ/�kh14: �&� ý úN�Dì �6æ �mÿ���¦ UP_ALL � ý úN�3þg�xë���¦Oùm¦�ù élJ´�mÿ��x�D��¦

UP_ALL � ý úN�3þg�xë���¦Oùm¦�ÿ2L MOÿ!�|ÿ��D�x�D�15: ;>=Qf�`:_SaE�3ñA¦S�n� in R16: ÷GõbóOø'÷6ö��

Fig. 15. The UP_ALL-operationon OBEDs. The total order N is definedasfor APPLY (seeFig. 14). Thememoizationtable R mustbe initialized toemptyprior to thefirst call.

UP_ALL hasthefollowing key properties:

�|��� �YXÂ�«� Î.�D����� � is anOBDD.�|������� If z and } areOBDDs, then APPLY �G2O?;�F���O7E� �

UP_ALL � ­y�*®N¯b±g2*²N¯'��2�?��b���67k�G� .�D���'� If z and } are OBDDs, the running time ofUP_ALL ��2�?´�b���67k� is /y�$% z$%F% }m% � .

Properties �D������� and �D���A� make clear the relation betweenUP_ALL andAPPLY. Thetime to build anOBDD bottomupus-ing APPLY (thestandardway) andbuilding it from aBED usingUP_ALL is within a constantfactor. Experimentshave shownthat the time to constructan OBDD using UP_ALL is compa-rableto thatof state-of-the-artOBDD packagesanddueto theoperatorreductions,it canbesignificantlyfaster. However, theworst-caseruntimeof UP_ALL is exponentialin % µ.% , but for thesamereasonasUP_ONE, this is optimal.

10 IEEE TRANSACTIONSON COMPUTER-AIDEDDESIGNOF INTEGRATED CIRCUITSAND SYSTEMS,VOL. XX, NO. Y, MONTH 1999

IV. VARIABLE ORDERING

Theefficiency of UP_ONE andUP_ALL dependson thevari-ableorder. Although the initial andfinal sizeof the BEDs areindependenton thevariableorderwhenthetwo circuits imple-mentthesamefunctionandthustheresultis thetautology , thesizeof theintermediateBEDsdependon theordering.

A largenumberof variableorderingheuristicshave beende-velopedfor OBDDsbasedonthetopologyof acircuit [33], [38],[39], [40], [41], [42], [43]. The heuristicsattemptto staticallydeterminea variableordersuchthat the OBDD representationof thecircuit is small. Typically, theseheuristicsconsistof twostepsto obtaina singleglobal variableorder: first, an orderoftheprimaryoutputsis constructed,thenfor eachof theprimaryoutputsin this order, the variablesin the supportof the outputareordered.Weonlyconsiderthesecondstep(findingavariableorderfor agivenprimaryoutput),sincedifferentvariableorderscanbeusedfor differentrootsof a BED (seeFig. 10). This al-lows a greaterflexibility to find goodvariableorderssincetheordersof the primary outputsare independent.However, thecostis that thereis only limited reusebetweenverifying differ-entprimaryoutputs.

Since UP_ALL essentiallyworks as an improved APPLY

(property �|������� ), the variableordersthat aregood for OBDDswill alsobegoodordersto usewith UP_ALL. Thus,whenusingUP_ALL we canimmediatelyusethe variableorderingheuris-ticsdevelopedfor OBDDs.

SinceUP_ONE worksquitedifferentlythanUP_ALL, thevari-ableorderingheuristicsdevelopedfor OBDDs may not be ef-fective whenusing UP_ONE. However, our experimentsshowthat this is not so; a good OBDD variable order also keepstheintermediateBEDssmallwhenconstructinganOBDD withUP_ONE. The reasonfor this is that a goodvariableorderforOBDDshasdependentvariablesclosein theorder. This allowsUP_ONE to collapsesub-circuitsearly in the verification pro-cess.Also, agoodvariableorderhasthevariablesthataffect theoutputthemostearlyin theorder. UP_ONE will thenpull thesevariablesto theroot first which allows themostreductions.Anexampleof thiswastheuseof � � in theintroductoryexampleinFig. 3.

In the following we presenttwo variableorderingheuristics,originally developedfor OBDDs, which have proven to be ef-fective for BEDs.

A numberof variableorderingheuristicsarebasedonadepth-first traversalof thecircuit [39], [41], [42]. A depth-firsttraver-sal is a simpleandfastheuristicthathasshown to bepracticalfor mostcombinationalcircuits [33], [39] sinceinputsthat areclosetogetherin thecircuit arealsoplacedtogetherin theorder-ing. Thedepth-firstbasedheuristicsdiffer in how they decideinwhat orderthe inputsof a gatearevisited. The FANIN heuris-tic by Malik et al. [42] usesthedepthof the inputsto a gatetodeterminein whatorderto considerthe inputs. The depthof aterminalor variablevertex is � andthedepthof anoperatorver-tex µ is n5oepW�G²N¯�?q�|7B���32�45��·g� �6�-²N¯�?q�|7B��7A8:9*7B� ·E� �G�Urq) . The totalruntimeof FANIN to determinethevariableorderof s rootsis/y�ts Ç � [42] where Ç is the total numberof reachableverticesfrom the s roots.

The FANIN heuristicdoesnot capturethatvariablesaffectingthe output the most shouldbe orderedfirst, somethingwhich

is particularly important for UP_ONE. The DEPTH_FANOUT

heuristic[43] attemptsto determinethe variablesthataffect anoutput the mostby propagatinga valuefrom the outputback-wards towards the primary inputs. The value is distributedevenly amongthe input signalsto a gate: if a valueof u is as-signedto theoutputof a gatewith Ç input signals,thevalueas-signedto eachof the Ç faninsignalsis incrementedby u2v Ç (thesignalmay be input to several gatesandthusobtainsa contri-bution from eachgate).After propagatingthevaluethroughoutthecircuit to theprimary inputs,the DEPTH_FANOUT heuristicaddstheprimaryinput with thehighestvalueto thevariableor-der. This input is thenremovedfrom thecircuit andtheprocessis repeateduntil all variablesin thesupporthave beenincludedin the variableorder. The runtime of DEPTH_FANOUT �DµY� is/y�xtws Ç � whereÇ is thetotalnumberof reachableverticesfromthe s rootsand t is thenumberof variables(inputsto thecir-cuit). Thus,this heuristictakesslightly longerto computethanFANIN.

V. EXPERIMENTAL RESULTS

In this section,we reporttheresultsfrom verifying a numberof multi-level combinationalcircuits from the ISCAS 85 andLGSynth91 benchmarks2.

TheISCAS85benchmarkconsistsof elevenmulti-levelcom-binationalcircuits,nineof which exist both in a redundantanda non-redundantversion.Furthermore,thebenchmarkcontainsfive circuits that originally werebelieved to be non-redundantversionsbut it turnedout thatthey containederrorsandweren’tfunctionallyequivalentto theoriginal circuits[20].

The circuits in the ISCAS 85 benchmarkare by somere-searchersconsideredtoo simple to useas benchmarkcircuitswith todaystechnology. This maybetrue for someapplicationareasbut thesecircuits have several propertiesthat make themsuitableasbenchmarkcircuitsfor evaluatingtechniquesfor per-forming a combinationallogic-level verification. First, the cir-cuits, althoughquite small, arenot easyto verify both due totheir functionality (for example,oneof the circuits is a multi-plier for which OBDD techniquesfail) anddueto a ratherlargelogic-depth(up to 125logic levels).Evenwith recentstructuraltechniques,someof thesecircuitstakemorethananhourto ver-ify [21]. Secondly, thecircuits in theISCAS85 benchmarkareideallysuitedfor testinglogic-levelverificationtechniquessincethey comein two functionallyequivalentversions.

To evaluatethe BED techniqueon a broaderand more re-alistic class of circuits, we also considerthe 77 multi-levelcombinationalcircuits and the 40 sequentialcircuits from theLGSynth91benchmark.Thesecircuitsdonotcomein two ver-sions,so insteadwe mapeachof the circuits to a gatelibraryusingSIS[7] andthenoptimizethecircuitswith respectto area.We then verify that 1) the mappedcircuit correspondsto theoriginal description,and2) that the mappedandthe optimizedcircuits implementthesamefunctionality. Dueto thenatureofthemappingandoptimizationsteps,thecircuitsdiffer in struc-tureconsiderablymorethantheISCAS85 circuits.

All experimentsarecarriedout on a 300MHz PentiumII PCrunningLinux. Verificationapproachesbasedon decisiondia-

Ò Thesebenchmarksareavailablefrom TheCollaborative BenchmarkingLab-oratory(http://www.cbl.ncsu.edu/)

HULGAARD etal.: EQUIVALENCE CHECKING OF COMBINATIONAL CIRCUITSUSINGBOOLEAN EXPRESSIONDIAGRAMS 11

gramstypically run out of memorybeforerunningout of time.Thus, to demonstratethe effectivenessof BEDs, in all experi-mentswe limit thememoryconsumptionto 32 MB dividedbe-tween28 MB of memoryto thenodetable(that is 1.46millionnodescorrespondingto 20bytespernode)and4 MB to caches.

The runtimesto determinethe variableordersare insignifi-cant(atmosttwo secondsfor any of thecircuits)whenusingtheFANIN heuristic. Using the DEPTH_FANOUT heuristicit takeslessthenthreesecondsfor theISCAS85 circuits,lessthanfivesecondsfor the combinationalLGSynth 91 circuits, and lessthantensecondsfor thesequentialLGSynth91 circuits exceptfor the circuits s15850.1, s38417, ands38584.1 whichtake 33.7,111.8,and94.1seconds,respectively. The timestodeterminevariableordersarenot includedin theCPUtimesre-portedin thefollowing,makingadirectcomparisonbetweenthedifferentverificationapproachespossible.

A. TheISCAS85 circuits

Table I shows the size of the ISCAS 85 circuits and Ta-bleII showstheruntimesto performtheequivalencecheckusingBEDs. Whenusing UP_ONE, the DEPTH_FANOUT heuristic

TABLE I

SI ZE OF THE ISCAS 85 BENCHMARK CIRCUITS.

Circuit Inputs Outputs Gates

c432/nr 36 7 433c499/nr 41 32 516c499/c1355 41 32 868c1355/nr 41 32 1204c1908/nr 33 25 2134c2670/nr 157 63 2603c3540/nr 50 22 3901c5315/nr 178 123 6018c6288/nr 32 32 4847c7552/nr 207 107 8067

TABLE II

RUNTIMES (IN CPU SECONDS) FOR VERIFYING EQUIVALENCE OF THE

REDUNDANT AND NON-REDUNDANT CIRCUITS IN THE ISCAS 85

BENCHMARK . FOR EACH PAIR OF CIRCUITS, THE TIME IS GIVEN WHEN

USING THE TWO DIFFERENT VARIABLE ORDERING HEURISTICS FANIN AND

DEPTH_FANOUT (ABBREVIATED D._F.) AND USING THE TWO DIFFERENT

ALGORITHMS FOR TRANSFORMING A BED INTO AN OBDD, UP_ONE AND

UP_ALL . THE BEST RUNTIMES ARE HIGHLIGHTED USING BOLDFACE. A

‘ x ’ REPRESENTS THAT THE VERIFICATION FAILED DUE TO LACK OF

MEMORY.

UP_ONE UP_ALL

Circuit FANIN D._F. FANIN D._F.

c432/nr 2.5 2.2 2.1 2.2c499/nr 5.2 2.6 2.4 2.6c499/c1355 1.6 1.6 1.6 1.6c1355/nr 5.3 2.6 2.6 2.6c1908/nr 1.0 1.0 1.0 1.0c2670/nr 1.4 1.2 1.0 1.0c3540/nr 16.9 21.8 17.0 33.7c5315/nr 17.8 3.1 3.1 3.1c6288/nr 2.0 x x xc7552/nr 4.6 3.7 2.6 2.6

generallycomputesa bettervariableorder than FANIN, while

there is little differencebetweenthe two ordering heuristicswhenusingUP_ALL.

Theperformanceof UP_ONE andUP_ALL is comparableex-ceptfor thecircuit c6288 whereonly UP_ONE succeeds.Thiscircuit implementsa16-bitmultiplier for which it is known thattheOBDD representationgrows exponentially[3]. TheOBDDrepresentationof a 16-bit multiplier usesmorethan40 millionvertices[44] andthis numberis approximately2.7 timeslargerfor eachadditionalbit in theoperands.Thus,UP_ALL will failon this circuit no matterwhatvariableorderingis used.In con-trast,UP_ONE neverbuildstheOBDDrepresentationof themul-tiplication functionandthusthecircuitscanbeverifiedin just afew seconds.

A.1 Proving Non-Equivalence

Table III shows the runtimesto determinenon-equivalenceof the erroneousISCAS 85 circuits. The reportedCPU timesarefor finding all errors.Althoughit doestake longerto provenon-equivalence,asexpectedsincelessequivalencesexist, theincreasein theruntimesis insignificant.

TABLE III

RUNTIMES (IN CPU SECONDS) FOR SHOWING NON-EQUIVALENCE OF THE

REDUNDANT AND NON-REDUNDANT CIRCUITS IN THE ISCAS 85

BENCHMARK .

UP_ONE UP_ALL

Circuit # errs. FANIN D._F. FANIN D._F.

c1908/nr_old 1 1.0 1.0 1.0 1.0c2670/nr_old 6 6.5 x 1.3 xc3540/nr_old 5 26.6 23.3 17.3 27.9c5315/nr_old 33 29.1 4.3 3.6 3.5c7552/nr_old 28 7.0 8.7 2.9 3.6

A.2 Effectof OperatorReductions

To illustrate the effect of operatorreductions,we repeattheexperimentsin Table II and III but without performingany ofthe operatorreductionsdescribedin SectionII-C. The only re-ductionsperformedarethoserequiredto maintainreducedness,seeDefinition 1. Theoperationof UP_ALL thenreducesto thatof APPLY, thatis, theperformanceof UP_ALL correspondsverycloselyto that of APPLY in a reasonableimplementationof anOBDD package.Theresultsareshown in TableIV. Clearly, theefficiency of UP_ONE reliesheavily on the operatorreductionsto identify identicalnodesin theBED andthusavoidingto trans-forming theminto OBDDs.Without reductions,a largenumberof thecircuitscannotbeverified(with 32 MB of memory)andthe runtimesfor thosethat do succeedareup to several ordersof magnitudelonger.

WhenusingUP_ALL thesituationis quitedifferent.In build-ing anOBDD usingUP_ALL, any vertex thatis constructeddur-ing the transformationwill have non-operatorverticesas thechildren.I.e.,whenever ­y�*®N¯b±g2*²N¯'�x³i�F���O7E� is calledin thebodyof UP_ALL, both z and } arevariableor terminalvertices.Thus,theoperatorreductionsonly affect theperformanceof UP_ALL

by reducingthe initial sizeof theBED. For somecircuits (e.g.,c3540) this initial reductionhasa largeimpacton theruntime

12 IEEE TRANSACTIONSON COMPUTER-AIDEDDESIGNOF INTEGRATED CIRCUITSAND SYSTEMS,VOL. XX, NO. Y, MONTH 1999

TABLE IV

RUNTIMy

ES (IN CPU SECONDS) FOR VERIFYING EQUIVALENCE OF THE

REDUNDANT AND NON-REDUNDANT CIRCUITS IN THE ISCAS 85

BENCHMARK WITHOUT PERFORMING OPERATOR REDUCTIONS.

UP_ONE UP_ALL

Circuit FANIN D._F. FANIN D._F.

c432/nr 2.9 2.6 2.5 2.3c499/nr 166.1 x 2.5 4.1c499/c1355 532.5 x 3.9 4.8c1355/nr 743.5 x 4.1 4.8c1908/nr x 15.3 1.0 1.0c2670/nr x 29.0 1.4 1.9c3540/nr 111.7 x 56.9 145.4c5315/nr x 4.8 3.5 3.3c6288/nr x x x xc7552/nr 7.4 7.2 3.1 3.7

c1908/nr_old x 14.9 1.0 1.0c2670/nr_old x x 1.5 xc3540/nr_old 116.4 x 60.4 126.4c5315/nr_old x 6.0 4.0 3.7c7552/nr_old 10.0 15.2 3.1 4.1

of UP_ALL. This experimentindicatesthat performingan ini-tial operatorreductionstep,asdiscussedin theintroduction,canimprovethetime to constructanOBDD.

B. TheLGSynth91 Benchmarks

By construction,the redundantandnon-redundantversionsof theISCAS85 benchmarkcircuitshave many structuralsim-ilarities and are thus ideally suited for the BED approach.To test the verification strategy on a broader range of cir-cuits with fewer structural similarities, we considerthe cir-cuits from the LGSynth 91 benchmark. This benchmarkin-cludes 77 multi-level combinationalcircuits and 40 sequen-tial circuits. These circuits are mappedto a gate library(msu.genlib) usingSISandthenoptimizedfor areausingtheSISscriptscript.algebraic. As mentionedabove, therearetwo verificationproblems:oneis to verify that theoriginalcircuitscorrespondto themappedversionsandoneis to verifythemappedversionsagainsttheoptimizedversions.Dueto thenatureof themappingandoptimizationsteps,thecircuitsdifferin structureconsiderablymorethantheISCAS85 circuits. Theresultsfor the 77 combinationalcircuits areshown graphicallyin Fig. 16. The eleven ISCAS 85 circuits are includedin theLGSynth91 benchmarkandalthoughsomeof theLGSynth91circuitsareconsiderablylarger thanthe ISCAS85 circuits, theISCAS circuits are the most difficult onesto verify using theBED approach.Themappingof eachcircuit is verified in lessthanthreeminutes.The resultsfor the verificationof the opti-mizationsteparesimilar, exceptthattheverificationof theopti-mizationstepof C6288 failedusingbothUP_ONE andUP_ALL.

The resultsfor theverificationof (thecombinationalportionof) the40 sequentialcircuits in theLGSynth91 benchmarkareshown in Fig. 17. Themappingof thetraditionallydifficult cir-cuit s38417 takes20 minutesto verify andtheverificationofmm9b failsfor bothvariableorderingheuristics.Themappingoftheremaining38circuitsis verifiedin lessthanoneminute.Theoptimizationof eachcircuit, exceptfor mm9b ands38417, isalsoverifiedin lessthanoneminute. Theverificationof mm9b

ands38417 both fail whenusing32 MB of memory. Using64 MB of memory, s38417 is verified in an hour using theFANIN orderingheuristic.Thecircuitmm9b is aninstancewherethe two orderingheuristicsfail to constructa goodvariableor-der, thustheverificationof boththemappingandtheoptimiza-tion stepsfail, evenwhenusing64 MB of memory. Using theorderin whichthevariablesappearin thespecification,themap-pingof mm9b is verifiedusing64MB of memoryin 207secondsand270secondsusingUP_ONE andUP_ALL, respectively. Sim-ilarly, the optimizationof mm9b is verified in 69 secondsand115secondsusingUP_ONE andUP_ALL, respectively.

C. Comparisonsof Results

The ISCAS 85 benchmarkhasbeenusedextensively by re-searchersto test techniquesfor solving the equivalenceprob-lem. Sinceall researchershave solvedtheexactsameverifica-tion problems,thereis a goodbasisfor comparingthedifferentapproaches.TableV showstheruntimesto verify theISCAS85circuitsusingrecentmethods.

Theexperimentsarecarriedoutondifferentmachinesandarethereforenot directly comparable.However, the efficiency ofthemachinesonly differ by asmallconstantandnotby ordersofmagnitudeandthereforethecomparisonsstill givea goodindi-cationof therelativevirtuesof thedifferentapproaches.Theex-perimentsof Brand[18] is anexceptionsincehedoesnot reportruntimesfor comparingthe redundantand the non-redundantversions. Insteadthe circuits are synthesizedand optimized,muchin thesameway aswe havedonefor theLGSynth91 cir-cuits. This might well bea moredifficult verificationproblem.FromTableV it is clearthatthelearning-basedapproaches[21],

TABLE V

RUNTIMES (IN CPU SECONDS) OF OTHER APPROACHES FOR VERIFYING

THE ISCAS 85 BENCHMARKS. NOTICE THAT THE RESULTS OF

BRAND [18] ARE NOT DIRECTLY COMPARABLE SINCE A DIFFERENT

VERIFICATION PROBLEM IS SOLVED. “ N/A” DENOTES THAT THE RUNTIME

HAS NOT BEEN REPORTED.

Circuit BED [18] [21] [22] [24] [26] [45]

c432/nr 2.1 4.0 1.0 2.0 0.8 0.2 0.4c499/nr 2.4 38.0 1.9 5.0 1.2 0.2 0.4c1355/nr 2.5 9.0 6.6 20.0 3.4 0.5 1.0c1908/nr 1.0 22.0 11.2 22.0 6.2 1.6 2.1c2670/nr 1.0 58.0 159.3 61.0 3.9 0.8 3.4c3540/nr 16.9 39.0 67.6 281.0 17.4 3.0 12.7c5315/nr 3.1 29.0 372.8 190.0 14.0 2.7 8.3c6288/nr 2.0 193.0 21.5 40.0 9.1 4.3 7.2c7552/nr 2.6 136.0 5583.3 412.0 20.6 34.6 20.8c1908/old 1.0 n/a n/a n/a n/a 2.5 n/ac2670/old 1.3 n/a n/a n/a n/a 54.6 n/ac3540/old 17.3 n/a n/a n/a n/a 2.9 n/ac5315/old 3.5 n/a n/a n/a n/a 8.3 n/ac7552/old 2.9 n/a n/a n/a n/a 26.2 n/a

[22] areinefficient for largercircuits. Theruntimesof theBEDapproachisgenerallycomparableto (andsometimesbetterthan)theotherthreeapproaches[24], [26], [45]. Moreover, theserun-timesshouldbeseenin thelight of thefactthattheBED exper-imentsonly use32 MB of memory.

Only van Eijk [26] hasreportedruntimesfor the erroneousISCAS85circuits.For thesecircuitsit is observedthattheBED

HULGAARD etal.: EQUIVALENCE CHECKING OF COMBINATIONAL CIRCUITSUSINGBOOLEAN EXPRESSIONDIAGRAMS 13

z

z

zz z

zz z

z

z

zzzUzzzz�z zzSzz zzz zzzz zz zzzz zz

zzz�z zz

z

zz z�z{zCz zz zzz z z zz z zz zzz zz|z zzz z zz zzzF}}

}}}

}

}} }

}}

}}U}}}}�} }}S}} }}} }}}} }} }}}} }}}

}}�} }}

}

}} }�}{}C} }} }}} } } }} } }} }}} }}|} }}} } }} }}}~S�X�:�-�b�

���t��������t�����

���S���� ~S���������� �

������� �

�����Z� ������Z� �

�Q�H�S��Q�H�S��Q� ~�~�Q� ~�~

���S���Z�

���S���Z������ ����e�S�S����e�S�S���

� �S���� � � �� � � ������� ������� ��$�� ~� �����:�� � �t� � �� � �Z� � �� � �Z�H� �� � �Z�S� �� � �t��� �� � �t��� �� � ��� �� �-� � �� �b� � �� � ���� � ����H�C�:� ���� �:� �� � �:� � ����t���H��:� �

��:� � � � � �� ��� �� ��� �� ��� �

� �

� � �� � �

� �� �� � � � � � � � � �� ~ � �� � �� �� C���X� � ��-� ��I� ���:���t� �:��� ��:���C� � ���� � ��:� � �t� �� � � �C�S�� ���� � � � ��X��� � �C�t� � � �C��� � �S�C�S��X�C� ���� �����¡ �:�� �� � � �� �¢ � �-�£ ¤2£ ¥<£ ¦<£

¤¥§¤Q£¥<£§<£¤2£<£¥�£<£

¨A©Iª¬«q­2®d¯�°²±{³e´$­Qµ·¶Z¸X¹º´!»I¯<©-µ!³�¹b¼Iµ!½¾ ¿À Á ÃÄÅ Â ÆÇÄÈÉÆÊÇË

z

z

zz z

zz z

zz

z z'zzzz�z zz:zz zzz zzzz zzZzz zz zzz

zzz zz

z

zzFzQz�z2z zz zzz z$z zz z zz zzz zzÌzÍzzz zzz zzzk}

}

}}}

}}} } }} }'}}}}�} }}:}} }}} }}}} }}Z}} }} }}

}}}} }}

}

}}F}Q}�}Q} }} }}} }!} }} } }} }}} }}Ì}Í}}} }}} }}}~��C�:�-�b�

���Z�S������Z�S���

���Z���� ~��S����S�H� �

���S�H� ������S� ������S� �

�Q������Q������Q� ~S~�Q� ~S~

���S���t�

���S���t� �e�S�S����e�S�S���

� ���S�� � � � � � � ������� ������� ��$�� ~� �����:�� � �Z� � �� � �Z� � �� � �Z�H� �� � �Z�S� �� � �Z��� �� � �t��� �� � ��� �� �-� � �� �b� � �� � ���� � ����H�C��� ���� �:� �� � �:� � ����t���H��:� �

��:� � � � � ��>�H� �� ��� � � �C� �� �

� � �� � �

� �� � � � � � � � � � � �� ~ � �� � �� �F C�H�C� � ��b� ��I� ���:���t� �:�S� ��:�S�X� � ��:� � ��:� � �t� �� � � �C�S�� ���� � � � ��X��� ��C�t� � ��C��� � ��������C�X� ���� ����Ρ �:�� �� � � �� �¢ � �-�£ § ¤2£ ¤Q§ ¥<£

¤¥§¤2£¥�£§�£¤2£T£¥�£T£

¨A©Iª¬«q­3®A¯�°²±T³�´$­Qµ·¶Z¸X¹º´!»I¯<©-µ!³�¹b¼Iµ!½¾ ¿À Á ÃÄÅ Â ÆÇÄÈÉÆÊÇË

(a) (b)

Fig. 16. Runtimes(in CPUseconds)for verifying equivalenceof themulti-level combinationalcircuits from theLGSynth91 benchmark.TheresultsobtainedusingUP_ONE aremarkedusing Ï andthoseobtainedusingUP_ALL aremarkedusing Ð . Thereportedresultsarethebestof two runs:oneusingthe FANIN

heuristic,theotherusingtheDEPTH_FANOUT heuristic.The � -axisrepresentsthenumberof gatesin thecircuit in thousands.The � -axisrepresentstheCPUtime in seconds(ona log-scale).(a) Verificationof themapping.(b) Verificationof theoptimization.

z zzzz

z zzz zz z

zzz z

z

zz z zz z

z

z

z z z z zz zz z z zz

z

z} }}}

}

} }}} }} }}

}} }

}

}} } } } }

}

}

} } } } }} }} } } }}}

}� � � � � � � � � �� � � �� � � �

�b� � � ��b� � � ��-� � ��-�b~ ��-��� � �Z� ��-�:� � �Z�S��-��� � ��� ��b�:� � �S���� �S� ~ �

� �t��� � �:Ñ �� �t������ �t� ���� �� ~ �

� �Z� � � � Ñ �� �Z� � � � Ñ �

� � �S� Ñ �� ���� � ~��� �S���� �Z� ~� � � �

� � � ���S�

� � � � � ��Ñ �

� � � �� � ���� �H� � Ñ �� ���S�� �H� �� ���S� � ����� �� �Z�:�� �H�t��X� � ��F� ����F� � � Ñ �

�X~ ���Z�$Ñ ��X~ ���Z�$Ñ �

� � �£ ¥�£ ÒT£ Ó<£ Ô<£ ¤2£T£

¤¤2£¤2£T£¤2£T£<£

¨A©-ª�«q­2®d¯�°²±{³e´!­2µÕ¶t¸F¹º´$»I¯T©-µ$³<¹-¼Iµ]½¾ ¿À Á ÃÄÅ Â ÆÇÄÈÉÆÊÇË

zz z

zz

z

z zzz z

zz

z z

z

zz zz z z

z

z z zz zzz

z z z zz

z

z}

} }}

}

}}} } } } }

}}} }

}

}} } } } }

}

} }} } }} }} } } }}}

}

� � � � � �� � � �� � � �

� � � �

�-� � � �

�-� � �

�-�b~ �

�-�b~ ��b�:� � �t� ��b�:� � �t����b�:� � �S� ��-�:� � ���S�� �S� ~ �

� �Z�S� � �:Ñ �� �t������ �t�����

� �t� ���� �� ~ �

� �Z� � � � Ñ �� �Z� � � � Ñ �

� � ��� Ñ �� �H�� � ~��� �S�S�� �Z� ~� � � �

� � � � � ��Ñ �

� � � �� � �S�� �H� � Ñ �� ���S�� ��� �� ���S�� �S�H� �

� �S���� ���Z��F� � ��F� ����X� � � Ñ ��X~ �S�S�$Ñ ��X~ �S�S�$Ñ �

� � �£ ¥<£ Ò{£ ÓT£ ÔT£

¤¥§¤Q£¥<£§<£¤Q£<£

¨A©Iª¬«q­3®d¯<°²±T³�´$­Qµ·¶t¸F¹º´$»-¯<©-µ!³�¹-¼-µ!½¾ ¿À Á ÃÄÅ Â ÆÇÄÈÉÆÊÇË

(a) (b)

Fig. 17. Runtimes(in CPUseconds)for verifying equivalenceof thesequentialcircuitsfrom theLGSynth91benchmark.TheresultsobtainedusingUP_ONE aremarkedusing Ï andthoseobtainedusingUP_ALL aremarkedusing Ð . The � -axisrepresentsthenumberof gatesin thecircuit in thousands.The � -axisis theCPUtime in seconds(ona log-scale).(a)Verificationof themapping.(b) Verificationof theoptimization.

approachonly hasa slight degradationin performancewhereasthe runtimeof van Eijks methodsometimesincreasesdramati-cally.

A directcomparisonof differenttechniquesfor largercircuitsthanthe ISCAS 85 circuits is difficult; differenttechniquesre-port runtimesfor differentcircuits,many of whichareindustrialcircuitsthatarenot publicly available.Severalresearchershavereportedthatthey havesuccessfullycomparedcircuitswith upto100kgates[24], [45] andevenbeyond(verificationof a circuitwith more thana million gatesis reportedin [17]). However,asshown above, BEDs combinedwith very simplealgorithmsareeffective for verifying a large numberof realisticallysizedcircuits (with up to 100k gates). Of course,therewill be cir-cuitsfor which theBED approachfails,eitherbecausethevari-able orderingheuristicsare not effective or becausethe strat-egy basedon usingeitherUP_ONE or UP_ALL for all outputsistoo simple. In theseinstances,onecanmix theuseof UP_ONE

andUP_ALL whencheckingtheequivalenceof aparticularpairof outputs(e.g.,pulling a few variablesup using UP_ONE and

then useUP_ALL for the remainingvariables). Alternatively,onecancombinetheBED basedtechniquewith morepowerfulapproachesasthe cut-basedapproachdescribedin [17] or thefilter techniquedescribedin [45].

VI . CONCLUSION

We have presentedthe BED datastructurefor representingBooleanfunctionsandtwo algorithms,UP_ONE and UP_ALL,for transforminga BED into an equivalentOBDD. UP_ALL isa generalizationof Bryant’s APPLY-operationwhile UP_ONE

is a new way to construct an OBDD. The key feature ofUP_ONE is thatit canexploit structuralsimilaritiesbetweensub-expressions.For someapplicationsUP_ONE is highly efficient,for example as demonstratedby proving the identity of two16-bitsmultipliers (c6288 andc6288nr from the ISCAS85benchmark)in lessthantwo seconds.

Runtimesfor a largenumberof publicly availablebenchmarkcircuitswith up to morethan100,000gatesis reported.Almostall circuitsareverifiedin lessthana few minuteson a standard

14 IEEE TRANSACTIONSON COMPUTER-AIDEDDESIGNOF INTEGRATED CIRCUITSAND SYSTEMS,VOL. XX, NO. Y, MONTH 1999

PCusingonly 32 MB of memory. Evenknown difficult circuits(likes38417) areverifiedusingmodestresources(in lessthananhourwith 64 MB of memory).This demonstratesthatBEDscombinedwith very simplealgorithmsareeffective for solvingthecombinationallogic-level equivalenceproblem.

BEDscanbeseenasanintermediateform betweenthecom-pactcircuits andthe canonicalOBDDs,andthuscombinesthefunctionaland the structuralverification techniques.All stan-dard OBDD operationscan be performedon BEDs as well.Someoperations,like existential quantificationand substitu-tion, canbe performeddirectly on the datastructureby usingUP_ONE [4], makingthe runtimeof theseoperationslinear inthe size of the BED. Other operations,like satisfiability andtautology, canbe performedby transformingthe BED into anequivalentOBDD.

Due to thesimplicity andgeneralityof BEDs, it is to beex-pectedthat combiningthem with other approachesto equiva-lencecheckingwill bebothstraightforwardandbeneficial.Thebenefitscouldbein two directions.Firstly, BEDscouldbeusedeitherasa “filter” in the filter-basedapproaches[45] or asthebasicdatastructurefor representingcircuits in any of theotherapproachesallowing, for instance,a gradualandsmoothtransi-tion from circuitsto BDDs. Secondly, BEDscouldbenefitfromotherequivalencecheckers.Whenever two subcircuitsby somemeanscanbe determinedequivalent, the correspondingnodesof the BED couldbe mergedinto one,resultingin an immedi-atereductionin size.Moreover, this immediatereductioncouldresultin furtherreductionsbeingpossibleby thereductionrulesandimproveon theefficiency on laterBDD-conversions.

BEDs areparticularlyuseful in applicationswherethe end-resultasan OBDD is small, for example,for tautologycheck-ing. Another areathat may benefitfrom using the BED rep-resentationis symbolic model checking. Several researchershave observed that whenperformingfixed-pointiterationsus-ing OBDDs,theintermediateresultsareoftenmuchlargerthanthefinal result. Clearly, thesuccinctnessof BEDscomparedtoOBDDs canalleviate this problem. In fact, many of the tricksresearchershave usedto make OBDDs moreefficient areem-bodiedin BEDs. For example,Burch, Clarke, andLong [46]demonstratedthat thecomplexity of BDD-basedsymbolicver-ification is drasticallyreducedby usinga partitionedtransitionrelation wherethe transitionrelation is representedas an im-plicit conjunctionof OBDDs. This correspondsto representingthetransitionrelationasa BED with conjunctionverticesat thetop level and only lifting the variablesup to just under thesevertices.

REFERENCES

[1] M. Fujita, “Verificationof arithmeticcircuits by comparingtwo similarcircuits,” in ComputerAidedVerification (CAV). 1996,LectureNotesinComputerScience,pp.159–168,Springer-Verlag.

[2] C.A.J. van Eijk, “Sequentialequivalencecheckingwithout statespacetraversal,” in Proc. InternationalConf. on DesignAutomationandTestofElectronic-basedSystems(DATE), 1998.

[3] R. E. Bryant, “Graph-basedalgorithmsfor Booleanfunction manipula-tion,” IEEETransactionsonComputers, vol. 35,no.8, pp.677–691,Aug.1986.

[4] H. R. AndersenandH. Hulgaard, “BooleanExpressionDiagrams,” inIEEE SymposiumonLogic in ComputerScience(LICS), July1997.

[5] R. B. BoppanaandM. Sipser, “The complexity of finite functions,” inHandbookof Theoretical ComputerScience, J. van Leeuwen,Ed., vol.

A: AlgorithmsandComplexity, pp. 758–804.Elsevier SciencePublisher,1990.

[6] T. H. Cormen,C. E. Leiserson,andR. L. Rivest, Introductionto Algo-rithms, MIT Press,1990.

[7] E. Sentovich etal., “SIS: A systemfor sequentialcircuit synthesis,” Tech.Rep.MemorandumNo. UCB/ERLM92/41,ElectronicsResearchLabora-tory, Dept.of EECS,Universityof California,Berkeley, 1992.

[8] R. Drechsler, A. Sarabi,M. Theobald,B. Becker, andM.A. Perkowski,“Efficient representationand manipulationof switching functionsbasedonorderedKronecker functionaldecisiondiagrams,” in Proc.ACM/IEEEDesignAutomationConference(DAC), 1994,pp.415–419.

[9] U. Kebschull,E. Schubert,andW. Rosenstiel,“Multilevel logic synthesisbasedonfunctionaldecisiondiagrams,” in Proc.EuropeanConferenceonDesignAutomation(EDAC), 1992,pp.43–47.

[10] J. Gergov andC. Meinel, “Efficient Booleanmanipulationwith OBDD’scanbeextendedto FBDD’s,” IEEE Transactionson Computers, vol. 43,no.10,pp.1197–1209,Oct.1994.

[11] E. I. Goldberg, Y. Kukimoto, and R. K. Brayton, “CanonicalTBDD’sandtheirapplicationto combinationalverification,” in Proc.InternationalWorkshoponLogic Synthesis, 1997.

[12] J.Jain,J.Bitner, M. S.Abadir, andJ.A. AbrahamamdD. S.Fussell,“In-dexedBDDs: Algorithmic advancesin techniquesto representandverifyBooleanfunctions,” IEEETransactionsonComputers, vol. 46,no.11,pp.1230–1245,Nov. 1997.

[13] D. SielingandI. Wegener, “GraphdrivenBDDs– anew datastructureforBooleanfunctions,” Theoretical ComputerScience, vol. 141,no.1-2, pp.283–310,1995.

[14] R. I. Bahar, E. A. Frohm,C. M. Gaona,G.D. Hachtel,E. Macii, A. Pardo,and F. Somenzi, “Algebraic decisiondiagramsand their applications,”in Proc. InternationalConf. Computer-AidedDesign(ICCAD), 1993,pp.188–191.

[15] R. E. Bryant andY.-A. Chen, “Verificationof arithmeticfunctionswithbinarymomentdiagrams,” in Proc.ACM/IEEEDesignAutomationCon-ference(DAC), 1995,pp.535–541.

[16] E. M. Clarke, K.L. McMillan, X. Zhao,M. Fujita, andJ. Yang, “Spec-tral transformsfor largeBooleanfunctionswith applicationto technologymapping,” in Proc. ACM/IEEE DesignAutomationConference(DAC),1993,pp.54–60.

[17] A. Kuehlmannand F. Krohm, “Equivalencecheckingusing cuts andheaps,” in Proc.ACM/IEEEDesignAutomationConference(DAC), 1997,vol. 34,pp.263–268.

[18] D. Brand, “Verificationof large synthesizeddesigns,” in Proc. Interna-tional Conf. Computer-AidedDesign(ICCAD), 1993,pp.534–537.

[19] W. Kunz, “HANNIB AL: An efficient tool for logic verificationbasedonrecursive learning,” in Proc. InternationalConf. Computer-AidedDesign(ICCAD), 1993,pp.538–543.

[20] W. Kunz and D. K. Pradhan, “Recursive learning: A new implicationtechniquefor efficient solutionsto CAD problems– test,verification,andoptimization,” IEEETransactionsonComputerAidedDesign, vol. 13,no.9, pp.1143–1158,Sept.1994.

[21] W. Kunz,D. K. Pradhan,andS.M. Reddy, “A novel framework for logicverificationin asynthesisenvironment,” IEEE TransactionsonComputerAidedDesign, vol. 15,no.1, pp.20–32,Jan.1996.

[22] D. K. Pradhan,D. Paul, andM. Chatterjee,“VERILAT: Verificationus-ing logic augmentationandtransformations,” in Proc.InternationalConf.Computer-AidedDesign(ICCAD), Nov. 1996.

[23] J. Jain,R. Mukherjee,andM. Fujita, “Advancedverificationtechniquesbasedon learning,” in Proc. ACM/IEEE DesignAutomationConference(DAC), 1995,pp.629–634.

[24] Y. Matsunaga,“An efficient equivalencechecker for combinationalcir-cuits,” in Proc.ACM/IEEEDesignAutomationConference(DAC), 1996,pp.629–634.

[25] C.A.J. van Eijk andG. L. J. M. Janssen,“Exploiting structuralsimilar-ities in a BDD-basedverificationmethod,” in Theorem Provers in Cir-cuit Design. 1994,number901in LectureNotesin ComputerScience,pp.110–125,Springer-Verlag.

[26] C.A.J.van Eijk, Formal Methodsfor theVerificationof Digital Circuits,Ph.D.thesis,TechnischeUniversitetEindhoven,1997.

[27] E. Cerny andC. Mauras,“Tautologycheckingusingcross-controllabilityandcross-observability relations,” in Proc.InternationalConf. Computer-AidedDesign(ICCAD), 1990.

[28] T. E. Uribe andM. E. Stickel, “OrderedbinarydecisiondiagramsandtheDavis-Putnamprocedure,” in 1stInternationalConferenceonConstraintsin ComputationalLogics, J.P. Jouannaud,Ed.,Sept.1994,vol. 845of Lec-tureNotesin ComputerScience.

[29] G.D.HachtelandR.M. Jacoby, “Verificationalgorithmsfor VLSI synthe-sis,” IEEE Transactionson ComputerAidedDesign, pp. 616–640,May1988.

HULGAARD etal.: EQUIVALENCE CHECKING OF COMBINATIONAL CIRCUITSUSINGBOOLEAN EXPRESSIONDIAGRAMS 15

[30] A. Hett, R. Drechsler, andB. Becker, “MORE: Alternative implementa-tion of BDD-pakagesby multi-operandsynthesis,” in EuropeanDesignConference, 1996.

[31] A. Hett, R. Drechsler, andB. Becker, “Fastandefficient constructionofBDDs by reorderingbasedsynthesis,” in IEEE EuropeanDesign& TestConference, 1997.

[32] M. Fujita, Y. Matsunga,andT. Kakuda, “On variableorderingof binarydecisiondiagramsfor the applicationof multi-level synthesis,” in Proc.EuropeanConferenceonDesignAutomation(EDAC), 1991,pp.50–54.

[33] S.-W. Jeong,B. Plessier, G. D. Hachtel, and F. Somenzi, “ExtendedBDD’s: Tradingoff canonicityfor structurein verification algorithms,”in Proc. InternationalConf. Computer-AidedDesign(ICCAD), 1991,pp.464–467.

[34] B. Plessier, G. D. Hachtel,andF. Somenzi, “ExtendedBDD’s: Tradingoff canonicityfor structurein verificationalgorithms,” FormalMethodsinSystemDesign, vol. 4, no.2, pp.167–185,Feb. 1994.

[35] M. Nikolskaia,A. Rauzy, andD. J.Sherman,“Almana:A BDD minimiza-tion tool integratingheuristicandrewriting methods,” in FormalMethodsin ComputerAidedDesign, Nov. 1998.

[36] M. R. Garey andD. S. Johnson,Computers and Intractability—AGuideto theTheoryof NP-Completeness, W. H. FreemanandCompany, 1979.

[37] R. Rudell, “Dynamic variableorderingfor orderedbinary decisiondia-grams,” in Proc. InternationalConf. Computer-AidedDesign(ICCAD),1993,pp.42–47.

[38] K. M. Butler, D. E. Ross,R.Kapur, and M. R. Mercer, “Heuristics tocomputevariableorderingsfor efficient manipulationof orderedbinarydecisiondiagrams,” in Proc. ACM/IEEEDesignAutomationConference(DAC), 1991,pp.417–420.

[39] P.-Y. Chung,I. N. Hajj, andJ.H. Patel,“Efficientvariableorderingheuris-tics for sharedROBDD,” in Proc. InternationalSymposiumon CircuitsandSystems(ISCAS), 1993,pp.1690–1693.

[40] H. Fujii, G. Ootomo,andC. Hori, “Interleaving basedvariableorderingmethodsfor orderedbinary decisiondiagrams,” in Proc. InternationalConf. Computer-AidedDesign(ICCAD), 1993,pp.38–41.

[41] M. Fujita, H. Fujisawa, andN. Kawato, “Evaluationandimprovementsof Booleancomparisonmethodsbasedon Binary DecisionDiagrams,” inProc. InternationalConf. Computer-AidedDesign(ICCAD), Nov. 1988,pp.2–5.

[42] S. Malik, A. R. Wang, R. K. Brayton, and A. Sangiovanni-Vincentelli ,“Logic verification using binary decisiondiagramsin a logic synthesisenvironment,” in Proc. InternationalConf. Computer-AidedDesign(IC-CAD), 1988,pp.6–9.

[43] S. Minato, Binary DecisionDiagramsand Applicationsfor VLSI CAD,Kluwer AcademicPublishers,1996.

[44] B. Yang,Y.-A. Chen,R. E. Bryant, andD. R. O’Hallron, “Space-andtime-efficient BDD constructionvia working set control,” in ASP-DAC’98, Feb. 1998,pp.423–432.

[45] R. Mukherjee,K. TakayamaJ. Jain,M. Fujita, J. A. Abraham,andD. S.Fussell,“Flover: Filtering orientedcombinationalverificationapproach,”InternationalWorkshoponLogic Synthesis,May 1997.

[46] J. R. Burch, E.M. Clarke, andD. E. Long, “Representingcircuits moreefficiently in symbolicmodelchecking,” in Proc.ACM/IEEEDesignAu-tomationConference(DAC), 1991,pp.403–407.

Henrik Hulgaard received the M.S. degreein Elec-trical Engineeringfrom the TechnicalUniversity ofDenmarkin 1990 andthe M.S. andPh.D. degreeinComputerSciencefrom the University of Washing-ton in 1992and1995,respectively. He is currentlyanAssistantProfessorwith the Departmentof Informa-tion Technologyat the TechnicalUniversity of Den-mark.His primaryresearchinterestis timing analysisandverificationof asynchronouscircuitsandreal-timesystems.His secondaryresearchinterestis in formalverificationof concurrentsystems,with particularem-

phasison theanalysisof embeddedsoftware. He received thebestCAD paperawardat the1993IEEE InternationalConferenceonComputerDesign.

Poul Frederick Williams received the M.Sc.Eng.degree from the Technical University of Denmarkin 1997. In 1995-96he studiedat the Rheinisch-WestfälischeTechnischeHochschulein Aachen,Ger-many. He is presentlya Ph.D.candidatein theareaofcomputerscienceat theTechnicalUniversityof Den-mark. His researchinterestsincludeformal verifica-tion andcomputeraideddesign.In 1998hereceivedathird placein therobotcompetition,RoboCup,at theTechnicalUniversityof Denmark.

Henrik Reif Andersenreceived theM.Sc.andPh.D.degreein ComputerSciencefrom AarhusUniversityin 1990and1993,respectively. He is currentlyanAs-sociateProfessorwith theDepartmentof InformationTechnologyat the TechnicalUniversity of Denmark.His primary researchinterestis in automaticformalverification of concurrentand reactive systems.Hissecondaryresearchinterestis in modeling,program-ming, and testingof embeddedsoftware. He is cur-rently holdinga grantfrom theDanishTechnicalRe-searchCouncil funding the researchproject VERIS.

This project is devoted to the studyof algorithmsanddatastructuresfor effi-cientlyverifying interactingsystems.