summaryrefslogtreecommitdiffstats
path: root/src/opt/res/resStrash.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/opt/res/resStrash.c')
-rw-r--r--src/opt/res/resStrash.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/opt/res/resStrash.c b/src/opt/res/resStrash.c
index 22244df3..2c112642 100644
--- a/src/opt/res/resStrash.c
+++ b/src/opt/res/resStrash.c
@@ -6,7 +6,7 @@
PackageName [Resynthesis package.]
- Synopsis [Strashes the window.]
+ Synopsis [Structural hashing of the nodes in the window.]
Author [Alan Mishchenko]
@@ -52,7 +52,6 @@ Abc_Ntk_t * Res_WndStrash( Res_Win_t * p )
assert( Abc_NtkHasAig(p->pNode->pNtk) );
// create the network
pAig = Abc_NtkAlloc( ABC_NTK_STRASH, ABC_FUNC_AIG, 1 );
- // duplicate the name and the spec
pAig->pName = Extra_UtilStrsav( "window" );
// create the inputs
Vec_PtrForEachEntry( p->vLeaves, pObj, i )
@@ -61,7 +60,8 @@ Abc_Ntk_t * Res_WndStrash( Res_Win_t * p )
Vec_VecForEachEntryStartStop( p->vLevels, pObj, i, k, p->nLevLeaves + 1, (int)p->pNode->Level + p->nWinTfoMax )
{
pObj->pCopy = Abc_ConvertAigToAig( pAig, pObj );
- pObj->pCopy = Abc_ObjNotCond( pObj->pCopy, pObj == p->pNode );
+ if ( pObj == p->pNode )
+ pObj->pCopy = Abc_ObjNot( pObj->pCopy );
}
// collect the PO outputs
vPairs = Vec_PtrAlloc( 2 * Vec_PtrSize(p->vRoots) );
@@ -71,6 +71,7 @@ Abc_Ntk_t * Res_WndStrash( Res_Win_t * p )
Vec_PtrPush( vPairs, NULL );
}
// mark the TFO of the node
+ Abc_NtkIncrementTravId( p->pNode->pNtk );
Res_WinVisitNodeTfo( p );
// redo strashing in the TFO
p->pNode->pCopy = Abc_ObjNot( p->pNode->pCopy );