diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-11-25 21:07:27 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-11-25 21:07:27 -0800 |
commit | ba4063acb2c9abc0046a63c698a29522a9a6731d (patch) | |
tree | 5cd153b29e1d016ba05855fc0dc73326eaa96ed5 /src/aig/gia/giaTim.c | |
parent | 9e0c90d4c3f3c94afaf6ddd737f341f3bcfdd945 (diff) | |
download | abc-ba4063acb2c9abc0046a63c698a29522a9a6731d.tar.gz abc-ba4063acb2c9abc0046a63c698a29522a9a6731d.tar.bz2 abc-ba4063acb2c9abc0046a63c698a29522a9a6731d.zip |
Improvements to handling boxes and flops.
Diffstat (limited to 'src/aig/gia/giaTim.c')
-rw-r--r-- | src/aig/gia/giaTim.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/aig/gia/giaTim.c b/src/aig/gia/giaTim.c index ed232e82..1017308a 100644 --- a/src/aig/gia/giaTim.c +++ b/src/aig/gia/giaTim.c @@ -66,6 +66,18 @@ int Gia_ManBoxCoNum( Gia_Man_t * p ) { return p->pManTime ? Gia_ManCoNum(p) - Tim_ManPoNum((Tim_Man_t *)p->pManTime) : 0; } +int Gia_ManClockDomainNum( Gia_Man_t * p ) +{ + int i, nDoms, Count = 0; + if ( p->vRegClasses == NULL ) + return 0; + nDoms = Vec_IntFindMax(p->vRegClasses); + assert( Vec_IntCountEntry(p->vRegClasses, 0) == 0 ); + for ( i = 1; i <= nDoms; i++ ) + if ( Vec_IntCountEntry(p->vRegClasses, i) > 0 ) + Count++; + return Count; +} /**Function************************************************************* @@ -80,7 +92,7 @@ int Gia_ManBoxCoNum( Gia_Man_t * p ) ***********************************************************************/ int Gia_ManIsSeqWithBoxes( Gia_Man_t * p ) { - return (Gia_ManRegNum(p) > 0) && (p->pManTime != NULL) && (Tim_ManBoxNum((Tim_Man_t *)p->pManTime) > 0); + return (Gia_ManRegNum(p) > 0 && Gia_ManBoxNum(p) > 0); } /**Function************************************************************* @@ -152,7 +164,7 @@ Gia_Man_t * Gia_ManDupNormalize( Gia_Man_t * p ) // copy flops last for ( i = nCIs - Gia_ManRegNum(p); i < nCIs; i++ ) Gia_ManCi(p, i)->Value = Gia_ManAppendCi(pNew); - printf( "Warning: Suffled CI order to be correct sequential AIG.\n" ); + printf( "Warning: Shuffled CI order to be correct sequential AIG.\n" ); } Gia_ManForEachAnd( p, pObj, i ) pObj->Value = Gia_ManAppendAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) ); |