Table of Contents

Name

addbddnodeassoc - adds a bdd node in a variable association.

Origin

This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie 4, place Jussieu 75252 PARIS Cedex 05 FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr

Synopsys

#include bdd101.h"
bddassoc *addbddnodeassoc( BddSystem, BddAssoc, Variable, BddNode ) bddsystem *BddSystem;
bddassoc *BddAssoc;

bddvar
Variable;
bddnode
*BddNode;

Parameters

BddSystem
The bdd system.
BddAssoc
The variable association.
Variable
The variable number.
BddNode
The bdd node to add.

Description

addbddnodeassoc adds the bdd node BddNode, 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 BddNode is incremented.

Return Value

addbddnodeassoc returns a pointer to the variable association.

Errors

variable xxx out of range, error !"
The Variable parameter must be less or equal to the BddSystem->NUM_BER_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 ); 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/LIP6/UPMC laboratory, cao-vlsi research team.
We need your feedbak to improve documentation and tools. If you find bugs, please fill-in the form at http://asim.lip6.fr/alliance/support/bug-report/ Thanks for doing this.


Table of Contents

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 26 May 2000.