addbddcircuitabl

ADDBDDCIRCUITABL(3)              BDD FUNCTIONS             ADDBDDCIRCUITABL(3)



NAME
       addbddcircuitabl - converts an abl expression to a bdd node.


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"
       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).




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            ADDBDDCIRCUITABL(3)