Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       addbddcircuitabl - converts an abl expression to a bdd node.

SYNOPSYS

       #include "bdd101.h"
       bddnode ∗addbddcircuitabl( BddCircuit, Expr )
         bddcircuit ∗BddCircuit;
         chain_list ∗Expr;

PARAMETERS

       BddCircuit          The bdd circuit.

       Expr                The expression to convert.

DESCRIPTION

       addbddcircuitabl converts the abl expression Expr to a bdd node. The BddCircuit is used to
       translate the atomic expressions into variable nodes.  If a null  pointer  is  given,  the
       default  bdd  circuit  is  used.  If an atomic expression doesn't appear in the BddCircuit
       input names hash table or output names hash table, then addbddcircuitabl adds a new  input
       by calling the function addbddcircuitin with the BDD_IN_MODE_LAST mode.

RETURN VALUE

       addbddcircuitabl returns a pointer to the bdd node translated.

ERRORS

       "bad operator xxx error !"
              The Expr parameter must be a well defined abl expression.

EXAMPLE

       #include "bdd101.h"
          bddsystem  ∗BddSystem;
          bddcircuit ∗BddCircuit;
          bddnode    ∗BddNode;
          chain_list ∗Expr;
          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
          Expr = createablbinexpr( ABL_AND,
                                   createablatom( "i0" ),
                                   createablatom( "i1" ) );
          BddNode = addbddcircuitabl( BddCircuit, Expr );
          freeablexpr( Expr );
          Expr = convertbddcircuitabl( BddCircuit, BddNode );
          /* displays (i0 and i1) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1), abl(1), convertbddcircuitabl(3).