diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-01-16 13:07:51 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-01-16 13:07:51 -0800 |
commit | 0695ec54736318a0fb76ee3df06e5d83719e1fc3 (patch) | |
tree | 1434e3511826e7b72c860fa7cd87020c5adbd243 /src/base | |
parent | ca28f77f3ac995ca5834b7ceef99ac0363f6ce8c (diff) | |
download | abc-0695ec54736318a0fb76ee3df06e5d83719e1fc3.tar.gz abc-0695ec54736318a0fb76ee3df06e5d83719e1fc3.tar.bz2 abc-0695ec54736318a0fb76ee3df06e5d83719e1fc3.zip |
New hierarchy manager plus additional printout in the GIA package.
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/abc/abcHieCec.c | 4 | ||||
-rw-r--r-- | src/base/abc/abcHieNew.c | 21 |
2 files changed, 16 insertions, 9 deletions
diff --git a/src/base/abc/abcHieCec.c b/src/base/abc/abcHieCec.c index b338c394..ace7583b 100644 --- a/src/base/abc/abcHieCec.c +++ b/src/base/abc/abcHieCec.c @@ -686,14 +686,14 @@ Gia_Man_t * Abc_NtkHieCecTest( char * pFileName, int fVerbose ) assert( Abc_NtkIsNetlist(pNtk) ); assert( !Abc_NtkLatchNum(pNtk) ); - +/* if ( pNtk->pDesign != NULL ) { clk = clock(); Abc_NtkCountNodes( pNtk ); Abc_PrintTime( 1, "Count nodes", clock() - clk ); } - +*/ // print stats if ( fVerbose ) Abc_NtkPrintBoxInfo( pNtk ); diff --git a/src/base/abc/abcHieNew.c b/src/base/abc/abcHieNew.c index fe176ae4..be41c07a 100644 --- a/src/base/abc/abcHieNew.c +++ b/src/base/abc/abcHieNew.c @@ -568,11 +568,18 @@ extern int Abc_NtkCheckRecursive( Abc_Ntk_t * pNtk ); ***********************************************************************/ void Au_NtkDeriveFlatGia_rec( Gia_Man_t * pGia, Au_Ntk_t * p ) -{ +{ Au_Obj_t * pObj, * pTerm; int i, k; Au_NtkForEachPi( p, pTerm, i ) assert( Au_ObjCopy(pTerm) >= 0 ); + if ( strcmp(Au_NtkName(p), "ref_egcd") == 0 ) + { + printf( "Replacing one instance of recursive model \"%s\" by a black box.\n", "ref_egcd" ); + Au_NtkForEachPo( p, pTerm, i ) + Au_ObjSetCopy( pTerm, Gia_ManAppendCi(pGia) ); + return; + } Au_NtkForEachObj( p, pObj, i ) { if ( Au_ObjIsNode(pObj) ) @@ -635,6 +642,7 @@ Gia_Man_t * Au_NtkDeriveFlatGia( Au_Ntk_t * p ) pGia = Gia_ManStart( (1<<16) ); pGia->pName = Gia_UtilStrsav( Au_NtkName(p) ); Gia_ManHashAlloc( pGia ); + Gia_ManFlipVerbose( pGia ); // create PIs Au_NtkForEachPi( p, pTerm, i ) Au_ObjSetCopy( pTerm, Gia_ManAppendCi(pGia) ); @@ -725,7 +733,6 @@ Gia_Man_t * Au_ManDeriveTest( Abc_Ntk_t * pRoot ) clk2 += clock() - clk1; vModels = Abc_NtkCollectHie( pRoot ); -// Vec_PtrForEachEntry( Abc_Ntk_t *, pLib->vModules, pMod, i ) Vec_PtrForEachEntry( Abc_Ntk_t *, vModels, pMod, i ) { vOrder = Abc_NtkDfsBoxes( pMod ); @@ -742,7 +749,7 @@ Gia_Man_t * Au_ManDeriveTest( Abc_Ntk_t * pRoot ) Au_ManPrintStats( pMan ); - if ( !Abc_NtkCheckRecursive(pRoot) ) +// if ( !Abc_NtkCheckRecursive(pRoot) ) { clk1 = clock(); pGia = Au_NtkDeriveFlatGia( (Au_Ntk_t *)pRoot->pData ); @@ -750,9 +757,9 @@ Gia_Man_t * Au_ManDeriveTest( Abc_Ntk_t * pRoot ) // printf( "GIA objects max = %d.\n", pMan->nGiaObjMax ); } - clk1 = clock(); - Au_NtkSuppSizeTest( (Au_Ntk_t *)pRoot->pData ); - clk4 = clock() - clk1; +// clk1 = clock(); +// Au_NtkSuppSizeTest( (Au_Ntk_t *)pRoot->pData ); +// clk4 = clock() - clk1; clk1 = clock(); Au_ManDelete( pMan ); @@ -761,7 +768,7 @@ Gia_Man_t * Au_ManDeriveTest( Abc_Ntk_t * pRoot ) Abc_PrintTime( 1, "Time all ", clock() - clk ); Abc_PrintTime( 1, "Time new ", clk2 ); Abc_PrintTime( 1, "Time GIA ", clk3 ); - Abc_PrintTime( 1, "Time supp", clk4 ); +// Abc_PrintTime( 1, "Time supp", clk4 ); return pGia; } |