Scroll to navigation

CONVERTBDDMUXABL(3) BDD FUNCTIONS CONVERTBDDMUXABL(3)

NAME

convertbddmuxabl - converts two bdd nodes to an abl multiplexor expression.

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"
chain_list *convertbddmuxabl( BddSystem, NameArray, IndexArray, Equation, BddHigh, BddLow )

bddsystem ΒddSystem;
char (*NameArray;
bddindex ΙndexArray;
chain_list Εquation;
bddnode ΒddHigh;
bddnode ΒddLow;

PARAMETERS

The bdd system.
The array of names.
The array of indexes.
The multiplexor command.
The first bdd node.
The second bdd node.

DESCRIPTION

convertbddmuxabl creates the following abl expression ( BddHigh AND Equation ) OR ( BddLow AND (NOT Equation ) ) in the bdd system BddSystem. If a null pointer is given, the default bdd system is used. The NameArray, and IndexArray parameters are used to translate the variable nodes into atomic expressions. The array NameArray is list of names. The array IndexArray does the correspondence between a bdd node index and a slot in the NameArray. If the IndexArray parameter is a null pointer, then the name of the bdd index BDD_INDEX_MIN is assumed to be the first slot of the NameArray, and so on.

RETURN VALUE

convertbddmuxabl returns a pointer to the abl expression translated.

EXAMPLE

#include "bdd101.h"

bddsystem ∗BddSystem;
bddnode ∗BddNode1;
bddnode ∗BddNode2;
chain_list ∗Expr;
char ∗NameArray[ 2 ];
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddNode1 = addbddvarlast( BddSystem );
BddNode2 = addbddvarlast( BddSystem );
NameArray[ 0 ] = namealloc( "i0" );
NameArray[ 1 ] = namealloc( "i1" );
Expr = convertbddmuxabl( BddSystem, NameArray, (bddindex ∗)0,
createablatom( "C" ), BddNode1, BddNode2 );
/* displays (i0 and C) or (i1 and (not C)) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem ∗)0 );

SEE ALSO

bdd(1), abl(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