abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
mpm.h
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [mpm.h]
4 
5  SystemName [ABC: Logic synthesis and verification system.]
6 
7  PackageName [Configurable technology mapper.]
8 
9  Synopsis [External declarations.]
10 
11  Author [Alan Mishchenko]
12 
13  Affiliation [UC Berkeley]
14 
15  Date [Ver. 1.0. Started - June 1, 2013.]
16 
17  Revision [$Id: mpm.h,v 1.00 2013/06/01 00:00:00 alanmi Exp $]
18 
19 ***********************************************************************/
20 
21 #ifndef ABC__map__mpm__h
22 #define ABC__map__mpm__h
23 
24 
25 ////////////////////////////////////////////////////////////////////////
26 /// INCLUDES ///
27 ////////////////////////////////////////////////////////////////////////
28 
29 #include <stdio.h>
30 #include <stdlib.h>
31 #include <string.h>
32 #include <assert.h>
33 
35 
36 ////////////////////////////////////////////////////////////////////////
37 /// PARAMETERS ///
38 ////////////////////////////////////////////////////////////////////////
39 
40 #define MPM_VAR_MAX 12
41 
42 ////////////////////////////////////////////////////////////////////////
43 /// BASIC TYPES ///
44 ////////////////////////////////////////////////////////////////////////
45 
46 typedef struct Mpm_LibLut_t_ Mpm_LibLut_t;
48 {
49  char * pName; // the name of the LUT library
50  int LutMax; // the maximum LUT size
51  int fVarPinDelays; // set to 1 if variable pin delays are specified
52  int pLutAreas[MPM_VAR_MAX+1]; // the areas of LUTs
53  int pLutDelays[MPM_VAR_MAX+1][MPM_VAR_MAX+1]; // the delays of LUTs
54 };
55 
56 typedef struct Mpm_Par_t_ Mpm_Par_t;
57 struct Mpm_Par_t_
58 {
60  void * pScl;
61  int nNumCuts;
63  int fUseGates;
64  int fUseTruth;
65  int fUseDsd;
66  int fCutMin;
67  int fOneRound;
69  int fMap4Cnf;
70  int fMap4Aig;
72  int fVerbose;
74 };
75 
76 ////////////////////////////////////////////////////////////////////////
77 /// MACRO DEFINITIONS ///
78 ////////////////////////////////////////////////////////////////////////
79 
80 
81 ////////////////////////////////////////////////////////////////////////
82 /// FUNCTION DECLARATIONS ///
83 ////////////////////////////////////////////////////////////////////////
84 
85 /*=== mpmCore.c ===========================================================*/
86 extern void Mpm_ManSetParsDefault( Mpm_Par_t * p );
87 /*=== mpmLib.c ===========================================================*/
88 extern Mpm_LibLut_t * Mpm_LibLutSetSimple( int nLutSize );
89 extern void Mpm_LibLutFree( Mpm_LibLut_t * pLib );
90 
92 
93 #endif
94 
95 ////////////////////////////////////////////////////////////////////////
96 /// END OF FILE ///
97 ////////////////////////////////////////////////////////////////////////
98 
void Mpm_ManSetParsDefault(Mpm_Par_t *p)
MACRO DEFINITIONS ///.
Definition: mpmCore.c:46
int DelayTarget
Definition: mpm.h:62
int fCutMin
Definition: mpm.h:66
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int fOneRound
Definition: mpm.h:67
int fVarPinDelays
Definition: mpm.h:51
int nNumCuts
Definition: mpm.h:61
Mpm_LibLut_t * Mpm_LibLutSetSimple(int nLutSize)
DECLARATIONS ///.
Definition: mpmLib.c:45
int fVerbose
Definition: mpm.h:72
void * pScl
Definition: mpm.h:60
char * pName
Definition: mpm.h:49
int fUseGates
Definition: mpm.h:63
int fMap4Cnf
Definition: mpm.h:69
int fMap4Gates
Definition: mpm.h:71
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Definition: abc_global.h:105
int fMap4Aig
Definition: mpm.h:70
Definition: mpm.h:57
#define ABC_NAMESPACE_HEADER_END
Definition: abc_global.h:106
int pLutDelays[MPM_VAR_MAX+1][MPM_VAR_MAX+1]
Definition: mpm.h:53
int fDeriveLuts
Definition: mpm.h:68
#define MPM_VAR_MAX
INCLUDES ///.
Definition: mpm.h:40
Mpm_LibLut_t * pLib
Definition: mpm.h:59
void Mpm_LibLutFree(Mpm_LibLut_t *pLib)
Definition: mpmLib.c:60
int LutMax
Definition: mpm.h:50
int pLutAreas[MPM_VAR_MAX+1]
Definition: mpm.h:52
int fUseTruth
Definition: mpm.h:64
int fVeryVerbose
Definition: mpm.h:73
int fUseDsd
Definition: mpm.h:65