Scroll to navigation

IMPLYBDDNODE(3) BDD FUNCTIONS IMPLYBDDNODE(3)

NAME

implybddnode - computes a bdd that implies a conjonction of 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 ∗implybddnode( BddSystem, BddNode1, BddNode2 )

bddsystem ∗BddSystem;
bddnode ∗BddNode1;
bddnode ∗BddNode2;

PARAMETERS

The bdd system.
The first bdd node.
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)

BUG REPORT

This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools.

October 1, 1997 ASIM/LIP6