mirror of https://github.com/YosysHQ/abc.git
Making public some APIs.
This commit is contained in:
parent
505747d443
commit
93ad6e7dd4
|
|
@ -189,7 +189,6 @@ struct Gia_Man_t_
|
|||
};
|
||||
|
||||
|
||||
|
||||
typedef struct Gps_Par_t_ Gps_Par_t;
|
||||
struct Gps_Par_t_
|
||||
{
|
||||
|
|
@ -246,6 +245,20 @@ struct Gia_ParSim_t_
|
|||
int iOutFail; // index of the failed output
|
||||
};
|
||||
|
||||
typedef struct Gia_ManSim_t_ Gia_ManSim_t;
|
||||
struct Gia_ManSim_t_
|
||||
{
|
||||
Gia_Man_t * pAig;
|
||||
Gia_ParSim_t * pPars;
|
||||
int nWords;
|
||||
Vec_Int_t * vCis2Ids;
|
||||
Vec_Int_t * vConsts;
|
||||
// simulation information
|
||||
unsigned * pDataSim; // simulation data
|
||||
unsigned * pDataSimCis; // simulation data for CIs
|
||||
unsigned * pDataSimCos; // simulation data for COs
|
||||
};
|
||||
|
||||
typedef struct Jf_Par_t_ Jf_Par_t;
|
||||
struct Jf_Par_t_
|
||||
{
|
||||
|
|
@ -1279,6 +1292,12 @@ extern int * Gia_SortFloats( float * pArray, int * pPerm, int nSiz
|
|||
/*=== giaSim.c ============================================================*/
|
||||
extern void Gia_ManSimSetDefaultParams( Gia_ParSim_t * p );
|
||||
extern int Gia_ManSimSimulate( Gia_Man_t * pAig, Gia_ParSim_t * pPars );
|
||||
extern unsigned * Gia_SimDataExt( Gia_ManSim_t * p, int i );
|
||||
extern unsigned * Gia_SimDataCiExt( Gia_ManSim_t * p, int i );
|
||||
extern unsigned * Gia_SimDataCoExt( Gia_ManSim_t * p, int i );
|
||||
extern void Gia_ManSimInfoInit( Gia_ManSim_t * p );
|
||||
extern void Gia_ManSimInfoTransfer( Gia_ManSim_t * p );
|
||||
extern void Gia_ManSimulateRound( Gia_ManSim_t * p );
|
||||
/*=== giaSpeedup.c ============================================================*/
|
||||
extern float Gia_ManDelayTraceLut( Gia_Man_t * p );
|
||||
extern float Gia_ManDelayTraceLutPrint( Gia_Man_t * p, int fVerbose );
|
||||
|
|
|
|||
|
|
@ -27,24 +27,14 @@ ABC_NAMESPACE_IMPL_START
|
|||
/// DECLARATIONS ///
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef struct Gia_ManSim_t_ Gia_ManSim_t;
|
||||
struct Gia_ManSim_t_
|
||||
{
|
||||
Gia_Man_t * pAig;
|
||||
Gia_ParSim_t * pPars;
|
||||
int nWords;
|
||||
Vec_Int_t * vCis2Ids;
|
||||
Vec_Int_t * vConsts;
|
||||
// simulation information
|
||||
unsigned * pDataSim; // simulation data
|
||||
unsigned * pDataSimCis; // simulation data for CIs
|
||||
unsigned * pDataSimCos; // simulation data for COs
|
||||
};
|
||||
|
||||
static inline unsigned * Gia_SimData( Gia_ManSim_t * p, int i ) { return p->pDataSim + i * p->nWords; }
|
||||
static inline unsigned * Gia_SimDataCi( Gia_ManSim_t * p, int i ) { return p->pDataSimCis + i * p->nWords; }
|
||||
static inline unsigned * Gia_SimDataCo( Gia_ManSim_t * p, int i ) { return p->pDataSimCos + i * p->nWords; }
|
||||
|
||||
unsigned * Gia_SimDataExt( Gia_ManSim_t * p, int i ) { return Gia_SimData(p, i); }
|
||||
unsigned * Gia_SimDataCiExt( Gia_ManSim_t * p, int i ) { return Gia_SimDataCi(p, i); }
|
||||
unsigned * Gia_SimDataCoExt( Gia_ManSim_t * p, int i ) { return Gia_SimDataCo(p, i); }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
/// FUNCTION DEFINITIONS ///
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -436,7 +426,7 @@ static inline void Gia_ManSimulateNode( Gia_ManSim_t * p, Gia_Obj_t * pObj )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
static inline void Gia_ManSimInfoInit( Gia_ManSim_t * p )
|
||||
void Gia_ManSimInfoInit( Gia_ManSim_t * p )
|
||||
{
|
||||
int iPioNum, i;
|
||||
Vec_IntForEachEntry( p->vCis2Ids, iPioNum, i )
|
||||
|
|
@ -459,7 +449,7 @@ static inline void Gia_ManSimInfoInit( Gia_ManSim_t * p )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
static inline void Gia_ManSimInfoTransfer( Gia_ManSim_t * p )
|
||||
void Gia_ManSimInfoTransfer( Gia_ManSim_t * p )
|
||||
{
|
||||
int iPioNum, i;
|
||||
Vec_IntForEachEntry( p->vCis2Ids, iPioNum, i )
|
||||
|
|
@ -482,7 +472,7 @@ static inline void Gia_ManSimInfoTransfer( Gia_ManSim_t * p )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
static inline void Gia_ManSimulateRound( Gia_ManSim_t * p )
|
||||
void Gia_ManSimulateRound( Gia_ManSim_t * p )
|
||||
{
|
||||
Gia_Obj_t * pObj;
|
||||
int i, iCis = 0, iCos = 0;
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ void fillInFlipArray(permInfo* pi)
|
|||
|
||||
|
||||
}
|
||||
inline int factorial(int n)
|
||||
static inline int factorial(int n)
|
||||
{
|
||||
return (n == 1 || n == 0) ? 1 : factorial(n - 1) * n;
|
||||
}
|
||||
|
|
@ -129,14 +129,14 @@ void freePermInfoPtr(permInfo* x)
|
|||
free(x->swapArray);
|
||||
free(x);
|
||||
}
|
||||
inline void minWord(word* a, word* b, word* minimal, int nVars)
|
||||
static inline void minWord(word* a, word* b, word* minimal, int nVars)
|
||||
{
|
||||
if(memCompare(a, b, nVars) == -1)
|
||||
Kit_TruthCopy_64bit( minimal, a, nVars );
|
||||
else
|
||||
Kit_TruthCopy_64bit( minimal, b, nVars );
|
||||
}
|
||||
inline void minWord3(word* a, word* b, word* minimal, int nVars)
|
||||
static inline void minWord3(word* a, word* b, word* minimal, int nVars)
|
||||
{
|
||||
if (memCompare(a, b, nVars) <= 0)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue