diff options
Diffstat (limited to 'src/temp/player/player.h')
-rw-r--r-- | src/temp/player/player.h | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/src/temp/player/player.h b/src/temp/player/player.h deleted file mode 100644 index a4ee5650..00000000 --- a/src/temp/player/player.h +++ /dev/null @@ -1,113 +0,0 @@ -/**CFile**************************************************************** - - FileName [player.h] - - SystemName [ABC: Logic synthesis and verification system.] - - PackageName [PLA decomposition package.] - - Synopsis [External declarations.] - - Author [Alan Mishchenko] - - Affiliation [UC Berkeley] - - Date [Ver. 1.0. Started - June 20, 2005.] - - Revision [$Id: player.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $] - -***********************************************************************/ - -#ifndef __XYZ_H__ -#define __XYZ_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "ivy.h" -#include "esop.h" -#include "vec.h" - -//////////////////////////////////////////////////////////////////////// -/// DECLARATIONS /// -//////////////////////////////////////////////////////////////////////// - -typedef struct Pla_Man_t_ Pla_Man_t; -typedef struct Pla_Obj_t_ Pla_Obj_t; - -// storage for node information -struct Pla_Obj_t_ -{ - unsigned fFixed : 1; // fixed node - unsigned Depth : 31; // the depth in terms of LUTs/PLAs - int nRefs; // the number of references - Vec_Int_t vSupp[2]; // supports in two frames - Esop_Cube_t * pCover[2]; // esops in two frames -}; - -// storage for additional information -struct Pla_Man_t_ -{ - // general characteristics - int nLutMax; // the number of vars - int nPlaMax; // the number of vars - int nCubesMax; // the limit on the number of cubes in the intermediate covers - Ivy_Man_t * pManAig; // the AIG manager - Pla_Obj_t * pPlaStrs; // memory for structures - Esop_Man_t * pManMin; // the cube manager - // arrays to map local variables - Vec_Int_t * vComTo0; // mapping of common variables into first fanin - Vec_Int_t * vComTo1; // mapping of common variables into second fanin - Vec_Int_t * vPairs0; // the first var in each pair of common vars - Vec_Int_t * vPairs1; // the second var in each pair of common vars - Vec_Int_t * vTriv0; // trival support of the first node - Vec_Int_t * vTriv1; // trival support of the second node - // statistics - int nNodes; // the number of nodes processed - int nNodesLut; // the number of nodes processed - int nNodesPla; // the number of nodes processed - int nNodesBoth; // the number of nodes processed - int nNodesDeref; // the number of nodes processed -}; - -#define PLAYER_FANIN_LIMIT 128 - -#define PLA_MIN(a,b) (((a) < (b))? (a) : (b)) -#define PLA_MAX(a,b) (((a) > (b))? (a) : (b)) - -#define PLA_EMPTY ((Esop_Cube_t *)1) - -static inline Pla_Man_t * Ivy_ObjPlaMan( Ivy_Man_t * p, Ivy_Obj_t * pObj ) { return (Pla_Man_t *)p->pData; } -static inline Pla_Obj_t * Ivy_ObjPlaStr( Ivy_Man_t * p, Ivy_Obj_t * pObj ) { return ((Pla_Man_t *)p->pData)->pPlaStrs + pObj->Id; } - -//////////////////////////////////////////////////////////////////////// -/// FUNCTION DEFINITIONS /// -//////////////////////////////////////////////////////////////////////// - -/*=== playerToAbc.c ==============================================================*/ -extern void * Abc_NtkPlayer( void * pNtk, int nLutMax, int nPlaMax, int RankCost, int fFastMode, int fRewriting, int fSynthesis, int fVerbose ); -/*=== playerCore.c =============================================================*/ -extern Pla_Man_t * Pla_ManDecompose( Ivy_Man_t * p, int nLutMax, int nPlaMax, int fVerbose ); -/*=== playerMan.c ==============================================================*/ -extern Pla_Man_t * Pla_ManAlloc( Ivy_Man_t * p, int nLutMax, int nPlaMax ); -extern void Pla_ManFree( Pla_Man_t * p ); -extern void Pla_ManFreeStr( Pla_Man_t * p, Pla_Obj_t * pStr ); -/*=== playerUtil.c =============================================================*/ -extern int Pla_ManMergeTwoSupports( Pla_Man_t * p, Vec_Int_t * vSupp0, Vec_Int_t * vSupp1, Vec_Int_t * vSupp ); -extern Esop_Cube_t * Pla_ManAndTwoCovers( Pla_Man_t * p, Esop_Cube_t * pCover0, Esop_Cube_t * pCover1, int nSupp, int fStopAtLimit ); -extern Esop_Cube_t * Pla_ManExorTwoCovers( Pla_Man_t * p, Esop_Cube_t * pCover0, Esop_Cube_t * pCover1, int nSupp, int fStopAtLimit ); -extern void Pla_ManComputeStats( Ivy_Man_t * pAig, Vec_Int_t * vNodes ); - -#ifdef __cplusplus -} -#endif - -#endif - -//////////////////////////////////////////////////////////////////////// -/// END OF FILE /// -//////////////////////////////////////////////////////////////////////// - - - |