1SATISFYBDDNODE(3) BDD FUNCTIONS SATISFYBDDNODE(3)
2
3
4
6 satisfybddnode - finds a satisfying path for a bdd node.
7
9 #include "bdd101.h"
10 bddnode ∗satisfybddnode( BddSystem, BddNode )
11 bddsystem ∗BddSystem;
12 bddnode ∗BddNode;
13
15 BddSystem The bdd system.
16
17 BddNode The bdd node.
18
20 satisfybddnode finds a simple path throw the bdd BddNode that reaches
21 the constant bdd node one, in the bdd system BddSystem. If a null
22 pointer is given, the default bdd system is used.
23
25 satisfybddnode returns a bdd node that satisfies BddNode.
26
28 "index xxx out of range, error !"
29 The BddNode parameter must be different from the bdd node zero.
30
32 #include "bdd101.h"
33 bddsystem ∗BddSystem;
34 bddcircuit ∗BddCircuit;
35 bddnode ∗BddNode;
36 chain_list ∗Expr;
37 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
38 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
39 Expr = createablbinexpr( ABL_OR,
40 createablatom( "i0" ),
41 createablatom( "i1" ) );
42 BddNode = addbddcircuitabl( BddCircuit, Expr );
43 freeablexpr( Expr );
44 BddNode = satisfybddnode( (bddsystem ∗)0, BddNode );
45 Expr = convertbddcircuitabl( BddCircuit, BddNode );
46 /* displays i0 */
47 viewablexpr( Expr, ABL_VIEW_VHDL );
48 freeablexpr( Expr );
49 destroybddsystem( (bddsystem ∗)0 );
50 destroybddcircuit( (bddcircuit ∗)0 );
51
53 bdd(1)
54
55
56
57
58
59
60ASIM/LIP6 October 1, 1997 SATISFYBDDNODE(3)