Scroll to navigation

ADDBDDCIRCUITABL(3) BDD FUNCTIONS ADDBDDCIRCUITABL(3)

NAME

addbddcircuitabl - converts an abl expression to a 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 ∗addbddcircuitabl( BddCircuit, Expr )

bddcircuit ∗BddCircuit;
chain_list ∗Expr;

PARAMETERS

The bdd circuit.
The expression to convert.

DESCRIPTION

addbddcircuitabl converts the abl expression Expr to a bdd node. The BddCircuit is used to translate the atomic expressions into variable nodes. If a null pointer is given, the default bdd circuit is used. If an atomic expression doesn't appear in the BddCircuit input names hash table or output names hash table, then addbddcircuitabl adds a new input by calling the function addbddcircuitin with the BDD_IN_MODE_LAST mode.

RETURN VALUE

addbddcircuitabl returns a pointer to the bdd node translated.

ERRORS

"bad operator xxx error !"

The Expr parameter must be a well defined abl expression.

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 );
Expr = createablbinexpr( ABL_AND,
createablatom( "i0" ),
createablatom( "i1" ) );
BddNode = addbddcircuitabl( BddCircuit, Expr );
freeablexpr( Expr );
Expr = convertbddcircuitabl( BddCircuit, BddNode );
/* displays (i0 and i1) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem ∗)0 );
destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

bdd(1), abl(1), convertbddcircuitabl(3).

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