From be35a13a4c0c537620637a13bdc72c3c5eafc61c Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 3 Feb 2016 13:56:27 -0800 Subject: Preserving internal signal names when 'strash' is not used. --- src/base/abc/abcNetlist.c | 6 ++++++ src/base/abc/abcUtil.c | 1 + 2 files changed, 7 insertions(+) (limited to 'src') diff --git a/src/base/abc/abcNetlist.c b/src/base/abc/abcNetlist.c index 0147db58..0a5f623b 100644 --- a/src/base/abc/abcNetlist.c +++ b/src/base/abc/abcNetlist.c @@ -66,7 +66,10 @@ Abc_Ntk_t * Abc_NtkToLogic( Abc_Ntk_t * pNtk ) pNtkNew = Abc_NtkStartFrom( pNtk, ABC_NTK_LOGIC, pNtk->ntkFunc ); // duplicate the nodes Abc_NtkForEachNode( pNtk, pObj, i ) + { Abc_NtkDupObj(pNtkNew, pObj, 0); + Abc_ObjAssignName( pObj->pCopy, Abc_ObjName(Abc_ObjFanout0(pObj)), NULL ); + } // reconnect the internal nodes in the new network Abc_NtkForEachNode( pNtk, pObj, i ) Abc_ObjForEachFanin( pObj, pFanin, k ) @@ -195,6 +198,9 @@ Abc_Ntk_t * Abc_NtkLogicToNetlist( Abc_Ntk_t * pNtk ) if ( pDriver->pCopy->pCopy == NULL ) { // create the CO net and connect it to CO + //if ( Abc_NtkFindNet(pNtkNew, Abc_ObjName(pDriver)) == NULL ) + // pNet = Abc_NtkFindOrCreateNet( pNtkNew, Abc_ObjName(pDriver) ); + //else pNet = Abc_NtkFindOrCreateNet( pNtkNew, Abc_ObjName(pObj) ); Abc_ObjAddFanin( pObj->pCopy, pNet ); // connect the CO net to the new driver and remember it in the new driver diff --git a/src/base/abc/abcUtil.c b/src/base/abc/abcUtil.c index 103821f5..f7e0939f 100644 --- a/src/base/abc/abcUtil.c +++ b/src/base/abc/abcUtil.c @@ -1212,6 +1212,7 @@ int Abc_NtkLogicMakeSimpleCos( Abc_Ntk_t * pNtk, int fDuplicate ) else // add buffer { pDriverNew = Abc_NtkCreateNodeBuf( pNtk, pDriver ); + Abc_ObjAssignName( pDriverNew, Abc_ObjName(pDriver), "_buf" ); nDupBufs++; } // swing the PO -- cgit v1.2.3