diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2016-04-02 16:04:15 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2016-04-02 16:04:15 -0700 |
commit | 9074d19d69e7def0ebc9493510c72823da4d7ca8 (patch) | |
tree | 76982a9b036b09e2af7529f7fcb4c021a723a26d /src/base | |
parent | 7724dfcca212ae1fd43cb095d5d85fea85c07608 (diff) | |
download | abc-9074d19d69e7def0ebc9493510c72823da4d7ca8.tar.gz abc-9074d19d69e7def0ebc9493510c72823da4d7ca8.tar.bz2 abc-9074d19d69e7def0ebc9493510c72823da4d7ca8.zip |
Allowing Cba manager to be derived from another Cba manager.
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/cba/cba.h | 2 | ||||
-rw-r--r-- | src/base/cba/cbaNtk.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/base/cba/cba.h b/src/base/cba/cba.h index a71830d6..36a93f32 100644 --- a/src/base/cba/cba.h +++ b/src/base/cba/cba.h @@ -1103,7 +1103,7 @@ extern int Cba_ManIsTopoOrder( Cba_Man_t * p ); extern Vec_Int_t * Cba_NtkCollectDfs( Cba_Ntk_t * p ); extern Cba_Man_t * Cba_ManCollapse( Cba_Man_t * p ); extern Cba_Man_t * Cba_ManExtractGroup( Cba_Man_t * p, Vec_Int_t * vObjs ); -extern Cba_Man_t * Cba_ManDeriveFromGia( Gia_Man_t * pGia, int fUseXor ); +extern Cba_Man_t * Cba_ManDeriveFromGia( Cba_Man_t * p, Gia_Man_t * pGia, int fUseXor ); extern Cba_Man_t * Cba_ManInsertGroup( Cba_Man_t * p, Vec_Int_t * vObjs, Cba_Ntk_t * pSyn ); /*=== cbaReadBlif.c ==========================================================*/ extern Cba_Man_t * Prs_ManBuildCbaBlif( char * pFileName, Vec_Ptr_t * vDes ); diff --git a/src/base/cba/cbaNtk.c b/src/base/cba/cbaNtk.c index fee91192..e33adaea 100644 --- a/src/base/cba/cbaNtk.c +++ b/src/base/cba/cbaNtk.c @@ -1049,9 +1049,9 @@ static inline int Cba_NtkInsertGiaObj( Cba_Ntk_t * p, Gia_Man_t * pGia, int iObj Vec_IntWriteEntry( vLit2Fon, Abc_Var2Lit(iObj, 0), Cba_ObjFon0(p, iObjNew) ); return iObjNew; } -Cba_Man_t * Cba_ManDeriveFromGia( Gia_Man_t * pGia, int fUseXor ) +Cba_Man_t * Cba_ManDeriveFromGia( Cba_Man_t * pOld, Gia_Man_t * pGia, int fUseXor ) { - Cba_Man_t * p = Cba_ManAlloc( pGia->pSpec, 1, NULL, NULL, NULL, NULL ); + Cba_Man_t * p = Cba_ManAlloc( pGia->pSpec, 1, pOld ? Abc_NamRef(pOld->pStrs) : NULL, pOld ? Abc_NamRef(pOld->pFuns) : NULL, NULL, NULL ); Cba_Ntk_t * pNtk = Cba_NtkAlloc( p, Abc_NamStrFindOrAdd(p->pStrs, pGia->pName, NULL), Gia_ManCiNum(pGia), Gia_ManCoNum(pGia), 1000, 2000, 2000 ); Vec_Int_t * vLit2Fon = Vec_IntStartFull( 2*Gia_ManObjNum(pGia) ); int i, iObj, iObjNew, NameId, iLit0, iFon0; |