abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
amap.h
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [amap.h]
4 
5  SystemName [ABC: Logic synthesis and verification system.]
6 
7  PackageName [Technology mapper for standard cells.]
8 
9  Synopsis [External declarations.]
10 
11  Author [Alan Mishchenko]
12 
13  Affiliation [UC Berkeley]
14 
15  Date [Ver. 1.0. Started - June 20, 2005.]
16 
17  Revision [$Id: amap.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
18 
19 ***********************************************************************/
20 
21 #ifndef ABC__map__amap__amap_h
22 #define ABC__map__amap__amap_h
23 
24 
25 ////////////////////////////////////////////////////////////////////////
26 /// INCLUDES ///
27 ////////////////////////////////////////////////////////////////////////
28 
29 ////////////////////////////////////////////////////////////////////////
30 /// PARAMETERS ///
31 ////////////////////////////////////////////////////////////////////////
32 
33 
34 
36 
37 
38 ////////////////////////////////////////////////////////////////////////
39 /// BASIC TYPES ///
40 ////////////////////////////////////////////////////////////////////////
41 
42 typedef struct Amap_Lib_t_ Amap_Lib_t;
43 
44 typedef struct Amap_Par_t_ Amap_Par_t;
46 {
47  int nIterFlow; // iterations of area flow
48  int nIterArea; // iteratoins of exact area
49  int nCutsMax; // the maximum number of cuts at a node
50  int fUseMuxes; // enables the use of MUXes
51  int fUseXors; // enables the use of XORs
52  int fFreeInvs; // assume inverters are free (area = 0)
53  float fEpsilon; // used to compare floating point numbers
54  float fADratio; // ratio of area/delay improvement
55  int fVerbose; // verbosity flag
56 };
57 
58 typedef struct Amap_Out_t_ Amap_Out_t;
60 {
61  char * pName; // gate name
62  short Type; // node type (-1=input; 0=internal; 1=output)
63  short nFans; // number of fanins
64  int pFans[0]; // fanin
65 };
66 
67 ////////////////////////////////////////////////////////////////////////
68 /// MACRO DEFINITIONS ///
69 ////////////////////////////////////////////////////////////////////////
70 
71 ////////////////////////////////////////////////////////////////////////
72 /// FUNCTION DECLARATIONS ///
73 ////////////////////////////////////////////////////////////////////////
74 
75 /*=== amapCore.c ==========================================================*/
76 extern void Amap_ManSetDefaultParams( Amap_Par_t * pPars );
77 //extern Vec_Ptr_t * Amap_ManTest( Aig_Man_t * pAig, Amap_Par_t * pPars );
78 /*=== amapLib.c ==========================================================*/
79 extern void Amap_LibFree( Amap_Lib_t * p );
80 extern void Amap_LibPrintSelectedGates( Amap_Lib_t * p, int fAllGates );
81 extern Amap_Lib_t * Amap_LibReadAndPrepare( char * pFileName, char * pBuffer, int fVerbose, int fVeryVerbose );
82 /*=== amapLiberty.c ==========================================================*/
83 extern int Amap_LibertyParse( char * pFileName, int fVerbose );
84 extern Vec_Str_t * Amap_LibertyParseStr( char * pFileName, int fVerbose );
85 
86 
87 
89 
90 
91 
92 #endif
93 
94 ////////////////////////////////////////////////////////////////////////
95 /// END OF FILE ///
96 ////////////////////////////////////////////////////////////////////////
97 
void Amap_ManSetDefaultParams(Amap_Par_t *pPars)
MACRO DEFINITIONS ///.
Definition: amapCore.c:46
int pFans[0]
Definition: amap.h:64
static Llb_Mgr_t * p
Definition: llb3Image.c:950
char * pName
Definition: amap.h:61
int nIterArea
Definition: amap.h:48
int Amap_LibertyParse(char *pFileName, int fVerbose)
Definition: amapLiberty.c:1012
short nFans
Definition: amap.h:63
int fVerbose
Definition: amap.h:55
Amap_Lib_t * Amap_LibReadAndPrepare(char *pFileName, char *pBuffer, int fVerbose, int fVeryVerbose)
Definition: amapLib.c:329
Vec_Str_t * Amap_LibertyParseStr(char *pFileName, int fVerbose)
Definition: amapLiberty.c:1059
void Amap_LibFree(Amap_Lib_t *p)
Definition: amapLib.c:67
void Amap_LibPrintSelectedGates(Amap_Lib_t *p, int fAllGates)
Definition: amapLib.c:302
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Definition: abc_global.h:105
#define ABC_NAMESPACE_HEADER_END
Definition: abc_global.h:106
short Type
Definition: amap.h:62
typedefABC_NAMESPACE_HEADER_START struct Amap_Lib_t_ Amap_Lib_t
INCLUDES ///.
Definition: amap.h:42
int nIterFlow
Definition: amap.h:47
int fUseXors
Definition: amap.h:51
int nCutsMax
Definition: amap.h:49
int fUseMuxes
Definition: amap.h:50
int fFreeInvs
Definition: amap.h:52
float fEpsilon
Definition: amap.h:53
float fADratio
Definition: amap.h:54