abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
mpmLib.c
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [mpmLib.c]
4 
5  SystemName [ABC: Logic synthesis and verification system.]
6 
7  PackageName [Configurable technology mapper.]
8 
9  Synopsis [DSD manipulation for 6-input functions.]
10 
11  Author [Alan Mishchenko]
12 
13  Affiliation [UC Berkeley]
14 
15  Date [Ver. 1.0. Started - June 1, 2013.]
16 
17  Revision [$Id: mpmLib.c,v 1.00 2013/06/01 00:00:00 alanmi Exp $]
18 
19 ***********************************************************************/
20 
21 #include "mpmInt.h"
22 
24 
25 
26 ////////////////////////////////////////////////////////////////////////
27 /// DECLARATIONS ///
28 ////////////////////////////////////////////////////////////////////////
29 
30 ////////////////////////////////////////////////////////////////////////
31 /// FUNCTION DEFINITIONS ///
32 ////////////////////////////////////////////////////////////////////////
33 
34 /**Function*************************************************************
35 
36  Synopsis []
37 
38  Description []
39 
40  SideEffects []
41 
42  SeeAlso []
43 
44 ***********************************************************************/
46 {
47  Mpm_LibLut_t * pLib;
48  int i, k;
49  assert( nLutSize <= MPM_VAR_MAX );
50  pLib = ABC_CALLOC( Mpm_LibLut_t, 1 );
51  pLib->LutMax = nLutSize;
52  for ( i = 1; i <= pLib->LutMax; i++ )
53  {
54  pLib->pLutAreas[i] = MPM_UNIT_AREA;
55  for ( k = 0; k < i; k++ )
56  pLib->pLutDelays[i][k] = MPM_UNIT_TIME;
57  }
58  return pLib;
59 }
61 {
62  if ( pLib == NULL )
63  return;
64  ABC_FREE( pLib->pName );
65  ABC_FREE( pLib );
66 }
67 
68 ////////////////////////////////////////////////////////////////////////
69 /// END OF FILE ///
70 ////////////////////////////////////////////////////////////////////////
71 
72 
74 
#define MPM_UNIT_TIME
Definition: mpmInt.h:52
char * pName
Definition: mpm.h:49
#define ABC_NAMESPACE_IMPL_END
Definition: abc_global.h:108
ABC_NAMESPACE_IMPL_START Mpm_LibLut_t * Mpm_LibLutSetSimple(int nLutSize)
DECLARATIONS ///.
Definition: mpmLib.c:45
int pLutDelays[MPM_VAR_MAX+1][MPM_VAR_MAX+1]
Definition: mpm.h:53
#define MPM_UNIT_AREA
Definition: mpmInt.h:53
#define ABC_NAMESPACE_IMPL_START
Definition: abc_global.h:107
#define ABC_FREE(obj)
Definition: abc_global.h:232
#define MPM_VAR_MAX
INCLUDES ///.
Definition: mpm.h:40
#define ABC_CALLOC(type, num)
Definition: abc_global.h:230
void Mpm_LibLutFree(Mpm_LibLut_t *pLib)
Definition: mpmLib.c:60
#define assert(ex)
Definition: util_old.h:213
int LutMax
Definition: mpm.h:50
int pLutAreas[MPM_VAR_MAX+1]
Definition: mpm.h:52