NAME¶
applybddnodeterm - applies an operator on 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 ∗applybddnodeterm( BddSystem, Oper, Index, BddNode )
bddsystem ∗BddSystem;
long Oper;
bddindex Index;
bddnode ∗BddNode;
PARAMETERS¶
- BddSystem
- The bdd system.
- Oper
- The binary operator.
- Index
- The index of the terminal bdd node.
- BddNode
- The bdd node.
DESCRIPTION¶
applybddnodeterm computes the boolean function
BddNode Oper
and the terminal node corresponding to
Index in the
bdd system
BddSystem. The
Index parameter can take only the two following
values BDD_INDEX_ONE and BDD_INDEX_ZERO. If a null pointer is given, the
default
bdd system is used.
RETURN VALUE¶
applybddnodeterm returns a pointer to the resulting
bdd node with
its number of external reference incremented.
ERRORS¶
"bad operator xxx error !"
The Oper parameter must be a valid
binary operator.
EXAMPLE¶
#include "bdd101.h"
bddsystem ∗BddSystem;
bddcircuit ∗BddCircuit;
bddnode ∗BddNode;
chain_list ∗Expr;
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
BddNode = applybddnodeterm( (bddsystem ∗)0,
ABL_XOR, BDD_INDEX_ONE,
searchbddcircuitin( (bddcircuit ∗)0, "i0" ) );
Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
/* displays (not i0) */
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.