ablToBddCct(3)
converts an ABL into a BDD within a circuit
SYNOPSYS
#include "logmmm.h"
pNode ablToBddCct(pC,expr)
pCircuit pC;
chain_list *expr;
PARAMETERS
- pC
-
Circuit in which is made the conversion
- expr
-
expression to convert
DESCRIPTION
ablToBddCct() constructs the graph that is computed from expr. This function provides the basic method for constructing easily the BDDs. The applyBdd() function is called recursively by going through the ABL.
EXAMPLE
#include "mutnnn.h" /* mbk utilities */
#include "logmmm.h"
chain_list *expr;
pNode res;
pCircuit pC;
initializeBdd(SMALL_BDD);
pC = initializeCct("circuit 1",10,10);
addInputCct(pC,"a");
addInputCct(pC,"b");
/* let's suppose that expr = (OR (AND (NOT a) b) a) */
res = ablToBddCct(pC,expr);
displayBdd(res,1);
/* it will display
@res INDEX = 3 LOW = @nodeA HIGH = ONE
@nodeA INDEX = 2 LOW = ZERO HIGH = ONE
*/
destroyCct(pC);
destroyBdd(1);