applybddnodeite

APPLYBDDNODEITE(3)               BDD FUNCTIONS              APPLYBDDNODEITE(3)



NAME
       applybddnodeite - computes the IF-THEN-ELSE logical operation.



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 ∗applybddnodeite( BddSystem, BddIf, BddThen, BddElse )
         bddnode   ∗BddSystem;
         bddnode   ∗BddIf;
         bddnode   ∗BddThen;
         bddnode   ∗BddElse;

PARAMETERS
       BddSystem           The bdd system.

       BddIf               The IF bdd node.

       BddThen             The THEN bdd node.

       BddElse             The ELSE bdd node.

DESCRIPTION
       applybddnodeite computes the following logical function (BddIf AND
       BddThen) OR ((NOT BddIf) AND BddElse) in the bdd system BddSystem.  If
       a null pointer is given, the default bdd system is used.

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

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 );
          addbddcircuitin( (bddcircuit ∗)0, "i2", 0, BDD_IN_MODE_FIRST );
          BddNode = applybddnodeite( (bddsystem ∗)0,
                                     searchbddcircuitin( (bddcircuit ∗)0, "i0" ),
                                     searchbddcircuitin( (bddcircuit ∗)0, "i1" ),
                                     searchbddcircuitin( (bddcircuit ∗)0, "i2" ) );
          Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
          /* displays ((i0 and i1) or ((not i0) and i2) */
          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             APPLYBDDNODEITE(3)