summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/aig/gia/giaMini.c17
-rw-r--r--src/base/main/abcapis.h1
2 files changed, 18 insertions, 0 deletions
diff --git a/src/aig/gia/giaMini.c b/src/aig/gia/giaMini.c
index 7a18d2d2..045b3b0e 100644
--- a/src/aig/gia/giaMini.c
+++ b/src/aig/gia/giaMini.c
@@ -589,6 +589,23 @@ int * Abc_FrameReadMiniLutNameMapping( Abc_Frame_t * pAbc )
Gia_ManStop( pGia );
return pRes;
}
+int * Abc_FrameReadMiniLutSwitching( Abc_Frame_t * pAbc )
+{
+ Vec_Int_t * vSwitching;
+ int i, iObj, * pRes = NULL;
+ if ( pAbc->pGiaMiniLut == NULL )
+ {
+ printf( "GIA derived from MiniLut is not available.\n" );
+ return NULL;
+ }
+ vSwitching = Gia_ManComputeSwitchProbs( pAbc->pGiaMiniLut, 48, 16, 0 );
+ pRes = ABC_CALLOC( int, Vec_IntSize(pAbc->vCopyMiniLut) );
+ Vec_IntForEachEntry( pAbc->vCopyMiniLut, iObj, i )
+ if ( iObj >= 0 )
+ pRes[i] = Vec_IntEntry( vSwitching, iObj );
+ Vec_IntFree( vSwitching );
+ return pRes;
+}
/**Function*************************************************************
diff --git a/src/base/main/abcapis.h b/src/base/main/abcapis.h
index e384896d..1523baad 100644
--- a/src/base/main/abcapis.h
+++ b/src/base/main/abcapis.h
@@ -80,6 +80,7 @@ extern ABC_DLL void Abc_NtkSetFlopNum( Abc_Frame_t * pAbc, int nFlops );
extern ABC_DLL void Abc_FrameGiaInputMiniLut( Abc_Frame_t * pAbc, void * pMiniLut );
extern ABC_DLL void * Abc_FrameGiaOutputMiniLut( Abc_Frame_t * pAbc );
extern ABC_DLL char * Abc_FrameGiaOutputMiniLutAttr( Abc_Frame_t * pAbc, void * pMiniLut );
+extern ABC_DLL int * Abc_FrameReadMiniLutSwitching( Abc_Frame_t * pAbc );
// procedures to input/output NDR data-structure
extern ABC_DLL void Abc_FrameInputNdr( Abc_Frame_t * pAbc, void * pData );