summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaTim.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-11-25 21:07:27 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2014-11-25 21:07:27 -0800
commitba4063acb2c9abc0046a63c698a29522a9a6731d (patch)
tree5cd153b29e1d016ba05855fc0dc73326eaa96ed5 /src/aig/gia/giaTim.c
parent9e0c90d4c3f3c94afaf6ddd737f341f3bcfdd945 (diff)
downloadabc-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.c16
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) );