Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SUBSTBDDNODEASSOC(3)		 BDD FUNCTIONS		  SUBSTBDDNODEASSOC(3)

NAME
       substbddnodeassoc  -  substitutes  a set	of variables with a set	of bdd
       node.

SYNOPSYS
       #include	"bdd101.h"
       bddnode *substbddnodeassoc( BddSystem, BddNode, BddAssoc	)
	 bddsystem *BddSystem;
	 bddnode   *BddNode;
	 bddassoc  *BddAssoc;

PARAMETERS
       BddSystem	   The bdd system.

       BddNode		   The bdd node	to treat.

       BddAssoc		   The variable	association.

DESCRIPTION
       substbddnodeassoc substitutes in	the bdd	node BddNode all the variables
       associated  to something	in the variable	association BddAssoc, with the
       corresponding bdd node, in the bdd system BddSystem.  If	a null pointer
       is given, the default bdd system	is used.

RETURN VALUE
       substbddnodeassoc returns the computed bdd node.

ERRORS
       "variable xxx out of range, error !"
	      The  Variable  parameter	must  be  less or equal	to the BddSys-
	      tem-_NUMBER_VAR field.
       "bad variable association xxx, error !"
	      The BddAssoc parameter must a valid variable association.

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)

ASIM/LIP6			October	1, 1997		  SUBSTBDDNODEASSOC(3)

NAME | SYNOPSYS | PARAMETERS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=substbddnodeassoc&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help