applybddnode

APPLYBDDNODE(3)                  BDD FUNCTIONS                 APPLYBDDNODE(3)



NAME
       applybddnode - applies an operator on two bdd nodes.


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 ∗applybddnode( BddSystem, Oper, BddNode1, BddNode2 )
         bddsystem ∗BddSystem;
         long       Oper;
         bddnode   ∗BddNode1;
         bddnode   ∗BddNode2;

PARAMETERS
       BddSystem           The bdd system.

       Oper                The binary operator.

       BddNode1            The first bdd node.

       BddNode2            The second bdd node.

DESCRIPTION
       applybddnode computes the boolean function BddNode1 Oper BddNode2 in
       the bdd system BddSystem.  If a null pointer is given, the default bdd
       system is used.

RETURN VALUE
       applybddnode returns a pointer to the resulting bdd node with its
       number of external reference incremented.

ERRORS
       "bad operator xxx error !"
              The Oper parameter must be a valid binary operator.

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 );
          addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
          addbddcircuitin( (bddcircuit ∗)0, "i1", 0, BDD_IN_MODE_FIRST );
          BddNode = applybddnode( (bddsystem ∗)0,
                                  ABL_AND,
                                  searchbddcircuitin( (bddcircuit ∗)0, "i0" ),
                                  searchbddcircuitin( (bddcircuit ∗)0, "i1" ) );
          Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
          /* displays (i0 and i1) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO
       bdd(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                APPLYBDDNODE(3)