Provided by: alliance_5.0-20120515-6_amd64
NAME
implybddnode - computes a bdd that implies a conjonction of two bdd nodes.
SYNOPSYS
#include "bdd101.h" bddnode ∗implybddnode( BddSystem, BddNode1, BddNode2 ) bddsystem ∗BddSystem; bddnode ∗BddNode1; bddnode ∗BddNode2;
PARAMETERS
BddSystem The bdd system. BddNode1 The first bdd node. BddNode2 The second bdd node.
DESCRIPTION
implybddnode tests if the intersection of BddNode1 and not BddNode2, exists, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.
RETURN VALUE
implybddnode returns the bdd node zero if there is no intersection, and a computed bdd node otherwise.
EXAMPLE
#include "bdd101.h" bddsystem ∗BddSystem; bddcircuit ∗BddCircuit; bddnode ∗BddNode1; bddnode ∗BddNode2; bddnode ∗BddImply; chain_list ∗Expr; BddSystem = createbddsystem( 100, 1000, 100, 50000 ); BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem ); Expr = createablbinexpr( ABL_OR, createablatom( "i0" ), createablatom( "i1" ) ); BddNode1 = addbddcircuitabl( BddCircuit, Expr ); freeablexpr( Expr ); Expr = createablbinexpr( ABL_AND, createablatom( "i0" ), createablatom( "i1" ) ); BddNode1 = addbddcircuitabl( BddCircuit, Expr ); freeablexpr( Expr ); BddImply = implybddnode( (bddsystem ∗)0, BddNode1, BddNode2 ); Expr = convertbddcircuitabl( BddCircuit, BddNode ); /* displays (i0 and (not i1)) */ viewablexpr( Expr, ABL_VIEW_VHDL ); freeablexpr( Expr ); destroybddsystem( (bddsystem ∗)0 ); destroybddcircuit( (bddcircuit ∗)0 );
SEE ALSO
bdd(1)