table of contents
COMPOSEBDDNODE(3) | BDD FUNCTIONS | COMPOSEBDDNODE(3) |
NAME¶
composebddnode - substitutes a variable by a bdd in another bdd.
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 ∗composebddnode( BddSystem, BddNode, Variable, BddSubst )
bddsystem ∗BddSystem;
bddnode ∗BddNode;
bddvar Variable;
bddnode ∗BddSubst;
PARAMETERS¶
DESCRIPTION¶
composebddnode substitutes all the occurency of the variable Variable in the bdd node BddNode by the bdd node BddSubst, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.
RETURN VALUE¶
composebddnode returns the resulting bdd node.
ERRORS¶
"variable xxx out of range, error !"
EXAMPLE¶
#include "bdd101.h"
bddsystem ∗BddSystem;
bddcircuit ∗BddCircuit;
bddnode ∗BddVariable;
bddnode ∗BddNode;
bddnode ∗BddSubst;
chain_list ∗Expr;
bddvar Variable;
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
Expr = createablbinexpr( ABL_AND,
createablatom( "i0" ),
createablatom( "i1" ) );
BddNode = addbddcircuitabl( BddCircuit, Expr );
freeablexpr( Expr );
Expr = createablbinexpr( ABL_OR,
createablatom( "i2" ),
createablatom( "i3" ) );
BddSubst = addbddcircuitabl( BddCircuit, Expr );
freeablexpr( Expr );
BddVariable = searchbddcircuitin( (bddcircuit ∗)0, "i0" );
Variable = getbddvarbyindex( (bddsystem ∗)0, BddVariable->INDEX );
BddNode = composebddnode( (bddsystem ∗)0, BddNode, Variable, BddSubst );
Expr = convertbddcircuitabl( BddCircuit, BddNode );
/* displays (i1 and (i2 or i3)) */
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 |