| Brace K. S., Rudell R. L. and Bryant R. E. [1990], Ecient implementation of a BDD package, in `Proc. 27th ACM/IEEE Design Automation Conference (DAC '90)', pp. 40-45. |
.... OBDDs. In addition to the standard reduction rules for OBDDs that can also be applied to the branching nodes of a OBDD, reductions for nodes have to be considered according to the node s functionality[12] Synthesis of OBDDs For the synthesis of OBDDs, the already known ITE algorithm [3] for OBDDs can easily be extended. To connect two Boolean functions f and g given in terms of OBDDs with an arbitrary Boolean operation the Boole Shannon decomposition (BS) w.r.t. variable x i is applied: g = x i (f j x gj x i ) x i (f j x gj x i ) f x i denotes the positive cofactor ....
....input variable x i is substituted with the constant x i = 1. f x i denotes the negative cofactor of f , respectively. The composition of the cofactors can be computed recursively. For eciency reasons all Boolean operations are mapped to a single operation, the so called If ThenElse operator (ITE) [3]. ITE(x; y; z) x y x z For computing the synthesis of functions f; g; h represented as OBDDs, ITE is called recursively w.r.t. the top variable x i of the concerned OBDDs. ITE(f; g; h) x i ; ITE(f j x i ; gj x i ; hj x i ) ITE(f j x i ; gj x i ; hj x i ) Introducing new nodes ....
K. S. Brace, R. L. Rudell, R. E. Bryant, Ecient Implementation of a BDD Package, in Proc. of the 27th ACM/IEEE Design Automation Conf., 1990, 40-45.
....the propagation functions at lines whose only successor is line c (lines a and b) are also 0. 18 4 Performance Evaluation In this Section we discuss implementation aspects when the proposed approach is implemented under each of the three popular frameworks of Binary Decision Diagrams (BDDs) [2, 6], Boolean (logic) Networks (BNETs) 8] and Boolean Expression Diagrams (BEDs) 13] Then, we discuss the experimental results obtained under each of the di#erent implementations. This comparative study is conducted in order to determine the most e#cient function representation method under the ....
K. Brace, R. Rudell, and R. Bryant, "E#cient implementation of a BDD package". Proceedings of 1990.
....i in Equation 5 and i in Equation 6. From Equations 1, 4, 5 and 6, we can derive the the set of all hazardous input transitions at output line l of a gate g, denoted by by: l = S1H l S0H l DR l DF l (7) 4 Experimental Results We implemented the proposed approach using BDDs [5, 9] to represent the boolean functions. The advantage of BDD based representations is that once the BDDs are constructed we can implicitly identify all pairs of input patterns that can excite the type of hazard in question. In applications where it is only important to determine the existence of a ....
K. Brace, R. Rudell, and R. Bryant, "E#cient implementation of a BDD package". Proceedings of 1990.
....res Figure 2.1: The Create Node operator. robdd table. Then the following four pairs of nodes are equivalent: var; high; low) var; high; low) 2.1) var; high; low) var; high; low) 2.2) var; high; low) var; high; low) 2.3) var; high; low) var; high; low) 2. 4) As shown in [2] the canonical representation can be maintained if we always choose a node where the high edge is a regular edge (i.e the four nodes on the left in the equivalences) Create Node works as follows: In line 1 we store the sign of the high edge. In line 2 we ensure, that no immediate redundant nodes ....
....other in the variable ordering. Note also, that both ROBDDs contain some redundant nodes (6,7 and 14 in (a) and 7 and 10 in (b) This will be discussed in section 2.5 where we construct a garbage collector. We now introduce the core manipulation operator of the ROBDD package, the Ite operator [2]. Formally, the Ite operator is de ned as follows : Ite(f; g; h) f g :f h (2.5) Shannon s decomposition theorem states: f = v f v :v f :v (2.6) where f v is f evaluated at v = true, and f :v is f evaluated at v = false. In the following we assume that has higher precedence ....
[Article contains additional citation context not shown here]
Karl S. Brace, Richard L. Rudell, and Randal E. Bryant. Ecient Implementation of a BDD Package. 27th Design Automaton Conference, pages 40-45, 1990.
....the complexity of the representation of sets of values. The information which values all signals (inputs and variables) may assume must be stored for each moment of the simulation. And often the values of di erent signals will be interdependent. Look at the following example: 1 de ne in 1 as input[2] 2 de ne in 2 as input[2] 3 input in 1 4 input in 2 5 if (in 1= in 2) then goto 6 else goto 10 6 . Both inputs are de ned as being two bits wide. So they can obtain values from 0 to 3. After step 4 the values of the two inputs are unknown therefore in 1 2 f0; 1; 2; 3g; in 2 2 f0; 1; 2; ....
....of sets of values. The information which values all signals (inputs and variables) may assume must be stored for each moment of the simulation. And often the values of di erent signals will be interdependent. Look at the following example: 1 de ne in 1 as input[2] 2 de ne in 2 as input[2] 3 input in 1 4 input in 2 5 if (in 1= in 2) then goto 6 else goto 10 6 . Both inputs are de ned as being two bits wide. So they can obtain values from 0 to 3. After step 4 the values of the two inputs are unknown therefore in 1 2 f0; 1; 2; 3g; in 2 2 f0; 1; 2; 3g holds. In step 5 both ....
[Article contains additional citation context not shown here]
K.S. Brace, R.L. Rudell, and R.E. Bryant. Ecient implementation of a BDD package. In Design Automation Conf., pages 40-45, 1990.
.... cations are concerned, the time complexity is quadratic in the size of the bdd being quanti ed, and linear in the number of variables being quanti ed, i.e. O(kvk kfk 2 ) Bryant, 1992; Bryant, 1986 ] bdd packages are ecient implementations of such data structures and algorithms (see [ Brace et al. 1990 ] mbp, as NuSMV, uses one of the best bdd packages available, the CUDD [ Somenzi, 1997 ] A bdd package deals with a single multi rooted DAG, where each node represents a boolean function. Memory eciency is obtained by using a unique table , and by sharing common subgraphs between bdds. The ....
....is checked to see if the node is already present, and only if this is not the case a new node is created and stored in the unique table. The unique table allows to perform the equivalence check between two bdds in constant time (since two equivalent functions always share the same subgraph) Brace et al. 1990; Somenzi, 1997 ] Time eciency is obtained by maintaining a computed table , which keeps tracks of the results of recently computed transformations, thus avoiding the recomputation. A critical computational factor with bdds is the order of the variables used. Figure 11 shows an example of the ....
K. Brace, R. Rudell, and R. Bryant. Ecient Implementation of a BDD Package. In 27th ACM/IEEE Design Automation Conference, pages 40-45, Orlando, Florida, June 1990. ACM/IEEE, IEEE Computer Society Press.
....for OBDDs. In addition to the regular reduction rules for OBDDs that can be applied to the branching nodes of a OBDD, reductions for nodes have to be considered according to the node s functionality[12] 3. Synthesis of OBDDs For the synthesis of OBDDs, the already known ITE algorithm [3] that is applied for OBDDs can easily be extended. To connect two Boolean functions f and g given in terms of OBDDs with an arbitrary Boolean operation the Boole Shannon decomposition (BS) w.r.t. variable x i is applied: f g = x i (f j x i gj x i ) x i (f j x i gj x i ) f x i denotes the ....
....1. f x i denotes the negative cofactor of f , respectively. The composition of the cofactors can be computed recursively. For eciency reasons all Boolean operations are mapped to a single general operation, which is able to express all Boolean operations, the so called If Then Else operator (ITE) [3]. ITE(x; y; z) is a three parameter function computing if x, then y, else z: ITE(x; y; z) x y x z For computing the synthesis of functions f; g; h represented as OBDDs, ITE is called recursively w.r.t. the 2 top variable x i of the involved OBDDs. ITE(f; g; h) x i ; ITE(f j x i ; gj ....
K. S. Brace, R. L. Rudell, R. E. Bryant, Ecient Implementation of a BDD Package, in Proc. of the 27th ACM/IEEE Design Automation Conf., 1990, 40-45.
....on the variable order. Therefore, one may have an exponential improvement in size by choosing a good variable order. 3 2.2 OBDD Synthesis Typically synthesis of OBDDs is based on a recursive algorithm that expands the involved Boolean functions. The ternary if then else operator (ITE) BRB90] forms the core of the recursion based synthesis operation (if F is true, then G, else H) ite(F; G; H) F G F H With ITE it is possible to implement all binary Boolean operations. The implementation of ITE relies on the Boole Shannon expansion of the function under consideration w.r.t. ....
K. S. Brace, R. L. Rudell, R. E. Bryant. Ecient implementation of a BDD package, in Proc of 27th Design Automation Conference, pp.40-45, 1990
....such as reduced, ordered, binary decision diagrams (ROBDD) Another approach, that of bounded model checking, is carried out by encoding the search for a bounded length counterexample to a property as a boolean satis ability problem. PVS employs an ROBDD based symbolic model checker [BRB90,BCM 92,Jan93] as a decision procedure for the nite mu calculus. The integration of model checking and deductive methods is not all that straightforward. The decision procedures from Section 4 can often be used to automatically discharge the subgoals that arise in an interactive proof, but ....
K. S. Brace, R. L. Rudell, and R. E. Bryant. Ecient implementation of a BDD package. In Proc. of the 27th ACM/IEEE Design Automation Conference, pages 40-45, 1990.
....whose values are obtained by traversing M starting at the root vertex as follows. For non terminal vertex v, the edge from v to left(v) represents the case when var (v) is false; the edge from v to right(v) the case var(v) is true. For eciency reasons, MTBDDs are usually stored in a reduced form [10]. Note that a BDD is an MTBDD with val (v) 2 f 0; 1 g for all terminal vertices v. Representing CTMCs by MTBDDs. Let C = S; R;L) be a CTMC with jSj = 2 n and L injective. Any labelled CTMC may be transformed into one satisfying these conditions by adding dummy states and new propositions. Let ....
K. Brace, R. Rudell and R. Bryant. Ecient implementation of a BDD package. In: 27th ACM/IEEE Design Automation Conference, 1990.
....variables [McM93] This turns the predicates into n ary boolean functions. Such boolean functions can be represented by means of a data structure called reduced, ordered, binary decision diagrams (ROBDDs) which are decision graphs where the boolean variables are ordered according to priority [BRB90] The boolean operations such as conjunction, disjunction, and negation are easily de ned as This is page 10 Printer: Opaque this operators on ROBDDs. The operation of applying an n ary boolean function to n boolean functions is also easily de ned. Boolean quanti cation (9b : A) is represented ....
K. S. Brace, R. L. Rudell, and R. E. Bryant. Ecient implementation of a BDD package. In Proc. of the 27th ACM/IEEE Design Automation Conference, pages 40-45, 1990.
....representation for OBDDs are also extended for OBDDs. Here, these rules serve only for a reduction in size and do not provide any canonicity. Additionally to OBDD reduction rules, reductions for nodes have to be considered [MS00] For OBDD synthesis the already known ite algorithm [BRB90] used for OBDDs can be easily extended. There, for computing f g or f g, a new node will be created and connected to f and g, where f g = f g. In all other cases, the regular ite algorithm is applied with an adapted cofactor creation algorithm for OBDDs, where, for the computation of ....
K. S. Brace, R. L. Rudell, R. E. Bryant, Ecient Implementation of a BDD Package, in Proc. of the 27th ACM/IEEE Design Automation Conf., 1990, 40-45.
....we will focus our description on the previously proposed uniform AND INVERTER network representation. During network construction, all Boolean operations are converted into a graph using two input AND vertices and edges with an optional INVERTER attribute. Similar to ecient BDD implementations [16], each vertex is entered into a hash table using the identi er of the two predecessor vertices and their edge attributes as key. This hash table is applied during graph construction to identify isomorphic subnetworks and to immediately map them onto the same subgraph. Figure 3.2 and 3.3 shows the ....
.... sig[6] rank(non inv(LL) rank(non inv(RR) sig[7] rank(non inv(LR) rank(non inv(RL) sig[8] is inv(LL) sig[9] is inv(LR) sig[10] is inv(RL) sig[11] is inv(RR) sig[12] is inv(L) sig[13] is inv(R) sig[14] share(L; RL) sig[15] share(L; RR) sig[16] = share(R; LL) sig[17] share(R; LR) sig[18] share(LL; RL) sig[19] share(LR; RL) sig[20] share(LL; RR) sig[21] share(LR; RR) return sig; g Figure 3.9: Pseudo code for generating signature for four input case. 34 Function and 4 takes two operand edges L and R, ....
K. Brace, R. Rudell, and R. Bryant. Ecient Implementation of a BDD Package. In Proc. of the Design Automation Conf., 1990.
....we will focus our description on the previously proposed uniform AND INVERTER network representation. During network construction, all Boolean operations are converted into a graph using two input AND vertices and edges with an optional INVERTER attribute. Similar to ecient BDD implementations [4], each vertex is entered into a hash table using the identi er of the two predecessor vertices and their edge attributes as key. This hash table is applied during graph construction to identify isomorphic subnetworks and to immediately map them onto the same subgraph. Figure 1 shows the ....
.... of R RL = left child(R) RR = right child(R) Set i th bit sig[i] if corresponding predicate is true sig[0] non inv(L) non inv(RL) sig[1] non inv(L) non inv(RR) sig[2] rank(non inv(L) rank(non inv(RL) sig[3] rank(non inv(L) rank(non inv(RR) sig[4] = is inv(RL) sig[5] is inv(RR) sig[6] is inv(L) sig[7] is inv(R) return sig; g Figure 4: Pseudo code for 3 input signature. EDGE Algorithm create canonical and3 (EDGE L, EDGE R) f Get the non inverted edge for L and the children of R l = non inv(L) rl = non inv(left ....
[Article contains additional citation context not shown here]
K. S. Brace, R. L. Rudell, and R. E. Bryant, \Ecient Implementation of a BDD Package," in Proc. of the Design Automation Conf., pp. 40-45, June 1990.
....is that we have linear time algorithms for satis ability [6] and hence many other operations. If more sophisticated analysis calls for a larger class of Boolean constraints then there are ecient representations and algorithms for Boolean constraints available, for example based on ROBDDs [3]. Finally, useful operations such as existential and universal quanti cation, conjunction and disjunction have a clear and well understood meaning. 5 Binding Time Inference We assume that we are given a well typed program, each subexpression annotated with its underlying type. Binding time ....
K. Brace, R. Rudell, and R. Bryant. Ecient implementation of a BDD package. In Proc. 27th ACM/IEEE Design Automation Conf., pages 40-45. IEEE Computer Society Press, 1990.
....the 0 terminal node (see Figure 3) This rule follows from the property of modulo p addition the modulo p sum of p identical values is zero. 4. 2 Synthesis of Mod p DDs For describing the Mod p DDs synthesis algorithm we assume that the reader is familiar with standard BDD synthesis algorithms [14]. We implement all multiple valued operations, except addition modulo p, by means of the CASE operator, which is an extension of ITE operator, used in case of Boolean Parity OBDDs [15] For addition modulo p we directly create a p node in the graph. To extend the ITE operator, the ....
K. S. Brace, R. L. Rudell, R.E. Bryant, Ecient Implementation of a BDD Package, Proc. of the 27th DAC (1990), 40-45.
No context found.
K. Brace, R. Rudell, and R. E. Bryant. Ecient implementation of a BDD package. In Proceedings of the 27th ACM/IEEE Design Automation Conference, pages 40-45, June 1990.
No context found.
Brace K. S., Rudell R. L. and Bryant R. E. [1990], Ecient implementation of a BDD package, in `Proc. 27th ACM/IEEE Design Automation Conference (DAC '90)', pp. 40-45.
No context found.
K.S. Brace, R.L. Rudell, R.E. Bryant. Ecient Implementation of a BDD Package. 27th ACM/IEEE Design Automation Conference 1990, pp. 40-45
No context found.
K. Brace, R. Rudell and R. Bryant. Ecient implementation of a BDD package. In: 27th ACM/IEEE Design Automation Conference, 1990.
No context found.
K. Brace, R. Rudell, and R. Bryant. Ecient implementation of a BDD package. In Proc. 27th Design Automation Conference (DAC'90), pages 40-45. IEEE Computer Society Press, 1990.
No context found.
K. Brace, R. Rudell, and R. Bryant. Ecient implementation of a BDD package. In Proc. 27th Design Automation Conference (DAC'90), pages 40-45. IEEE Computer Society Press, 1990.
No context found.
Brace, K., R. Rudell and R. Bryant, Ecient implementation of a bdd package, in: 27th IEEE Design Automation Conference, 1990, pp. 40-45.
No context found.
K. Brace, R. Rudell, and R. Bryant. Ecient implementation of a BDD package. In Proc. 27th Design Automation Conference (DAC'90), pages 40-45. IEEE Computer Society Press, 1990.
No context found.
K. Brace, R. Rudell and R. Bryant. Ecient implementation of a BDD package. In: 27th ACM/IEEE Design Automation Conference, 1990.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC