Scroll to navigation

ADDBDDNODE(3) BDD FUNCTIONS ADDBDDNODE(3)

NAME

addbddnode - adds a new bdd node in the bdd system.

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 ∗addbddnode( BddSystem, Index, High, Low  )

bddsystem ∗BddSystem;
bddindex Index;
bddnode ∗High;
bddnode ∗Low;

PARAMETERS

The bdd system.
The bdd index.
The bdd high pointer.
The bdd low pointer.

DESCRIPTION

addbddnode adds a new node with the index Index, High as HIGH pointer, and Low as LOW pointer in the bdd system BddSystem. If the bdd node exist already addbddnode return its pointer. If a null pointer is given, the default bdd system is used.

RETURN VALUE

addbddnode returns a pointer to the resulting bdd node with its number of external reference incremented.

ERRORS

"index xxx out of range"

The Index parameter must be a valid index.

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 );
BddNode = addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
BddNode = addbddnode( (bddsystem ∗)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
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.

October 1, 1997 ASIM/LIP6