DELBDDNODEASSOC(3) BDD FUNCTIONS DELBDDNODEASSOC(3)
NAME
delbddnodeassoc - deletes a bdd node in a variable association.
ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite 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"
int delbddnodeassoc( BddSystem, BddAssoc, Variable )
bddsystem *BddSystem;
bddassoc *BddAssoc;
bddvar Variable;
PARAMETERS
BddSystem The bdd system.
BddAssoc The variable association.
Variable The variable number.
DESCRIPTION
delbddnodeassoc deletes the bdd node associated to the variable number Variable, in the variable association BddAssoc, in the bdd system
BddSystem. If a null pointer is given, the default bdd system is used. The number of external reference of the associated bdd node is
incremented.
RETURN VALUE
delbddnodeassoc returns 1 if the variable is found, 0 otherwise.
ERRORS
"variable xxx out of range, error !"
The Variable parameter must be less or equal to the BddSystem->NUMBER_VAR field.
EXAMPLE
#include "bdd101.h"
bddsystem *BddSystem;
bddcircuit *BddCircuit;
bddnode *BddNode;
bddnode *BddSubst;
bddnode *BddVariable;
bddassoc *Assoc;
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 );
Assoc = addbddassoc( (bddsystem *)0 );
addbddnodeassoc( (bddsystem *)0, Assoc, Variable, BddSubst );
BddNode = substbddnodeassoc( (bddsystem *)0, BddSubst, Assoc );
delbddnodeassoc( (bddsystem *)0, Assoc, Variable );
Expr = convertbddcircuitabl( BddCircuit, BddNode );
/* displays ((i3 or i2) and i1) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddassoc( (bddsystem *)0 );
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 DELBDDNODEASSOC(3)