summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2016-02-03 13:56:27 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2016-02-03 13:56:27 -0800
commitbe35a13a4c0c537620637a13bdc72c3c5eafc61c (patch)
treed2d53279080947e60ad2cd1e5b38ce5fd307e25a /src
parent8bcf8fd3c97fcf42e21692ec99748166f13facd2 (diff)
downloadabc-be35a13a4c0c537620637a13bdc72c3c5eafc61c.tar.gz
abc-be35a13a4c0c537620637a13bdc72c3c5eafc61c.tar.bz2
abc-be35a13a4c0c537620637a13bdc72c3c5eafc61c.zip
Preserving internal signal names when 'strash' is not used.
Diffstat (limited to 'src')
-rw-r--r--src/base/abc/abcNetlist.c6
-rw-r--r--src/base/abc/abcUtil.c1
2 files changed, 7 insertions, 0 deletions
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