1CONVERTBDDMUXABL(3)              BDD FUNCTIONS             CONVERTBDDMUXABL(3)
2
3
4

NAME

6       convertbddmuxabl - converts two bdd nodes to an abl multiplexor expres‐
7       sion.
8
9

SYNOPSIS

11       #include "bdd101.h"
12       chain_list *convertbddmuxabl( BddSystem, NameArray, IndexArray, Equation, BddHigh, BddLow )
13         bddsystem  ΒddSystem;
14         char      (*NameArray;
15         bddindex   ΙndexArray;
16         chain_list Εquation;
17         bddnode    ΒddHigh;
18         bddnode    ΒddLow;
19

PARAMETERS

21       BddSystem           The bdd system.
22
23       NameArray           The array of names.
24
25       IndexArray          The array of indexes.
26
27       Equation            The multiplexor command.
28
29       BddHigh             The first bdd node.
30
31       BddLow              The second bdd node.
32

DESCRIPTION

34       convertbddmuxabl creates the following abl  expression  (  BddHigh  AND
35       Equation  ) OR ( BddLow AND (NOT Equation ) ) in the bdd system BddSys‐
36       tem.  If a null pointer is given, the default bdd system is used.   The
37       NameArray, and IndexArray parameters are used to translate the variable
38       nodes into atomic expressions.  The array NameArray is list  of  names.
39       The  array  IndexArray does the correspondence between a bdd node index
40       and a slot in the NameArray. If the  IndexArray  parameter  is  a  null
41       pointer,  then the name of the bdd index BDD_INDEX_MIN is assumed to be
42       the first slot of the NameArray, and so on.
43

RETURN VALUE

45       convertbddmuxabl returns a pointer to the abl expression translated.
46

EXAMPLE

48       #include "bdd101.h"
49          bddsystem  ∗BddSystem;
50          bddnode    ∗BddNode1;
51          bddnode    ∗BddNode2;
52          chain_list ∗Expr;
53          char       ∗NameArray[ 2 ];
54          BddSystem = createbddsystem( 100, 1000, 100, 50000 );
55          BddNode1  = addbddvarlast( BddSystem );
56          BddNode2  = addbddvarlast( BddSystem );
57          NameArray[ 0 ] = namealloc( "i0" );
58          NameArray[ 1 ] = namealloc( "i1" );
59          Expr = convertbddmuxabl( BddSystem, NameArray, (bddindex ∗)0,
60                                   createablatom( "C" ),  BddNode1, BddNode2 );
61          /* displays (i0 and C) or (i1 and (not C)) */
62          viewablexpr( Expr, ABL_VIEW_VHDL );
63          freeablexpr( Expr );
64          destroybddsystem( (bddsystem ∗)0 );
65

SEE ALSO

67       bdd(1), abl(1).
68
69
70
71
72
73
74ASIM/LIP6                       October 1, 1997            CONVERTBDDMUXABL(3)
Impressum