abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
mpm.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>

Go to the source code of this file.

Data Structures

struct  Mpm_LibLut_t_
 
struct  Mpm_Par_t_
 

Macros

#define MPM_VAR_MAX   12
 INCLUDES ///. More...
 

Typedefs

typedef struct Mpm_LibLut_t_ Mpm_LibLut_t
 BASIC TYPES ///. More...
 
typedef struct Mpm_Par_t_ Mpm_Par_t
 

Functions

void Mpm_ManSetParsDefault (Mpm_Par_t *p)
 MACRO DEFINITIONS ///. More...
 
Mpm_LibLut_tMpm_LibLutSetSimple (int nLutSize)
 DECLARATIONS ///. More...
 
void Mpm_LibLutFree (Mpm_LibLut_t *pLib)
 

Macro Definition Documentation

#define MPM_VAR_MAX   12

INCLUDES ///.

CFile****************************************************************

FileName [mpm.h]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Configurable technology mapper.]

Synopsis [External declarations.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - June 1, 2013.]

Revision [

Id:
mpm.h,v 1.00 2013/06/01 00:00:00 alanmi Exp

]PARAMETERS ///

Definition at line 40 of file mpm.h.

Typedef Documentation

typedef struct Mpm_LibLut_t_ Mpm_LibLut_t

BASIC TYPES ///.

Definition at line 46 of file mpm.h.

typedef struct Mpm_Par_t_ Mpm_Par_t

Definition at line 56 of file mpm.h.

Function Documentation

void Mpm_LibLutFree ( Mpm_LibLut_t pLib)

Definition at line 60 of file mpmLib.c.

61 {
62  if ( pLib == NULL )
63  return;
64  ABC_FREE( pLib->pName );
65  ABC_FREE( pLib );
66 }
char * pName
Definition: mpm.h:49
#define ABC_FREE(obj)
Definition: abc_global.h:232
Mpm_LibLut_t* Mpm_LibLutSetSimple ( int  nLutSize)

DECLARATIONS ///.

CFile****************************************************************

FileName [mpmLib.c]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Configurable technology mapper.]

Synopsis [DSD manipulation for 6-input functions.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - June 1, 2013.]

Revision [

Id:
mpmLib.c,v 1.00 2013/06/01 00:00:00 alanmi Exp

]FUNCTION DEFINITIONS /// Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 45 of file mpmLib.c.

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 }
#define MPM_UNIT_TIME
Definition: mpmInt.h:52
int pLutDelays[MPM_VAR_MAX+1][MPM_VAR_MAX+1]
Definition: mpm.h:53
#define MPM_UNIT_AREA
Definition: mpmInt.h:53
#define MPM_VAR_MAX
INCLUDES ///.
Definition: mpm.h:40
#define ABC_CALLOC(type, num)
Definition: abc_global.h:230
#define assert(ex)
Definition: util_old.h:213
int LutMax
Definition: mpm.h:50
int pLutAreas[MPM_VAR_MAX+1]
Definition: mpm.h:52
void Mpm_ManSetParsDefault ( Mpm_Par_t p)

MACRO DEFINITIONS ///.

FUNCTION DECLARATIONS ///

MACRO DEFINITIONS ///.

CFile****************************************************************

FileName [mpmCore.c]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Configurable technology mapper.]

Synopsis [Core procedures.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - June 1, 2013.]

Revision [

Id:
mpmCore.c,v 1.00 2013/06/01 00:00:00 alanmi Exp

]FUNCTION DEFINITIONS /// Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 46 of file mpmCore.c.

47 {
48  memset( p, 0, sizeof(Mpm_Par_t) );
49  p->pLib = NULL; // LUT library
50  p->nNumCuts = 8; // cut number
51  p->fUseTruth = 0; // uses truth tables
52  p->fUseDsd = 0; // uses DSDs
53  p->fCutMin = 0; // enables cut minimization
54  p->fOneRound = 0; // enabled one round
55  p->DelayTarget = -1; // delay target
56  p->fDeriveLuts = 0; // use truth tables to derive AIG structure
57  p->fMap4Cnf = 0; // mapping for CNF
58  p->fMap4Aig = 0; // mapping for AIG
59  p->fMap4Gates = 0; // mapping for gates
60  p->fVerbose = 0; // verbose output
61  p->fVeryVerbose = 0; // verbose output
62 }
char * memset()
int DelayTarget
Definition: mpm.h:62
int fCutMin
Definition: mpm.h:66
int fOneRound
Definition: mpm.h:67
int nNumCuts
Definition: mpm.h:61
int fVerbose
Definition: mpm.h:72
int fMap4Cnf
Definition: mpm.h:69
int fMap4Gates
Definition: mpm.h:71
int fMap4Aig
Definition: mpm.h:70
Definition: mpm.h:57
int fDeriveLuts
Definition: mpm.h:68
Mpm_LibLut_t * pLib
Definition: mpm.h:59
int fUseTruth
Definition: mpm.h:64
int fVeryVerbose
Definition: mpm.h:73
int fUseDsd
Definition: mpm.h:65