summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2019-04-09 11:37:53 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2019-04-09 11:37:53 -0700
commit9139b8f9ba2be5bffd500f859a5a027fab56902a (patch)
treea261f943c2d47bce2ee45aa4d884ebca68753ee5
parent362b2d9d08f4dbc8dfc751b68ddf7bd3f9c4ed54 (diff)
downloadabc-9139b8f9ba2be5bffd500f859a5a027fab56902a.tar.gz
abc-9139b8f9ba2be5bffd500f859a5a027fab56902a.tar.bz2
abc-9139b8f9ba2be5bffd500f859a5a027fab56902a.zip
Supporting reset in retiming.
-rw-r--r--src/base/wln/wlnRetime.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/base/wln/wlnRetime.c b/src/base/wln/wlnRetime.c
index ff8e0839..0a4fb6a7 100644
--- a/src/base/wln/wlnRetime.c
+++ b/src/base/wln/wlnRetime.c
@@ -242,6 +242,8 @@ int Wln_RetPropDelay_rec( Wln_Ret_t * p, int iObj )
*pDelay = 0;
Wln_RetForEachFanin( p, iObj, iFanin, pLink, k )
{
+ if ( Wln_ObjIsFf(p->pNtk, iObj) && k > 0 )
+ continue;
if ( pLink[0] )
*pDelay = Abc_MaxInt(*pDelay, 0);
else
@@ -327,6 +329,8 @@ static inline int Wln_RetCheckForwardOne( Wln_Ret_t * p, int iObj )
int k, iFanin, * pLink, iFlop, Class = -1;
Wln_RetForEachFanin( p, iObj, iFanin, pLink, k )
{
+ if ( Wln_ObjIsFf(p->pNtk, iObj) && k > 0 )
+ continue;
if ( !pLink[0] )
return 0;
iFlop = Vec_IntEntry( &p->vEdgeLinks, pLink[0] + 1 );
@@ -391,6 +395,8 @@ int Wln_RetRemoveOneFanin( Wln_Ret_t * p, int iObj )
int * pFanins = Wln_RetFanins( p, iObj );
Wln_RetForEachFanin( p, iObj, iFanin, pLink, k )
{
+ if ( Wln_ObjIsFf(p->pNtk, iObj) && k > 0 )
+ continue;
assert( pLink[0] );
iFlop = Vec_IntEntry( &p->vEdgeLinks, pLink[0] + 1 );
pFanins[2*k+1] = Vec_IntEntry( &p->vEdgeLinks, pLink[0] );