convertbddmuxabl

CONVERTBDDMUXABL(3)              BDD FUNCTIONS             CONVERTBDDMUXABL(3)



NAME
       convertbddmuxabl - converts two bdd nodes to an abl multiplexor
       expression.



ORIGIN
       This software belongs to the  ALLIANCE CAD SYSTEM developed by the ASIM
       team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,
       France.

       Web : http://asim.lip6.fr/recherche/alliance/
       E-mail : alliance-users@asim.lip6.fr


SYNOPSYS
       #include "bdd101.h"
       chain_list *convertbddmuxabl( BddSystem, NameArray, IndexArray, Equation, BddHigh, BddLow )
         bddsystem  ΒddSystem;
         char      (*NameArray;
         bddindex   ΙndexArray;
         chain_list Εquation;
         bddnode    ΒddHigh;
         bddnode    ΒddLow;

PARAMETERS
       BddSystem           The bdd system.

       NameArray           The array of names.

       IndexArray          The array of indexes.

       Equation            The multiplexor command.

       BddHigh             The first bdd node.

       BddLow              The second bdd node.

DESCRIPTION
       convertbddmuxabl creates the following abl expression ( BddHigh AND
       Equation ) OR ( BddLow AND (NOT Equation ) ) in the bdd system
       BddSystem.  If a null pointer is given, the default bdd system is used.
       The NameArray, and IndexArray parameters are used to translate the
       variable nodes into atomic expressions.  The array NameArray is list of
       names.  The array IndexArray does the correspondence between a bdd node
       index and a slot in the NameArray. If the IndexArray parameter is a
       null pointer, then the name of the bdd index BDD_INDEX_MIN is assumed
       to be the first slot of the NameArray, and so on.

RETURN VALUE
       convertbddmuxabl returns a pointer to the abl expression translated.

EXAMPLE
       #include "bdd101.h"
          bddsystem  ∗BddSystem;
          bddnode    ∗BddNode1;
          bddnode    ∗BddNode2;
          chain_list ∗Expr;
          char       ∗NameArray[ 2 ];
          BddSystem = createbddsystem( 100, 1000, 100, 50000 );
          BddNode1  = addbddvarlast( BddSystem );
          BddNode2  = addbddvarlast( BddSystem );
          NameArray[ 0 ] = namealloc( "i0" );
          NameArray[ 1 ] = namealloc( "i1" );
          Expr = convertbddmuxabl( BddSystem, NameArray, (bddindex ∗)0,
                                   createablatom( "C" ),  BddNode1, BddNode2 );
          /* displays (i0 and C) or (i1 and (not C)) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );

SEE ALSO
       bdd(1), abl(1).




BUG REPORT
       This tool is under development at the ASIM department of the LIP6
       laboratory.
       We need your feedback to improve documentation and tools.






ASIM/LIP6                       October 1, 1997            CONVERTBDDMUXABL(3)