summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-01-13 22:02:04 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2012-01-13 22:02:04 -0800
commit5fff8354ce305b5873ef69659d5ac01834d14bad (patch)
treeab6779eb08cc22a4ca94885ea0c2f2335b433160 /src
parentb7ba9aa8dcdfee0c5fa42aec0385b83d2371da39 (diff)
downloadabc-5fff8354ce305b5873ef69659d5ac01834d14bad.tar.gz
abc-5fff8354ce305b5873ef69659d5ac01834d14bad.tar.bz2
abc-5fff8354ce305b5873ef69659d5ac01834d14bad.zip
New hierarchy manager.
Diffstat (limited to 'src')
-rw-r--r--src/base/abc/abcHieCec.c12
-rw-r--r--src/base/abc/abcHieNew.c23
-rw-r--r--src/base/io/ioReadBlifMv.c2
3 files changed, 18 insertions, 19 deletions
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