ordCmd.c
Command interface to the ordering package.
ordIo.c
Routines to read and write variable orderings.
ordMain.c
Routines for static ordering of MDD variables.
ordNodes.c
Routines to order the nodes in the TFI of the roots of a network.
ordPerm.c
Routines to find permutation on latches to minimize MDD size.
ordRoots.c
Routines to order the roots of the network.

ordCmd.c

Command interface to the ordering package.

By: Adnan Aziz, Tom Shiple, Serdar Tasiran

Ord_Init()
Initializes the order package.
Ord_End()
Ends the order package.
Ord_NetworkTestAreVariablesOrdered()
Checks that all nodes corresponding to orderType have MDD ids.
CommandStaticOrder()
Implements the static_order command.
CommandReadOrder()
Implements the read_order command.
CommandWriteOrder()
Implements the write_order command.
CommandDynamicVarOrdering()
Implements the dynamic_var_ordering command.
CommandPrintBddStats()
Implements the print_bdd_stats command.
StringConvertToOrderType()
Converts a string to an order type.
StringConvertToDynOrderType()
Converts a string to a dynamic ordering method type.
DynOrderTypeConvertToString()
Converts a dynamic ordering method type to a string.
NetworkCheckSuppliedNodeList()
Verifies that suppliedNodeList has the correct nodes.
TimeOutHandle()
Handle function for timeout.

ordIo.c

Routines to read and write variable orderings.

By: Adnan Aziz, Tom Shiple

Ord_NetworkPrintVariableOrder()
Prints to a file the current ordering of MDD variables.
Ord_NetworkGetCombInputNamesInOrder()
Returns a name array of combinational input variables in order.
Ord_FileReadNodeList()
Returns a list of nodes corresponding to the names in a file.
OrdMakeNewVariableOrder()
Makes new variable order.
NodeBuildBddLevelArrayFromNtkNode()
Gets the levels of the BDD variables corresponding to the MDD variable of a node.
NodeBuildBddIdArrayFromNtkNode()
Gets the indices of the BDD variables corresponding to the MDD variable of a node.
IntegersCompare()
Used to sort an array of integers in ascending order.
NodesCompareBddLevelArray()
Used to sort an array of nodes in ascending order of lowest BDD level.
NodeReadBddLevelArray()
Gets the BDD level array of a node.
NodeSetBddLevelArray()
Sets the BDD level array of a node.
NameStringProcess()
Processes the name of a node.

ordMain.c

Routines for static ordering of MDD variables.

By: Adnan Aziz, Tom Shiple, Serdar Tasiran

Ord_NetworkOrderVariables()
Orders the MDD variables of a network.
Ord_NetworkOrderNodes()
Orders the nodes of a network.
Ord_NetworkAssignMddIdForNode()
Assigns an mddId to a node.
Ord_ListMergeLeftListUsingTable()
Merges left list2 into list1, using the provided table for efficiency.
Ord_ListMergeRightListUsingTable()
Merges right list2 into list1, using the provided table for efficiency.
Ord_ListMergeListUsingTable()
Merges list2 into list1, using the provided table for efficiency.
Ord_ListMergeList()
Merges list2 into list1.
Ord_ListAppendList()
Appends list2 into list1.
OrdNodesFromListCompareDepth()
Compares the depth of two nodes in an lsList.
OrdNodesFromArrayCompareDepth()
Compares the depth of two nodes in an array_t.
OrdNetworkComputeNodeDepths()
Computes the depth of each node in the TFI of roots.
OrdNodeListWrite()
Prints the names of a list of nodes, one per line.
OrdNodeReadDepth()
Reads the depth of a node.
OrdNetworkAssignMddIds()
Assigns consecutive MDD ids to nodes in orderList.
NodesCompareDepth()
Compares depths of node1 and node2 for sorting; greater depth node should appear before a lower depth node. Ties are broken based on the node names; it's an error if the two nodes have the same name.
NodeComputeDepth()
Computes the depth of a node.
NetworkAddDanglingNodesToOrderList()
Adds to nodeOrderList all network nodes not currently in the list.
NetworkAddNSVarsToOrderList()
Adds to nodeOrderList all next state variables.
LatchNSListConvertToLatchDataInputList()
Converts a list of latch next state nodes to the corresponding list of latch data input nodes.
NodeSetDepth()
Sets the depth of a node.
MddGroupVariables()
Group all bdd vars corresponding to mdd vars initMddId to initMddId + (blockSize-1) in a block which will not be split in reordering.

ordNodes.c

Routines to order the nodes in the TFI of the roots of a network.

By: Tom Shiple and Fabio Somenzi

Routines to order the nodes in the TFI of the roots of a network. To add a new method, create a new value for the Ord_NodeMethod enumerated type, and add a call to the new procedure from OrdNetworkOrderTFIOfRoots.

OrdNetworkOrderTFIOfRoots()
Orders the nodes of a network in TFI of roots.
NetworkOrderTFIOfRootsByMerging()
Orders the nodes of a network by the merging method.
NodeOrderRecursivelyByMerging()
Orders the fanins of a node, and then orders the node itself.
NetworkOrderTFIOfRootsByAppending()
Orders the nodes of a network by the appending method.
NodeOrderRecursivelyByAppending()
Orders the fanins of a node, and then orders the node itself.
NetworkOrderTFIOfRootsByInterleaving()
Orders the nodes of a network by the interleaving method.
NodeOrderRecursivelyByInterleaving()
Orders the fanins of a node, and then orders the node itself.
NetworkInitializeOrderingState()
Initializes structure needed to maintain state of ordering routine.
OrderingStateSetLast()
Updates the insertion point in orderingState.
OrderingStateFree()
Frees all memory associated with an ordering state.
NodeReadOrderList()
Gets the order list of a node.
NodeSetOrderList()
Sets the orderList of a node.
NodeReadFrom()
Gets the from root of a node.
NodeSetFrom()
Sets the from root of a node to the current root.

ordPerm.c

Routines to find permutation on latches to minimize MDD size.

By: Serdar Tasiran, Tom Shiple

OrdNetworkOrderRootsByPerm()
Computes a total ordering on the combinational outputs of a network.
NetworkComputeLatchOrder()
Computes an ordering on the latches.
LatchPermutationCompute()
required
rev_fac()
required
cost_for_cut()
required
append_best()
required
cost_2()
required
cost_touati_2()
required
swap()
required
append_best_2()
required
append_touati_2()
required
init_heur()
required
heur_2()
required
heur_touati_la2()
required
opt_proc_order()
required
opt_touati_order()
required
cost_total()
required
random_permutation()
required

ordRoots.c

Routines to order the roots of the network.

By: Tom Shiple

Routines to order the roots of the network. The nodes of the network are explored in DFS order from the roots, in the root order computed. To add a new method, create a new value for the Ord_RootMethod enumerated type, and add a call to the new procedure from Ord_NetworkOrderRoots.

Ord_NetworkOrderRoots()
Orders the roots of a network.
OrdNetworkOrderRootsByDepth()
Computes a total ordering on the combinational outputs of a network.
OrdNodeAddToList()
Inserts a node into a list, unless it already appears in the list.

Last updated on 20010517 18h00
Contact 
©2002-2018 U.C. Regents