diff options
Diffstat (limited to 'src/map/pga/pgaInt.h')
-rw-r--r-- | src/map/pga/pgaInt.h | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/src/map/pga/pgaInt.h b/src/map/pga/pgaInt.h deleted file mode 100644 index da9aa9a9..00000000 --- a/src/map/pga/pgaInt.h +++ /dev/null @@ -1,132 +0,0 @@ -/**CFile**************************************************************** - - FileName [pgaInt.h] - - SystemName [ABC: Logic synthesis and verification system.] - - PackageName [FPGA mapper.] - - Synopsis [Internal declarations.] - - Author [Alan Mishchenko] - - Affiliation [UC Berkeley] - - Date [Ver. 1.0. Started - June 20, 2005.] - - Revision [$Id: pgaInt.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $] - -***********************************************************************/ - -#ifndef __PGA_INT_H__ -#define __PGA_INT_H__ - -//////////////////////////////////////////////////////////////////////// -/// INCLUDES /// -//////////////////////////////////////////////////////////////////////// - -#include <stdio.h> -#include "abc.h" -#include "fraig.h" -#include "fpga.h" -#include "cut.h" -#include "pga.h" - -//////////////////////////////////////////////////////////////////////// -/// PARAMETERS /// -//////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////// -/// BASIC TYPES /// -//////////////////////////////////////////////////////////////////////// - -typedef struct Pga_NodeStruct_t_ Pga_Node_t; -typedef struct Pga_MatchStruct_t_ Pga_Match_t; - -struct Pga_ManStruct_t_ -{ - // mapping parameters - Pga_Params_t * pParams; // input data - // mapping structures - Pga_Node_t * pMemory; // the memory for all mapping structures - Vec_Ptr_t * vStructs; // mapping structures one-to-one with ABC nodes - Vec_Ptr_t * vOrdering; // mapping nodes ordered by level - // k-feasible cuts - int nVarsMax; // the "k" of k-feasible cuts - Cut_Man_t * pManCut; // the cut manager - // LUT library - float * pLutDelays; // the delay of the LUTs - float * pLutAreas; // the areas of the LUTs - float Epsilon; - // global parameters - float AreaGlobal; // the total area of this mapping - float ArrivalGlobal; // the largest delay of any path - float RequiredGlobal;// the global required time (may be different from largest delay) - float RequiredUser; // the required time given by the user - // runtime stats - int timeToMap; // the time to start the mapper - int timeCuts; // the time to compute the cuts - int timeDelay; // the time to compute delay - int timeAreaFlow; // the time to perform area flow optimization - int timeArea; // the time to perform area flow optimization - int timeToNet; // the time to transform back to network - int timeTotal; // the total time - int time1; // temporary - int time2; // temporary -}; - -struct Pga_MatchStruct_t_ -{ - Cut_Cut_t * pCut; // the best cut - float Delay; // the arrival time of this cut - float Area; // the area of this cut -}; - -struct Pga_NodeStruct_t_ -{ - int Id; // ID of the node - int nRefs; // the number of references - float EstRefs; // the estimated reference counter - float Required; // the required time - float Switching; // the switching activity - Pga_Match_t Match; // the best match at the node -}; - -//////////////////////////////////////////////////////////////////////// -/// MACRO DEFINITIONS /// -//////////////////////////////////////////////////////////////////////// - -static inline Pga_Node_t * Pga_Node( Pga_Man_t * p, int Id ) { return p->vStructs->pArray[Id]; } - -// iterator through the CIs -#define Pga_ManForEachCi( p, pCi, i ) \ - for ( i = 0; (i < Abc_NtkCiNum(p->pParams->pNtk)) && (((pCi) = Pga_Node(p, Abc_NtkCi(p->pParams->pNtk,i)->Id)), 1); i++ ) -// iterator through the CO derivers -#define Pga_ManForEachCoDriver( p, pCo, i ) \ - for ( i = 0; (i < Abc_NtkCoNum(p->pParams->pNtk)) && (((pCo) = Pga_Node(p, Abc_ObjFaninId0(Abc_NtkCo(p->pParams->pNtk,i)))), 1); i++ ) -// iterators through the CIs and internal nodes -#define Pga_ManForEachObjDirect( p, pNode, i ) \ - Vec_PtrForEachEntry( p->vOrdering, pNode, i ) -#define Pga_ManForEachObjReverse( p, pNode, i ) \ - Vec_PtrForEachEntryReverse( p->vOrdering, pNode, i ) - -//////////////////////////////////////////////////////////////////////// -/// FUNCTION DECLARATIONS /// -//////////////////////////////////////////////////////////////////////// - -/*=== pgaMatch.c ==========================================================*/ -extern void Pga_MappingMatches( Pga_Man_t * p, int Mode ); -/*=== pgaUtil.c ==========================================================*/ -extern Vec_Ptr_t * Pga_MappingResults( Pga_Man_t * p ); -extern float Pga_TimeComputeArrivalMax( Pga_Man_t * p ); -extern void Pga_MappingComputeRequired( Pga_Man_t * p ); -extern float Pga_MappingSetRefsAndArea( Pga_Man_t * p ); -extern float Pga_MappingGetSwitching( Pga_Man_t * p ); -extern void Pga_MappingPrintOutputArrivals( Pga_Man_t * p ); - -#endif - -//////////////////////////////////////////////////////////////////////// -/// END OF FILE /// -//////////////////////////////////////////////////////////////////////// - |