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.