diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2019-04-09 11:37:53 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2019-04-09 11:37:53 -0700 |
commit | 9139b8f9ba2be5bffd500f859a5a027fab56902a (patch) | |
tree | a261f943c2d47bce2ee45aa4d884ebca68753ee5 /src/base/wln/wlnRetime.c | |
parent | 362b2d9d08f4dbc8dfc751b68ddf7bd3f9c4ed54 (diff) | |
download | abc-9139b8f9ba2be5bffd500f859a5a027fab56902a.tar.gz abc-9139b8f9ba2be5bffd500f859a5a027fab56902a.tar.bz2 abc-9139b8f9ba2be5bffd500f859a5a027fab56902a.zip |
Supporting reset in retiming.
Diffstat (limited to 'src/base/wln/wlnRetime.c')
-rw-r--r-- | src/base/wln/wlnRetime.c | 6 |
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] ); |