summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaUtil.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2016-04-04 08:43:22 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2016-04-04 08:43:22 -0700
commit4a954c1b23aad9b7189dd76164d3e5a61ca6b39f (patch)
tree330bc38a4b018c110cb4ae2214b8417e411653d7 /src/aig/gia/giaUtil.c
parente0ad9de7ea8c8fd34072a712f4579767b9055d6e (diff)
downloadabc-4a954c1b23aad9b7189dd76164d3e5a61ca6b39f.tar.gz
abc-4a954c1b23aad9b7189dd76164d3e5a61ca6b39f.tar.bz2
abc-4a954c1b23aad9b7189dd76164d3e5a61ca6b39f.zip
Improvements to delay-optimization in &satlut.
Diffstat (limited to 'src/aig/gia/giaUtil.c')
-rw-r--r--src/aig/gia/giaUtil.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/aig/gia/giaUtil.c b/src/aig/gia/giaUtil.c
index ee960c63..11a8b5b0 100644
--- a/src/aig/gia/giaUtil.c
+++ b/src/aig/gia/giaUtil.c
@@ -1341,6 +1341,22 @@ void Gia_ObjPrint( Gia_Man_t * p, Gia_Obj_t * pObj )
printf( " mark0" );
if ( pObj->fMark1 )
printf( " mark1" );
+ if ( Gia_ManHasMapping(p) && Gia_ObjIsLut(p, Gia_ObjId(p, pObj)) )
+ {
+ int i, iFan;
+ printf( " Cut = { " );
+ Gia_LutForEachFanin( p, Gia_ObjId(p, pObj), iFan, i )
+ printf( "%d ", iFan );
+ printf( "}" );
+ }
+ if ( Gia_ManHasMapping2(p) && Gia_ObjIsLut2(p, Gia_ObjId(p, pObj)) )
+ {
+ int i, iFan;
+ printf( " Cut = { " );
+ Gia_LutForEachFanin2( p, Gia_ObjId(p, pObj), iFan, i )
+ printf( "%d ", iFan );
+ printf( "}" );
+ }
printf( "\n" );
/*
if ( p->pRefs )
@@ -1417,6 +1433,18 @@ void Gia_ManPrintCone( Gia_Man_t * p, Gia_Obj_t * pObj, int * pLeaves, int nLeav
Gia_ManForEachObjVec( vNodes, p, pObj, i )
Gia_ObjPrint( p, pObj );
}
+void Gia_ManPrintConeMulti( Gia_Man_t * p, Vec_Int_t * vObjs, Vec_Int_t * vLeaves, Vec_Int_t * vNodes )
+{
+ Gia_Obj_t * pObj;
+ int i;
+ Vec_IntClear( vNodes );
+ Vec_IntAppend( vNodes, vLeaves );
+ Gia_ManForEachObjVec( vObjs, p, pObj, i )
+ Gia_ManPrintCollect_rec( p, pObj, vNodes );
+ printf( "GIA logic cone for %d nodes:\n", Vec_IntSize(vObjs) );
+ Gia_ManForEachObjVec( vNodes, p, pObj, i )
+ Gia_ObjPrint( p, pObj );
+}
void Gia_ManPrintCollect2_rec( Gia_Man_t * p, Gia_Obj_t * pObj, Vec_Int_t * vNodes )
{