applybddnodeterm

APPLYBDDNODETERM(3)              BDD FUNCTIONS             APPLYBDDNODETERM(3)



NAME
       applybddnodeterm - 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 ∗applybddnodeterm( BddSystem, Oper, Index, BddNode )
         bddsystem ∗BddSystem;
         long       Oper;
         bddindex   Index;
         bddnode   ∗BddNode;

PARAMETERS
       BddSystem           The bdd system.

       Oper                The binary operator.

       Index               The index of the terminal bdd node.

       BddNode             The bdd node.

DESCRIPTION
       applybddnodeterm computes the boolean function BddNode Oper and the
       terminal node corresponding to Index in the bdd system BddSystem. The
       Index parameter can take only the two following values BDD_INDEX_ONE
       and BDD_INDEX_ZERO.  If a null pointer is given, the default bdd system
       is used.

RETURN VALUE
       applybddnodeterm 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 );
          BddNode = applybddnodeterm( (bddsystem ∗)0,
                                      ABL_XOR, BDD_INDEX_ONE,
                                      searchbddcircuitin( (bddcircuit ∗)0, "i0" ) );
          Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
          /* displays (not i0) */
          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            APPLYBDDNODETERM(3)