1 | /**CHeaderFile***************************************************************** |
---|
2 | |
---|
3 | FileName [ordInt.h] |
---|
4 | |
---|
5 | PackageName [ord] |
---|
6 | |
---|
7 | Synopsis [Internal declarations for the order package.] |
---|
8 | |
---|
9 | Author [Adnan Aziz, Tom Shiple, Serdar Tasiran] |
---|
10 | |
---|
11 | Copyright [Copyright (c) 1994-1996 The Regents of the Univ. of California. |
---|
12 | All rights reserved. |
---|
13 | |
---|
14 | Permission is hereby granted, without written agreement and without license |
---|
15 | or royalty fees, to use, copy, modify, and distribute this software and its |
---|
16 | documentation for any purpose, provided that the above copyright notice and |
---|
17 | the following two paragraphs appear in all copies of this software. |
---|
18 | |
---|
19 | IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR |
---|
20 | DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT |
---|
21 | OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF |
---|
22 | CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
---|
23 | |
---|
24 | THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, |
---|
25 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
---|
26 | FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN |
---|
27 | "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE |
---|
28 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.] |
---|
29 | |
---|
30 | Revision [$Id: ordInt.h,v 1.6 2004/07/28 19:50:49 wangc Exp $] |
---|
31 | |
---|
32 | ******************************************************************************/ |
---|
33 | |
---|
34 | #ifndef _ORDINT |
---|
35 | #define _ORDINT |
---|
36 | |
---|
37 | /*---------------------------------------------------------------------------*/ |
---|
38 | /* Nested includes */ |
---|
39 | /*---------------------------------------------------------------------------*/ |
---|
40 | #include "cmd.h" |
---|
41 | #include "var.h" |
---|
42 | #include "ord.h" |
---|
43 | |
---|
44 | /*---------------------------------------------------------------------------*/ |
---|
45 | /* Constant declarations */ |
---|
46 | /*---------------------------------------------------------------------------*/ |
---|
47 | #define ORDUNASSIGNED_DEPTH -1 |
---|
48 | |
---|
49 | #ifndef MAX |
---|
50 | # define MAX(a,b) ((a) > (b) ? (a) : (b)) |
---|
51 | #endif |
---|
52 | |
---|
53 | /**AutomaticStart*************************************************************/ |
---|
54 | |
---|
55 | /*---------------------------------------------------------------------------*/ |
---|
56 | /* Function prototypes */ |
---|
57 | /*---------------------------------------------------------------------------*/ |
---|
58 | |
---|
59 | EXTERN int OrdNodesFromListCompareDepth(lsGeneric node1, lsGeneric node2); |
---|
60 | EXTERN int OrdNodesFromArrayCompareDepth(const void * node1, const void * node2); |
---|
61 | EXTERN void OrdNetworkComputeNodeDepths(Ntk_Network_t * network, lsList roots); |
---|
62 | EXTERN void OrdNodeListWrite(FILE *fp, lsList nodeList); |
---|
63 | EXTERN long OrdNodeReadDepth(Ntk_Node_t * node); |
---|
64 | EXTERN void OrdNetworkAssignMddIds(Ntk_Network_t * network, Ord_OrderType orderType, lsList orderList, boolean nsAfterSupport); |
---|
65 | EXTERN lsList OrdNetworkOrderTFIOfRoots(Ntk_Network_t *network, lsList roots, Ord_NodeMethod nodeOrderMethod, st_table *nodeToHandle, int verbose); |
---|
66 | EXTERN lsList OrdNetworkOrderRootsByPerm(Ntk_Network_t *network, int verbose); |
---|
67 | EXTERN lsList OrdNetworkOrderRootsByDepth(Ntk_Network_t *network, boolean verbose); |
---|
68 | EXTERN void OrdNodeAddToList(lsList nodeList, st_table *nodeTable, Ntk_Node_t *node); |
---|
69 | EXTERN int OrdMakeNewVariableOrder(mdd_manager *mddMgr, lsList suppliedNodeList, int group, int verbose); |
---|
70 | |
---|
71 | /**AutomaticEnd***************************************************************/ |
---|
72 | |
---|
73 | #endif /* _ORDINT */ |
---|
74 | |
---|
75 | |
---|
76 | |
---|