table of contents
other versions
- buster 5.1.1-3
RESTRICTBDDNODE(3) | BDD FUNCTIONS | RESTRICTBDDNODE(3) |
NAME¶
restrictbddnode - substitutes a variable by a zero or one, in a 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 ∗restrictbddnode( BddSystem, BddNode, Variable, BddSubst ) bddsystem ∗BddSystem; bddnode ∗BddNode; bddvar Variable; bddnode ∗BddSubst;
PARAMETERS¶
- BddSystem
- The bdd system.
- BddNode
- The bdd node.
- Variable
- The variable to find.
- BddSubst
- The bdd to substitute with.
DESCRIPTION¶
restrictbddnode 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. The BddSubst must be a the node BddSystem->ONE or BddSystem->ZERO.RETURN VALUE¶
restrictbddnode returns the resulting bdd node.ERRORS¶
"variable xxx out of range, error !"The Variable parameter must be less or equal to
the BddSystem->NUMBER_VAR field.
"index xxx out of range, error !"
The BddSubst parameter must have its index less
than BDD_INDEX_MIN.
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_OR, createablatom( "i0" ), createablatom( "i1" ) ); BddNode = addbddcircuitabl( BddCircuit, Expr ); freeablexpr( Expr ); BddSubst = BddSystem->ONE; BddVariable = searchbddcircuitin( (bddcircuit ∗)0, "i0" ); Variable = getbddvarbyindex( (bddsystem ∗)0, BddVariable->INDEX ); BddNode = restrictbddnode( (bddsystem ∗)0, BddNode, Variable, BddSubst ); Expr = convertbddcircuitabl( BddCircuit, BddNode ); /* displays '1' */ 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 |