summaryrefslogtreecommitdiffstats
path: root/src/aig/nwk/nwkMerge.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/nwk/nwkMerge.h')
-rw-r--r--src/aig/nwk/nwkMerge.h153
1 files changed, 0 insertions, 153 deletions
diff --git a/src/aig/nwk/nwkMerge.h b/src/aig/nwk/nwkMerge.h
deleted file mode 100644
index f6be760f..00000000
--- a/src/aig/nwk/nwkMerge.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/**CFile****************************************************************
-
- FileName [nwkMerge.h]
-
- SystemName [ABC: Logic synthesis and verification system.]
-
- PackageName [Logic network representation.]
-
- Synopsis [External declarations.]
-
- Author [Alan Mishchenko]
-
- Affiliation [UC Berkeley]
-
- Date [Ver. 1.0. Started - June 20, 2005.]
-
- Revision [$Id: nwkMerge.h,v 1.1 2008/05/14 22:13:09 wudenni Exp $]
-
-***********************************************************************/
-
-#ifndef __NWK_MERGE_H__
-#define __NWK_MERGE_H__
-
-
-////////////////////////////////////////////////////////////////////////
-/// INCLUDES ///
-////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////
-/// PARAMETERS ///
-////////////////////////////////////////////////////////////////////////
-
-
-
-ABC_NAMESPACE_HEADER_START
-
-
-#define NWK_MAX_LIST 16
-
-////////////////////////////////////////////////////////////////////////
-/// BASIC TYPES ///
-////////////////////////////////////////////////////////////////////////
-
-// the LUT merging parameters
-typedef struct Nwk_LMPars_t_ Nwk_LMPars_t;
-struct Nwk_LMPars_t_
-{
- int nMaxLutSize; // the max LUT size for merging (N=5)
- int nMaxSuppSize; // the max total support size after merging (S=5)
- int nMaxDistance; // the max number of nodes separating LUTs
- int nMaxLevelDiff; // the max difference in levels
- int nMaxFanout; // the max number of fanouts to traverse
- int fUseDiffSupp; // enables the use of nodes with different support
- int fUseTfiTfo; // enables the use of TFO/TFO nodes as candidates
- int fVeryVerbose; // enables additional verbose output
- int fVerbose; // enables verbose output
-};
-
-// edge of the graph
-typedef struct Nwk_Edg_t_ Nwk_Edg_t;
-struct Nwk_Edg_t_
-{
- int iNode1; // the first node
- int iNode2; // the second node
- Nwk_Edg_t * pNext; // the next edge
-};
-
-// vertex of the graph
-typedef struct Nwk_Vrt_t_ Nwk_Vrt_t;
-struct Nwk_Vrt_t_
-{
- int Id; // the vertex number
- int iPrev; // the previous vertex in the list
- int iNext; // the next vertex in the list
- int nEdges; // the number of edges
- int pEdges[0]; // the array of edges
-};
-
-// the connectivity graph
-typedef struct Nwk_Grf_t_ Nwk_Grf_t;
-struct Nwk_Grf_t_
-{
- // preliminary graph representation
- int nObjs; // the number of objects
- int nVertsMax; // the upper bound on the number of vertices
- int nEdgeHash; // an approximate number of edges
- Nwk_Edg_t ** pEdgeHash; // hash table for edges
- Aig_MmFixed_t * pMemEdges; // memory for edges
- // graph representation
- int nEdges; // the number of edges
- int nVerts; // the number of vertices
- Nwk_Vrt_t ** pVerts; // the array of vertices
- Aig_MmFlex_t * pMemVerts; // memory for vertices
- // intermediate data
- int pLists1[NWK_MAX_LIST+1]; // lists of nodes with one edge
- int pLists2[NWK_MAX_LIST+1]; // lists of nodes with more than one edge
- // the results of matching
- Vec_Int_t * vPairs; // pairs matched in the graph
- // object mappings
- int * pMapLut2Id; // LUT numbers into vertex IDs
- int * pMapId2Lut; // vertex IDs into LUT numbers
- // other things
- int nMemBytes1; // memory usage in bytes
- int nMemBytes2; // memory usage in bytes
-};
-
-////////////////////////////////////////////////////////////////////////
-/// MACRO DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-#define Nwk_GraphForEachEdge( p, pEdge, k ) \
- for ( k = 0; k < p->nEdgeHash; k++ ) \
- for ( pEdge = p->pEdgeHash[k]; pEdge; pEdge = pEdge->pNext )
-
-#define Nwk_ListForEachVertex( p, List, pVrt ) \
- for ( pVrt = List? p->pVerts[List] : NULL; pVrt; \
- pVrt = pVrt->iNext? p->pVerts[pVrt->iNext] : NULL )
-
-#define Nwk_VertexForEachAdjacent( p, pVrt, pNext, k ) \
- for ( k = 0; (k < pVrt->nEdges) && (((pNext) = p->pVerts[pVrt->pEdges[k]]), 1); k++ )
-
-////////////////////////////////////////////////////////////////////////
-/// INLINED FUNCTIONS ///
-////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////
-/// ITERATORS ///
-////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////
-/// FUNCTION DECLARATIONS ///
-////////////////////////////////////////////////////////////////////////
-
-/*=== nwkMerge.c ==========================================================*/
-extern ABC_DLL Nwk_Grf_t * Nwk_ManGraphAlloc( int nVertsMax );
-extern ABC_DLL void Nwk_ManGraphFree( Nwk_Grf_t * p );
-extern ABC_DLL void Nwk_ManGraphReportMemoryUsage( Nwk_Grf_t * p );
-extern ABC_DLL void Nwk_ManGraphHashEdge( Nwk_Grf_t * p, int iLut1, int iLut2 );
-extern ABC_DLL void Nwk_ManGraphSolve( Nwk_Grf_t * p );
-extern ABC_DLL int Nwk_ManLutMergeGraphTest( char * pFileName );
-
-
-
-ABC_NAMESPACE_HEADER_END
-
-
-
-#endif
-
-////////////////////////////////////////////////////////////////////////
-/// END OF FILE ///
-////////////////////////////////////////////////////////////////////////
-