50 p->vCis = Vec_PtrAlloc( 1000 );
51 p->vCos = Vec_PtrAlloc( 1000 );
52 p->vObjs = Vec_PtrAlloc( 1000 );
53 p->vTemp = Vec_PtrAlloc( 1000 );
76 if (
p->vCis ) Vec_PtrFree(
p->vCis );
77 if (
p->vCos ) Vec_PtrFree(
p->vCos );
78 if (
p->vObjs ) Vec_PtrFree(
p->vObjs );
79 if (
p->vTemp ) Vec_PtrFree(
p->vTemp );
100 int i, Counters[256] = {0};
102 Counters[Nwk_ObjFaninNum(pObj)]++;
103 printf(
"LUTs by size: " );
104 for ( i = 0; i <= pLutLib->
LutMax; i++ )
105 printf(
"%d:%d ", i, Counters[i] );
125 static struct ParStruct {
132 } ParsNew, ParsBest = { 0 };
141 ParsNew.Flops = Nwk_ManLatchNum( pNtk );
142 ParsNew.Nodes = Nwk_ManNodeNum( pNtk );
146 if ( ParsBest.pName == NULL ||
148 ParsBest.Depth > ParsNew.Depth ||
149 (ParsBest.Depth == ParsNew.Depth && ParsBest.Flops > ParsNew.Flops) ||
150 (ParsBest.Depth == ParsNew.Depth && ParsBest.Flops == ParsNew.Flops && ParsBest.Nodes > ParsNew.Nodes) )
153 ParsBest.pName = Abc_UtilStrsav( pNtk->
pName );
154 ParsBest.Depth = ParsNew.Depth;
155 ParsBest.Flops = ParsNew.Flops;
156 ParsBest.Nodes = ParsNew.Nodes;
157 ParsBest.nPis = ParsNew.nPis;
158 ParsBest.nPos = ParsNew.nPos;
181 pRes = Abc_UtilStrsav( FileName );
182 if ( (pDot =
strrchr( pRes,
'.' )) )
206 float Result = (float)0;
212 pSwitching = (
float *)vSwitching->pArray;
215 if ( (pObjAig = Aig_Regular((
Aig_Obj_t *)pObjAbc->pCopy)) )
216 Result += Nwk_ObjFanoutNum(pObjAbc) * pSwitching[pObjAig->
Id];
218 Vec_IntFree( vSwitching );
242 char Buffer[1000] = {0};
244 sprintf( Buffer,
"%s_dump.blif", pNameGen );
252 printf(
"%-15s : ", pNtk->
pName );
255 printf(
"ci = %5d ", Nwk_ManCiNum(pNtk) );
256 printf(
"co = %5d ", Nwk_ManCoNum(pNtk) );
258 printf(
"node = %5d ", Nwk_ManNodeNum(pNtk) );
#define ABC_ALLOC(type, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void Aig_MmFlexStop(Aig_MmFlex_t *p, int fVerbose)
void Aig_ManStop(Aig_Man_t *p)
struct Aig_Obj_t_ Aig_Obj_t
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
Aig_MmFlex_t * Aig_MmFlexStart()
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Vec_Int_t * Saig_ManComputeSwitchProbs(Aig_Man_t *pAig, int nFrames, int nPref, int fProbOne)
void Hop_ManStop(Hop_Man_t *p)
Hop_Man_t * Hop_ManStart()
DECLARATIONS ///.
struct If_LibLut_t_ If_LibLut_t
struct Nwk_Man_t_ Nwk_Man_t
ABC_DLL Aig_Man_t * Nwk_ManStrash(Nwk_Man_t *p)
ABC_DLL void Nwk_ManDumpBlif(Nwk_Man_t *p, char *pFileName, Vec_Ptr_t *vCiNames, Vec_Ptr_t *vCoNames)
typedefABC_NAMESPACE_HEADER_START struct Ntl_Man_t_ Ntl_Man_t
INCLUDES ///.
int Nwk_ManCompareAndSaveBest(Nwk_Man_t *pNtk, void *pNtl)
ABC_NAMESPACE_IMPL_START Nwk_Man_t * Nwk_ManAlloc()
DECLARATIONS ///.
void Nwk_ManPrintStats(Nwk_Man_t *pNtk, If_LibLut_t *pLutLib, int fSaveBest, int fDumpResult, int fPower, Ntl_Man_t *pNtl)
void Nwk_ManPrintLutSizes(Nwk_Man_t *p, If_LibLut_t *pLutLib)
float Nwl_ManComputeTotalSwitching(Nwk_Man_t *pNtk)
char * Nwk_FileNameGeneric(char *FileName)
void Nwk_ManFree(Nwk_Man_t *p)
#define Nwk_ManForEachNode(p, pObj, i)
ABC_DLL float Nwk_ManDelayTraceLut(Nwk_Man_t *pNtk)
ABC_DLL int Nwk_ManPiNum(Nwk_Man_t *pNtk)
ABC_DLL int Nwk_ManGetAigNodeNum(Nwk_Man_t *pNtk)
typedefABC_NAMESPACE_HEADER_START struct Nwk_Obj_t_ Nwk_Obj_t
INCLUDES ///.
#define Nwk_ManForEachObj(p, pObj, i)
ABC_DLL int Nwk_ManLevel(Nwk_Man_t *pNtk)
ABC_DLL int Nwk_ManPoNum(Nwk_Man_t *pNtk)
ABC_DLL int Nwk_ManGetTotalFanins(Nwk_Man_t *pNtk)
void Tim_ManStop(Tim_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.