Representation and Symbolic Manipulation of Linearly Inductive Boolean Functions* zyx Aarti Gupta Allan L. Fisher School of Computer Science, Carnegie Mellon University Pittsburgh, PA 15213. Abstract zyxwvutsr We consider a class zyxwvuts of practically useful Booleanfunctions, called Linearly Inductive Functions (LIFs), and present a canonical representationas well as algorithms for their au- tomatic symbolic manipulation. LIFs can be used to capture structural induction in parameterized circuit descriptions, whereby our LIF representation provides a fuled-sized rep- resentationfor all size instances of a cirruit. Furthermore, since LIFs ran naturally capture the temporal induction inherent in sequential system descriptions, our representa- tion also provides a canonical form for sequential functions. This allows for a wide range of applications of symbolic LIF manipulation in the verification and synthesis of digital sys- tems. We also present practical results from a preliminary implementation of a general purpose LIF package. 1 Introduction Symbolic manipulationof Boolean functions has found nu- merous applications in the area of VLSI design automa- tion zyxwvutsr [SI. These applications are greatly facilitated by the availability of a canonical Boolean function representation -Bryant's Binary Decision Diagram (BDD) zyxwvut - and symbolic manipulation algorithms that are efficientin practice [4]. In this paper, we focus on automatic symbolic manipulation for a class of inductive Boolean functions, i.e. Boolean functions that are defined in terms of induction parameters, called Linearly Inductive Functions (LIFs). We present a canonical representation and symbolic manipulation algo- rithms for LIFs, with the important feature that their com- plexity is independent of the parameter of inductive de- scription. We also describe a wide range of applications of symbolicLIF manipulationin the verification and synthesis of digital systems. These apply to two broad categories of circuits: zyxwvutsr 0 inductively-definedhardware, i.e. hardware defined inductively (iteratively,or recursively) in terms of size parameters. *This research was sponsored by the Avionics Laboratory, Wright Re- search and DevelopmentCenter, Aeronautical Systems Division (AFSC), US. Air Force, Wright-Patterson Am, Ohio 45433-6543 under Contract F33615-90-C-1465,ARPA Order No. 7597. The views and conclusions containedin this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. govemment. 0 sequential systems, where time implicitly serves as an In the first category,we consider circuits describedby induc- tion on structure. For example, an n-bit serial adder circuit can be described in terms of some gates and an (n - 1)- bit adder. In cases where such structural induction can be captured by LIFs, our LIF representation provides a fixed- sized representation for all size instances of the circuit. It also allows us to perform automatic proofs by induction for verification of functional properties. This has practical ap- plication in the representation and verification of standard libraries of parameterized designs, which are becoming in- creasingly important due to emphasis on design reuse [9]. In the second category, LIFs naturally capture the temporal induction inherent in sequential system descriptions, where functions at time t are defined in terms of inputs at time t and functions at time (t - 1). In fact, sequential functions, including state and output functions of a deterministic finite state machine (FSM), are LIFs with time as the induction parameter. In this case, our zyxw LIF representation directly 'provides a canonical representation for a sequentialfunc- tion, in much the same way as a BDD provides a canonical representation for a combinational function. This sequen- tial canonical form has applications in the verification and synthesis of sequential systems that strongly parallel the applications of BDDs for combinational systems. For ex- ample, the canonicityproperty for FSM outputs can be used to check FSM input/output equivalence, since it does not rely on the number of states or a particular state encod- ing. LIF manipulations can also be used to capture other interesting automata properties including language equiva- lencehontainment,the set of reachable sets etc. We start by giving a formal characterization of Linearly Inductive Functions, followed by our representation and symbolic manipulation algorithms. 2 Linearly Inductive Functions 2.1 Characterization Informally, an inductive Boolean function is defined para- metrically in terms of an induction parameter, with the ar- guments of the function also parameterized accordingly. Formally, Definition zyxwv 1: A Linearly Inductive (Boolean) Function &IF) f satisfies the following three conditions: induction parameter. 1063-6757/93 $03.00 zyxwvutsrq 0 1993 IEEE 192