From c8fa1c82f77ae7bc63d3a1545f4df12bf2d62d9a Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 26 Sep 2013 00:00:49 -0700 Subject: Updates to the mapper. --- src/aig/gia/giaJf.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/aig/gia/giaJf.c b/src/aig/gia/giaJf.c index da434516..93329abe 100644 --- a/src/aig/gia/giaJf.c +++ b/src/aig/gia/giaJf.c @@ -1207,7 +1207,10 @@ int Jf_ManComputeRefs( Jf_Man_t * p ) p->pPars->Edge += Jf_CutSize(pCut); p->pPars->Area++; } - // blend references and normalize flow + } + // blend references and normalize flow + Gia_ManForEachObj( p->pGia, pObj, i ) + { if ( p->pPars->fOptEdge ) nRefsNew = Abc_MaxFloat( 1, 0.8 * pRefs[i] + 0.2 * p->pGia->pRefs[i] ); else @@ -1216,6 +1219,7 @@ int Jf_ManComputeRefs( Jf_Man_t * p ) pRefs[i] = nRefsNew; assert( pFlow[i] >= 0 ); } + // compute delay p->pPars->Delay = Jf_ManComputeDelay( p, 1 ); return p->pPars->Area; } @@ -1308,8 +1312,8 @@ Gia_Man_t * Jf_ManDeriveMappingGia( Jf_Man_t * p ) Gia_Man_t * pNew; Gia_Obj_t * pObj; Vec_Int_t * vCopies = Vec_IntStartFull( Gia_ManObjNum(p->pGia) ); - Vec_Int_t * vMapping = Vec_IntStart( 2 * Gia_ManObjNum(p->pGia) ); - Vec_Int_t * vMapping2 = Vec_IntStart( 1 ); + Vec_Int_t * vMapping = Vec_IntStart( 2 * Gia_ManObjNum(p->pGia) + (int)p->pPars->Edge + 2 * (int)p->pPars->Area ); + Vec_Int_t * vMapping2 = Vec_IntStart( (int)p->pPars->Edge + 2 * (int)p->pPars->Area + 1000 ); Vec_Int_t * vCover = Vec_IntAlloc( 1 << 16 ); Vec_Int_t * vLeaves = Vec_IntAlloc( 16 ); int i, k, iLit, Class, * pCut; -- cgit v1.2.3