char * 
Fsm_BddFormatInt2String(
  int  intValue 
)
Given an Integer Returns a string

Side Effects none


int 
Fsm_BddFormatString2Int(
  char * string String to Analyze
)
It receives a string; to facilitate the user that string can be an easy-to-remember predefined code or an integer number (interpreted as a string). It returns the integer DDDMP value.

Side Effects none


Fsm_Mgr_t * 
Fsm_MgrDup(
  Fsm_Mgr_t * fsmMgr FSM Manager
)
Duplicates FSM structure.

Side Effects none

See Also Fsm_MgrInit ()

void 
Fsm_MgrFree(
  Fsm_Mgr_t * fsmMgr FSM Manager
)
Frees unused FSM structure members

Side Effects none

See Also Ddi_DdArrayFree();Ddi_VarArrayFree()

Fsm_Mgr_t * 
Fsm_MgrInit(
  char * fsmName Name of the FSM structure
)
Initializes the FSM structure.

Side Effects none


int 
Fsm_MgrLoadFromBlif(
  Fsm_Mgr_t ** fsmMgrP, FSM Pointer
  Ddi_DdMgr * dd, dd manager
  char * fileFsmName, FSM File Name
  char * fileOrdName, ORD File Name
  int  bddFlag Not Used For Now
)
The function gives a compatible DDI:

Side Effects None


int 
Fsm_MgrLoad(
  Fsm_Mgr_t ** fsmMgrP, FSM Pointer
  Ddi_DdMgr * dd, Main DD manager
  char * fileFsmName, Input file name
  char * fileOrdName, ORD File Name
  int  bddFlag 0=Do non load BDD (default), 1=Load BDD
)

See Also get_name_file readFsm

int 
Fsm_MgrOperation(
  Fsm_Mgr_t * fsmMgr, FSM Manager
  char * string, String
  Pdtutil_MgrOp_t  operationFlag, Operation Flag
  void ** voidPointer, Generic Pointer
  Pdtutil_MgrRet_t * returnFlagP Type of the Pointer Returned
)

See Also CmdMgrOperation CmdRegOperation Trav_MgrOperation Tr_MgrOperation

int 
Fsm_MgrPMBuild(
  Fsm_Mgr_t ** fsmMgrPMP, FSM Product Machine Pointer
  Fsm_Mgr_t * fsmMgr1, First FSM
  Fsm_Mgr_t * fsmMgr2 Second FSM
)

See Also get_name_file readFsm

void 
Fsm_MgrPrintPrm(
  Fsm_Mgr_t * fsmMgr 
)
Prints the permutation on file "tmp.prm"

Side Effects none


void 
Fsm_MgrPrintStats(
  Fsm_Mgr_t * fsmMgr 
)
Prints Statistics on the FSM Structure

Side Effects none

See Also Ddi_MgrPrintStats Tr_MgrPrintStats Trav_MgrPrintStats

int 
Fsm_MgrReadBddFormat(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_DdMgr * 
Fsm_MgrReadDdManager(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_DdArray_t * 
Fsm_MgrReadDeltaBDD(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadDeltaName(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadFileName(
  Fsm_Mgr_t * fsmMgr 
)


void 
Fsm_MgrReadFileOrd(
  FILE * fp, 
  Fsm_Mgr_t * fsmMgr 
)
Reads variable order from a .ord file


Ddi_Dd_t * 
Fsm_MgrReadFromBDD(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadFromName(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadFromString(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadFsmName(
  Fsm_Mgr_t * fsmMgr 
)


int * 
Fsm_MgrReadIndexI(
  Fsm_Mgr_t * fsmMgr 
)


int * 
Fsm_MgrReadIndexNS(
  Fsm_Mgr_t * fsmMgr 
)


int * 
Fsm_MgrReadIndexO(
  Fsm_Mgr_t * fsmMgr 
)


int * 
Fsm_MgrReadIndexPS(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_Dd_t * 
Fsm_MgrReadInitBDD(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadInitName(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadInitString(
  Fsm_Mgr_t * fsmMgr 
)


int * 
Fsm_MgrReadInvauxids(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_DdArray_t * 
Fsm_MgrReadLambdaBDD(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadLambdaName(
  Fsm_Mgr_t * fsmMgr 
)


int 
Fsm_MgrReadNI(
  Fsm_Mgr_t * fsmMgr 
)


int 
Fsm_MgrReadNL(
  Fsm_Mgr_t * fsmMgr 
)


int 
Fsm_MgrReadNO(
  Fsm_Mgr_t * fsmMgr 
)


char ** 
Fsm_MgrReadNameI(
  Fsm_Mgr_t * fsmMgr 
)


char ** 
Fsm_MgrReadNameNS(
  Fsm_Mgr_t * fsmMgr 
)


char ** 
Fsm_MgrReadNameO(
  Fsm_Mgr_t * fsmMgr 
)


char ** 
Fsm_MgrReadNamePS(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadOrdFileName(
  Fsm_Mgr_t * fsmMgr 
)


char ** 
Fsm_MgrReadOrdNodeName(
  Fsm_Mgr_t * fsmMgr 
)


int * 
Fsm_MgrReadOrdNodeid(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_Dd_t * 
Fsm_MgrReadReachedBDD(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadReachedName(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadReachedString(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_VarArray_t * 
Fsm_MgrReadSX(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_Dd_t * 
Fsm_MgrReadTrBDD(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadTrName(
  Fsm_Mgr_t * fsmMgr 
)


char * 
Fsm_MgrReadTrString(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_VarArray_t * 
Fsm_MgrReadVarI(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_VarArray_t * 
Fsm_MgrReadVarNS(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_VarArray_t * 
Fsm_MgrReadVarO(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_VarArray_t * 
Fsm_MgrReadVarPS(
  Fsm_Mgr_t * fsmMgr 
)


int * 
Fsm_MgrReadVarauxids(
  Fsm_Mgr_t * fsmMgr 
)


char ** 
Fsm_MgrReadVarnames(
  Fsm_Mgr_t * fsmMgr 
)


Pdtutil_VerbLevel_e 
Fsm_MgrReadVerbosity(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_VarArray_t * 
Fsm_MgrReadY(
  Fsm_Mgr_t * fsmMgr 
)


Ddi_VarArray_t * 
Fsm_MgrReadZ(
  Fsm_Mgr_t * fsmMgr 
)


void 
Fsm_MgrSetBddFormat(
  Fsm_Mgr_t * fsmMgr, 
  int  var 
)


void 
Fsm_MgrSetDdManager(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_DdMgr * var 
)


void 
Fsm_MgrSetDeltaBDD(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_DdArray_t * var 
)


void 
Fsm_MgrSetDeltaName(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetFileName(
  Fsm_Mgr_t * fsmMgr, 
  char * fileName 
)


void 
Fsm_MgrSetFromBDD(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_Dd_t * var 
)


void 
Fsm_MgrSetFromName(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetFromString(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetFsmName(
  Fsm_Mgr_t * fsmMgr, 
  char * fsmName 
)


void 
Fsm_MgrSetIndexI(
  Fsm_Mgr_t * fsmMgr, 
  int * var 
)


void 
Fsm_MgrSetIndexNS(
  Fsm_Mgr_t * fsmMgr, 
  int * var 
)


void 
Fsm_MgrSetIndexO(
  Fsm_Mgr_t * fsmMgr, 
  int * var 
)


void 
Fsm_MgrSetIndexPS(
  Fsm_Mgr_t * fsmMgr, 
  int * var 
)


void 
Fsm_MgrSetInitBDD(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_Dd_t * var 
)


void 
Fsm_MgrSetInitName(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetInitString(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetInvauxids(
  Fsm_Mgr_t * fsmMgr, 
  int * var 
)


void 
Fsm_MgrSetLambdaBDD(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_DdArray_t * var 
)


void 
Fsm_MgrSetLambdaName(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetNI(
  Fsm_Mgr_t * fsmMgr, 
  int  var 
)


void 
Fsm_MgrSetNL(
  Fsm_Mgr_t * fsmMgr, 
  int  var 
)


void 
Fsm_MgrSetNO(
  Fsm_Mgr_t * fsmMgr, 
  int  var 
)


void 
Fsm_MgrSetNameI(
  Fsm_Mgr_t * fsmMgr, 
  char ** var 
)


void 
Fsm_MgrSetNameNS(
  Fsm_Mgr_t * fsmMgr, 
  char ** var 
)


void 
Fsm_MgrSetNameO(
  Fsm_Mgr_t * fsmMgr, 
  char ** var 
)


void 
Fsm_MgrSetNamePS(
  Fsm_Mgr_t * fsmMgr, 
  char ** var 
)


void 
Fsm_MgrSetOrdFileName(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetOrdNodeName(
  Fsm_Mgr_t * fsmMgr, 
  char ** var 
)


void 
Fsm_MgrSetOrdNodeid(
  Fsm_Mgr_t * fsmMgr, 
  int * var 
)


void 
Fsm_MgrSetReachedBDD(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_Dd_t * var 
)


void 
Fsm_MgrSetReachedName(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetReachedString(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetSX(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_VarArray_t * var 
)


void 
Fsm_MgrSetTrBDD(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_Dd_t * var 
)


void 
Fsm_MgrSetTrName(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetTrString(
  Fsm_Mgr_t * fsmMgr, 
  char * var 
)


void 
Fsm_MgrSetVarI(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_VarArray_t * var 
)


void 
Fsm_MgrSetVarNS(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_VarArray_t * var 
)


void 
Fsm_MgrSetVarO(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_VarArray_t * var 
)


void 
Fsm_MgrSetVarPS(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_VarArray_t * var 
)


void 
Fsm_MgrSetVarauxids(
  Fsm_Mgr_t * fsmMgr, 
  int * var 
)


void 
Fsm_MgrSetVarnamesOne(
  Fsm_Mgr_t * fsmMgr, 
  char * var, 
  int  i 
)


void 
Fsm_MgrSetVarnames(
  Fsm_Mgr_t * fsmMgr, 
  char ** var 
)


void 
Fsm_MgrSetVerbosity(
  Fsm_Mgr_t * fsmMgr, 
  Pdtutil_VerbLevel_e  var 
)


void 
Fsm_MgrSetY(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_VarArray_t * var 
)


void 
Fsm_MgrSetZ(
  Fsm_Mgr_t * fsmMgr, 
  Ddi_VarArray_t * var 
)


int 
Fsm_MgrStore(
  Fsm_Mgr_t * fsmMgr, struttura FSM
  char * fileName, output file name
  FILE * fp, file pointer
  int  bddFlag, Flag to Store or Not BDD on Files
  int  bddFormat 0 = default, 1 = text, 2 = binary
)
Stores (on file o stdout) of FSM structure

See Also Ddi_DdArrayStore Ddi_DdArrayFetch Ddi_DdArray_n

int 
Fsm_PortBnetBuildNodeBDD(
  DdManager * dd, DD manager
  FsmPortBnetNode_t * nd, node of the boolean network
  st_table * hash, symbol table of the boolean network
  int  params, type of DD to be built
  int  nodrop retain the intermediate node DDs until the end
)
Builds the BDD for the function of a node and stores a pointer to it in the dd field of the node itself. The reference count of the BDD is incremented. If params is PORT_BNETLOCAL_DD, then the BDD is built in terms of the local inputs to the node; otherwise, if params is PORT_BNETGLOBAL_DD, the BDD is built in terms of the network primary inputs. To build the global BDD of a node, the BDDs for its local inputs must exist. If that is not the case, Fsm_PortBnetBuildNodeBDD recursively builds them. Likewise, to create the local BDD for a node, the local inputs must have variables assigned to them. If that is not the case, Fsm_PortBnetBuildNodeBDD recursively assigns variables to nodes. Fsm_PortBnetBuildNodeBDD returns 1 in case of success; 0 otherwise.

Side Effects Sets the dd field of the node.


int 
Fsm_PortBnetDfsVariableOrder(
  DdManager * dd, 
  FsmPortBnetNetwork_t * net 
)
Orders the BDD variables by DFS. Returns 1 in case of success; 0 otherwise.

Side Effects Uses the visited flags of the nodes.


void 
Fsm_PortBnetFreeNetwork(
  FsmPortBnetNetwork_t * net 
)
Frees a boolean network created by Fsm_PortBnetReadNetwork.

Side Effects None

See Also Fsm_PortBnetReadNetwork

FsmPortBnetNetwork_t * 
Fsm_PortBnetReadNetwork(
  FILE * fp, pointer to the blif file
  int  pr verbosity level
)
Reads a boolean network from a blif file. A very restricted subset of blif is supfsmPorted. Specifically: Caveat emptor: There may be other limitations as well. One should check the syntax of the blif file with some other tool before relying on this parser. Fsm_PortBnetReadNetwork returns a pointer to the network if successful; NULL otherwise.

Side Effects None

See Also Fsm_PortBnetPrintNetwork Fsm_PortBnetFreeNetwork

int 
Fsm_PortBnetReadOrder(
  DdManager * dd, 
  char * ordFile, 
  FsmPortBnetNetwork_t * net, 
  int  locGlob, 
  int  nodrop 
)
Reads the variable order from a file. Returns 1 if successful; 0 otherwise.

Side Effects The BDDs for the primary inputs and present state variables are built.


int 
Fsm_PortNtrBuildDDs(
  FsmPortBnetNetwork_t * net, network for which DDs are to be built
  DdManager * dd, DD manager
  FsmPortNtrOptions_t * option, option structure
  FsmPortBnetNetwork_t * net2 companion network with which inputs may be shared
)
Builds DDs for a network outputs and next state functions. The method is really brain-dead, but it is very simple. Returns 1 in case of success; 0 otherwise. Some inputs to the network may be shared with another network whose DDs have already been built. In this case we want to share the DDs as well.

Side Effects the dd fields of the network nodes are modified. Uses the count fields of the nodes.


DdNode * 
Fsm_PortNtrInitState(
  DdManager * dd, 
  FsmPortBnetNetwork_t * net, 
  FsmPortNtrOptions_t * option 
)
Builds the BDD of the initial state(s). Returns a BDD if successful; NULL otherwise.

Side Effects None


Last updated on 990617 11h53