mirror of https://github.com/YosysHQ/abc.git
Additional MiniLUT API.
This commit is contained in:
parent
a718318740
commit
ed9c16d4f5
|
|
@ -589,6 +589,23 @@ int * Abc_FrameReadMiniLutNameMapping( Abc_Frame_t * pAbc )
|
||||||
Gia_ManStop( pGia );
|
Gia_ManStop( pGia );
|
||||||
return pRes;
|
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*************************************************************
|
/**Function*************************************************************
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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_FrameGiaInputMiniLut( Abc_Frame_t * pAbc, void * pMiniLut );
|
||||||
extern ABC_DLL void * Abc_FrameGiaOutputMiniLut( Abc_Frame_t * pAbc );
|
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 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
|
// procedures to input/output NDR data-structure
|
||||||
extern ABC_DLL void Abc_FrameInputNdr( Abc_Frame_t * pAbc, void * pData );
|
extern ABC_DLL void Abc_FrameInputNdr( Abc_Frame_t * pAbc, void * pData );
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue