NAME¶
intersectbddnode - tests for an intersection between 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 ∗intersectbddnode( 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¶
intersectbddnode tests if the intersection of
BddNode1 and
BddNode2 exists, in the
bdd system
BddSystem. If a null
pointer is given, the default
bdd system is used.
RETURN VALUE¶
intersectbddnode 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_AND,
createablatom( "i0" ),
createablatom( "i1" ) );
BddNode1 = addbddcircuitabl( BddCircuit, Expr );
freeablexpr( Expr );
Expr = createablbinexpr( ABL_OR,
createablatom( "i0" ),
createablatom( "i1" ) );
BddNode1 = addbddcircuitabl( BddCircuit, Expr );
freeablexpr( Expr );
BddImply = intersectbddnode( (bddsystem ∗)0, BddNode1, BddNode2 );
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)
BUG REPORT¶
This tool is under development at the
ASIM department of the
LIP6
laboratory.
We need your feedback to improve documentation and tools.