mirror of https://github.com/YosysHQ/abc.git
Adding parameters and improvements to %blast.
This commit is contained in:
parent
7e9f3f027b
commit
f6b9cc013d
|
|
@ -92,6 +92,7 @@ extern ABC_DLL void Abc_NtkSetAndGateDelay( Abc_Frame_t * pAbc, float Delay );
|
|||
extern ABC_DLL int * Abc_NtkOutputMiniMapping( Abc_Frame_t * pAbc );
|
||||
extern ABC_DLL void Abc_NtkPrintMiniMapping( int * pArray );
|
||||
extern ABC_DLL int * Abc_FrameReadArrayMapping( Abc_Frame_t * pAbc );
|
||||
extern ABC_DLL int * Abc_FrameReadBoxes( Abc_Frame_t * pAbc );
|
||||
|
||||
// procedures to access verifization status and a counter-example
|
||||
extern ABC_DLL int Abc_FrameReadProbStatus( Abc_Frame_t * pAbc );
|
||||
|
|
|
|||
|
|
@ -161,6 +161,7 @@ extern ABC_DLL void Abc_FrameSetDrivingCell( char * pName );
|
|||
extern ABC_DLL void Abc_FrameSetMaxLoad( float Load );
|
||||
|
||||
extern ABC_DLL void Abc_FrameSetArrayMapping( int * p );
|
||||
extern ABC_DLL void Abc_FrameSetBoxes( int * p );
|
||||
|
||||
ABC_NAMESPACE_HEADER_END
|
||||
|
||||
|
|
|
|||
|
|
@ -111,6 +111,9 @@ void Abc_FrameSetMaxLoad( float Load ) { s_GlobalFrame->Ma
|
|||
int * Abc_FrameReadArrayMapping( Abc_Frame_t * pAbc ) { return pAbc->pArray; }
|
||||
void Abc_FrameSetArrayMapping( int * p ) { ABC_FREE( s_GlobalFrame->pArray ); s_GlobalFrame->pArray = p; }
|
||||
|
||||
int * Abc_FrameReadBoxes( Abc_Frame_t * pAbc ) { return pAbc->pBoxes; }
|
||||
void Abc_FrameSetBoxes( int * p ) { ABC_FREE( s_GlobalFrame->pBoxes ); s_GlobalFrame->pBoxes = p; }
|
||||
|
||||
/**Function*************************************************************
|
||||
|
||||
Synopsis [Returns 1 if the flag is enabled without value or with value 1.]
|
||||
|
|
@ -236,6 +239,7 @@ void Abc_FrameDeallocate( Abc_Frame_t * p )
|
|||
Vec_IntFreeP( &p->vCopyMiniAig );
|
||||
Vec_IntFreeP( &p->vCopyMiniLut );
|
||||
ABC_FREE( p->pArray );
|
||||
ABC_FREE( p->pBoxes );
|
||||
|
||||
ABC_FREE( p );
|
||||
s_GlobalFrame = NULL;
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ struct Abc_Frame_t_
|
|||
Vec_Int_t * vCopyMiniAig;
|
||||
Vec_Int_t * vCopyMiniLut;
|
||||
int * pArray;
|
||||
int * pBoxes;
|
||||
|
||||
Abc_Frame_Callback_BmcFrameDone_Func pFuncOnFrameDone;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1082,7 +1082,6 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn )
|
|||
If_LibBoxAdd( pBoxLib, pBox );
|
||||
for ( k = 0; k < pBox->nPis * pBox->nPos; k++ )
|
||||
pBox->pDelays[k] = 1;
|
||||
printf( "adding box %s\n", Buffer);
|
||||
}
|
||||
else if ( Wlc_ObjIsCi(pObj) )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -41,6 +41,16 @@ ABC_NAMESPACE_IMPL_START
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
void Wlc_NtkCollectBoxes( Wlc_Ntk_t * p, Vec_Int_t * vBoxIds )
|
||||
{
|
||||
int i, iObj;
|
||||
Vec_Int_t * vBoxes = Vec_IntAlloc( Vec_IntSize(vBoxIds) + 1 );
|
||||
Vec_IntPush( vBoxes, Vec_IntSize(vBoxIds) );
|
||||
Vec_IntForEachEntry( vBoxIds, iObj, i )
|
||||
Vec_IntPush( vBoxes, Wlc_ObjNameId(p, iObj) );
|
||||
Abc_FrameSetBoxes( Vec_IntReleaseArray(vBoxes) );
|
||||
Vec_IntFree( vBoxes );
|
||||
}
|
||||
Vec_Int_t * Wlc_NtkCollectAddMult( Wlc_Ntk_t * p, Wlc_BstPar_t * pPar, int * pCountA, int * pCountM )
|
||||
{
|
||||
Vec_Int_t * vBoxIds;
|
||||
|
|
@ -57,7 +67,10 @@ Vec_Int_t * Wlc_NtkCollectAddMult( Wlc_Ntk_t * p, Wlc_BstPar_t * pPar, int * pCo
|
|||
Vec_IntPush( vBoxIds, i ), (*pCountM)++;
|
||||
}
|
||||
if ( Vec_IntSize( vBoxIds ) > 0 )
|
||||
{
|
||||
Wlc_NtkCollectBoxes( p, vBoxIds );
|
||||
return vBoxIds;
|
||||
}
|
||||
Vec_IntFree( vBoxIds );
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue