/**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 $] ***********************************************************************/ #ifndef ABC__map__mpm__h #define ABC__map__mpm__h //////////////////////////////////////////////////////////////////////// /// INCLUDES /// //////////////////////////////////////////////////////////////////////// #include #include #include #include ABC_NAMESPACE_HEADER_START //////////////////////////////////////////////////////////////////////// /// PARAMETERS /// //////////////////////////////////////////////////////////////////////// #define MPM_VAR_MAX 12 //////////////////////////////////////////////////////////////////////// /// BASIC TYPES /// //////////////////////////////////////////////////////////////////////// typedef struct Mpm_LibLut_t_ Mpm_LibLut_t; struct Mpm_LibLut_t_ { char * pName; // the name of the LUT library int LutMax; // the maximum LUT size int fVarPinDelays; // set to 1 if variable pin delays are specified int pLutAreas[MPM_VAR_MAX+1]; // the areas of LUTs int pLutDelays[MPM_VAR_MAX+1][MPM_VAR_MAX+1]; // the delays of LUTs }; typedef struct Mpm_Par_t_ Mpm_Par_t; struct Mpm_Par_t_ { Mpm_LibLut_t * pLib; void * pScl; int nNumCuts; int DelayTarget; int fUseGates; int fUseTruth; int fUseDsd; int fCutMin; int fOneRound; int fDeriveLuts; int fMap4Cnf; int fMap4Aig; int fMap4Gates; int fVerbose; int fVeryVerbose; }; //////////////////////////////////////////////////////////////////////// /// MACRO DEFINITIONS /// //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// /// FUNCTION DECLARATIONS /// //////////////////////////////////////////////////////////////////////// /*=== mpmCore.c ===========================================================*/ extern void Mpm_ManSetParsDefault( Mpm_Par_t * p ); /*=== mpmLib.c ===========================================================*/ extern Mpm_LibLut_t * Mpm_LibLutSetSimple( int nLutSize ); extern void Mpm_LibLutFree( Mpm_LibLut_t * pLib ); ABC_NAMESPACE_HEADER_END #endif //////////////////////////////////////////////////////////////////////// /// END OF FILE /// ////////////////////////////////////////////////////////////////////////