1ADDBDDCIRCUITABL(3) BDD FUNCTIONS ADDBDDCIRCUITABL(3)
2
3
4
6 addbddcircuitabl - converts an abl expression to a bdd node.
7
9 #include "bdd101.h"
10 bddnode ∗addbddcircuitabl( BddCircuit, Expr )
11 bddcircuit ∗BddCircuit;
12 chain_list ∗Expr;
13
15 BddCircuit The bdd circuit.
16
17 Expr The expression to convert.
18
20 addbddcircuitabl converts the abl expression Expr to a bdd node. The
21 BddCircuit is used to translate the atomic expressions into variable
22 nodes. If a null pointer is given, the default bdd circuit is used.
23 If an atomic expression doesn't appear in the BddCircuit input names
24 hash table or output names hash table, then addbddcircuitabl adds a new
25 input by calling the function addbddcircuitin with the BDD_IN_MODE_LAST
26 mode.
27
29 addbddcircuitabl returns a pointer to the bdd node translated.
30
32 "bad operator xxx error !"
33 The Expr parameter must be a well defined abl expression.
34
36 #include "bdd101.h"
37 bddsystem ∗BddSystem;
38 bddcircuit ∗BddCircuit;
39 bddnode ∗BddNode;
40 chain_list ∗Expr;
41 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
42 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
43 Expr = createablbinexpr( ABL_AND,
44 createablatom( "i0" ),
45 createablatom( "i1" ) );
46 BddNode = addbddcircuitabl( BddCircuit, Expr );
47 freeablexpr( Expr );
48 Expr = convertbddcircuitabl( BddCircuit, BddNode );
49 /* displays (i0 and i1) */
50 viewablexpr( Expr, ABL_VIEW_VHDL );
51 freeablexpr( Expr );
52 destroybddsystem( (bddsystem ∗)0 );
53 destroybddcircuit( (bddcircuit ∗)0 );
54
56 bdd(1), abl(1), convertbddcircuitabl(3).
57
58
59
60
61
62
63ASIM/LIP6 October 1, 1997 ADDBDDCIRCUITABL(3)