summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-05-12 13:52:28 +0800
committerAlan Mishchenko <alanmi@berkeley.edu>2014-05-12 13:52:28 +0800
commitb902b6843c5099f115fcf68f6567969c7233475e (patch)
tree6cf243c00bba2656bd54bfb1161a0cb5eaccdd39 /src
parent954ab62ce68fdd225ac82301c4e037826013bd17 (diff)
downloadabc-b902b6843c5099f115fcf68f6567969c7233475e.tar.gz
abc-b902b6843c5099f115fcf68f6567969c7233475e.tar.bz2
abc-b902b6843c5099f115fcf68f6567969c7233475e.zip
Adding duplicator of the design manager.
Diffstat (limited to 'src')
-rw-r--r--src/base/abc/abcLib.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/base/abc/abcLib.c b/src/base/abc/abcLib.c
index 788b0fe0..6623b872 100644
--- a/src/base/abc/abcLib.c
+++ b/src/base/abc/abcLib.c
@@ -134,12 +134,20 @@ Abc_Des_t * Abc_DesDup( Abc_Des_t * p )
{
Abc_Des_t * pNew;
Abc_Ntk_t * pTemp;
- int i;
+ Abc_Obj_t * pObj;
+ int i, k;
pNew = Abc_DesCreate( p->pName );
Vec_PtrForEachEntry( Abc_Ntk_t *, p->vModules, pTemp, i )
Abc_DesAddModel( pNew, Abc_NtkDup(pTemp) );
Vec_PtrForEachEntry( Abc_Ntk_t *, p->vTops, pTemp, i )
Vec_PtrPush( pNew->vTops, pTemp->pCopy );
+ Vec_PtrForEachEntry( Abc_Ntk_t *, p->vModules, pTemp, i )
+ pTemp->pCopy->pAltView = pTemp->pAltView ? pTemp->pAltView->pCopy : NULL;
+ // update box models
+ Vec_PtrForEachEntry( Abc_Ntk_t *, p->vModules, pTemp, i )
+ Abc_NtkForEachBox( pTemp, pObj, k )
+ if ( Abc_ObjIsWhitebox(pObj) || Abc_ObjIsBlackbox(pObj) )
+ pObj->pCopy->pData = Abc_ObjModel(pObj)->pCopy;
return pNew;
}