convertbddnodesumabl.3alc man page

convertbddnodesumabl — converts a bdd node to an abl expression.

Synopsis

#include "bdd101.h"
chain_list *convertbddnodesumabl( BddSystem, NameArray, IndexArray, BddNode )
  bddsystem ∗BddSystem;
  char     ∗∗NameArray;
  bddindex  ∗IndexArray;
  bddnode   ∗BddNode;

Parameters

BddSystem

The bdd system.

NameArray

The array of names.

IndexArray

The array of indexes.

BddNode

The bdd node to convert.

Description

convertbddnodesumabl converts the bdd node to a non optimal abl expression 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

convertbddnodesumabl returns a pointer to the abl expression translated.

Example

#include "bdd101.h"
   bddsystem  ∗BddSystem;
   bddnode    ∗BddNode;
   chain_list ∗Expr;
   char       ∗NameArray[ 1 ];
   BddSystem = createbddsystem( 100, 1000, 100, 50000 );
   BddNode   = addbddvarlast( BddSystem );
   NameArray[ 0 ] = namealloc( "i0" );
   Expr = convertbddnodesumabl( BddSystem, NameArray, (bddindex ∗)0,  BddNode );
   /* displays i0 */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem ∗)0 );

See Also

bdd(1), abl(1).

Info

October 1, 1997 ASIM/LIP6 BDD FUNCTIONS