From 5fff8354ce305b5873ef69659d5ac01834d14bad Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Fri, 13 Jan 2012 22:02:04 -0800 Subject: New hierarchy manager. --- src/base/abc/abcHieCec.c | 12 ++++++------ src/base/abc/abcHieNew.c | 23 +++++++++++------------ src/base/io/ioReadBlifMv.c | 2 +- 3 files changed, 18 insertions(+), 19 deletions(-) (limited to 'src/base') diff --git a/src/base/abc/abcHieCec.c b/src/base/abc/abcHieCec.c index 001705e3..f882f9cf 100644 --- a/src/base/abc/abcHieCec.c +++ b/src/base/abc/abcHieCec.c @@ -487,7 +487,7 @@ void Abc_NtkCollectHie_rec( Abc_Ntk_t * pNtk, Vec_Ptr_t * vModels ) return; vOrder = Abc_NtkDfsBoxes( pNtk ); Vec_PtrForEachEntry( Abc_Obj_t *, vOrder, pObj, i ) - if ( Abc_ObjIsBox(pObj) ) + if ( Abc_ObjIsBox(pObj) && (Abc_Ntk_t *)pObj->pData != pNtk ) Abc_NtkCollectHie_rec( (Abc_Ntk_t *)pObj->pData, vModels ); Vec_PtrFree( vOrder ); pNtk->iStep = Vec_PtrSize(vModels); @@ -626,8 +626,9 @@ Gia_Man_t * Abc_NtkHieCecTest( char * pFileName, int fVerbose ) assert( Abc_NtkIsNetlist(pNtk) ); assert( !Abc_NtkLatchNum(pNtk) ); - if ( Abc_NtkCheckRecursive(pNtk) ) - return NULL; + // print stats + if ( fVerbose ) + Abc_NtkPrintBoxInfo( pNtk ); // test the new data-structure if ( fUseTest ) @@ -639,9 +640,8 @@ Gia_Man_t * Abc_NtkHieCecTest( char * pFileName, int fVerbose ) return pGia; } - // print stats - if ( fVerbose ) - Abc_NtkPrintBoxInfo( pNtk ); + if ( Abc_NtkCheckRecursive(pNtk) ) + return NULL; if ( fUseNew ) { diff --git a/src/base/abc/abcHieNew.c b/src/base/abc/abcHieNew.c index cddc4968..00aaa39d 100644 --- a/src/base/abc/abcHieNew.c +++ b/src/base/abc/abcHieNew.c @@ -487,7 +487,7 @@ int Au_NtkCreateBox( Au_Ntk_t * pNtk, Vec_Int_t * vFanins, int nFanouts, int iMo extern Vec_Ptr_t * Abc_NtkDfsBoxes( Abc_Ntk_t * pNtk ); extern int Abc_NtkDeriveFlatGiaSop( Gia_Man_t * pGia, int * gFanins, char * pSop ); - +extern int Abc_NtkCheckRecursive( Abc_Ntk_t * pNtk ); /**Function************************************************************* @@ -639,7 +639,7 @@ Au_Ntk_t * Au_NtkDerive( Au_Man_t * pMan, Abc_Ntk_t * pNtk, Vec_Ptr_t * vOrder ) Abc_NtkForEachPo( pNtk, pTerm, i ) Au_NtkCreatePo( p, Abc_ObjFanin0(pTerm)->iTemp ); - Au_NtkPrintStats( p ); +// Au_NtkPrintStats( p ); return p; } @@ -647,12 +647,12 @@ Gia_Man_t * Au_ManDeriveTest( Abc_Ntk_t * pRoot ) { extern Vec_Ptr_t * Abc_NtkCollectHie( Abc_Ntk_t * pNtk ); - Gia_Man_t * pGia; + Gia_Man_t * pGia = NULL; Vec_Ptr_t * vOrder, * vModels; Abc_Ntk_t * pMod; Au_Man_t * pMan; Au_Ntk_t * pNtk; - int i, clk1, clk2 = 0, clk3, clk = clock(); + int i, clk1, clk2 = 0, clk3 = 0, clk = clock(); clk1 = clock(); pMan = Au_ManAlloc( pRoot->pDesign->pName ); @@ -676,14 +676,13 @@ Gia_Man_t * Au_ManDeriveTest( Abc_Ntk_t * pRoot ) Au_ManPrintStats( pMan ); - Abc_PrintTime( 1, "Time all", clock() - clk ); - Abc_PrintTime( 1, "Time new", clk2 ); - - clk1 = clock(); - pGia = Au_NtkDeriveFlatGia( (Au_Ntk_t *)pRoot->pData ); - clk3 = clock() - clk1; - - printf( "GIA objects max = %d.\n", pMan->nGiaObjMax ); + if ( !Abc_NtkCheckRecursive(pRoot) ) + { + clk1 = clock(); + pGia = Au_NtkDeriveFlatGia( (Au_Ntk_t *)pRoot->pData ); + clk3 = clock() - clk1; + printf( "GIA objects max = %d.\n", pMan->nGiaObjMax ); + } clk1 = clock(); Au_ManDelete( pMan ); diff --git a/src/base/io/ioReadBlifMv.c b/src/base/io/ioReadBlifMv.c index 651856bd..20ec8aa1 100644 --- a/src/base/io/ioReadBlifMv.c +++ b/src/base/io/ioReadBlifMv.c @@ -30,7 +30,7 @@ ABC_NAMESPACE_IMPL_START //////////////////////////////////////////////////////////////////////// #define IO_BLIFMV_MAXVALUES 256 -#define IO_VERBOSE_OUTPUT +//#define IO_VERBOSE_OUTPUT typedef struct Io_MvVar_t_ Io_MvVar_t; // parsing var typedef struct Io_MvMod_t_ Io_MvMod_t; // parsing model -- cgit v1.2.3