table of contents
SUBSTBDDNODEASSOC(3) | BDD FUNCTIONS | SUBSTBDDNODEASSOC(3) |
NAME¶
substbddnodeassoc - substitutes a set of variables with a set of bdd node.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 ∗substbddnodeassoc( BddSystem, BddNode, BddAssoc ) bddsystem ∗BddSystem; bddnode ∗BddNode; bddassoc ∗BddAssoc;
PARAMETERS¶
- BddSystem
- The bdd system.
- BddNode
- The bdd node to treat.
- BddAssoc
- The variable association.
DESCRIPTION¶
substbddnodeassoc substitutes in the bdd node BddNode all the variables associated to something in the variable association BddAssoc, with the corresponding bdd node, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.RETURN VALUE¶
substbddnodeassoc returns the computed bdd node.ERRORS¶
"variable xxx out of range, error !"The Variable parameter must be less or equal to
the BddSystem->NUMBER_VAR field.
"bad variable association xxx, error !"
The BddAssoc parameter must a valid variable
association.
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 ); 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.
October 1, 1997 | ASIM/LIP6 |