mirror of https://github.com/YosysHQ/abc.git
Shrink for 6-LUTs.
This commit is contained in:
parent
28f12c5f06
commit
f99e5cd9d6
|
|
@ -979,7 +979,7 @@ extern Gia_Man_t * Gia_ManCleanupOutputs( Gia_Man_t * p, int nOutputs );
|
|||
extern Gia_Man_t * Gia_ManSeqCleanup( Gia_Man_t * p );
|
||||
extern Gia_Man_t * Gia_ManSeqStructSweep( Gia_Man_t * p, int fConst, int fEquiv, int fVerbose );
|
||||
/*=== giaShrink.c ===========================================================*/
|
||||
extern Gia_Man_t * Gia_ManPerformMapShrink( Gia_Man_t * p, int fKeepLevel, int fVerbose );
|
||||
extern Gia_Man_t * Gia_ManMapShrink4( Gia_Man_t * p, int fKeepLevel, int fVerbose );
|
||||
extern Gia_Man_t * Gia_ManMapShrink6( Gia_Man_t * p, int nFanoutMax, int fKeepLevel, int fVerbose );
|
||||
/*=== giaSort.c ============================================================*/
|
||||
extern int * Gia_SortFloats( float * pArray, int * pPerm, int nSize );
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ extern int Dar_LibEvalBuild( Gia_Man_t * p, Vec_Int_t * vCut, unsigned uTruth,
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
Gia_Man_t * Gia_ManPerformMapShrink( Gia_Man_t * p, int fKeepLevel, int fVerbose )
|
||||
Gia_Man_t * Gia_ManMapShrink4( Gia_Man_t * p, int fKeepLevel, int fVerbose )
|
||||
{
|
||||
Vec_Int_t * vLeaves, * vTruth, * vVisited, * vLeavesBest;
|
||||
Gia_Man_t * pNew, * pTemp;
|
||||
|
|
@ -128,7 +128,7 @@ Gia_Man_t * Gia_ManPerformMapShrink( Gia_Man_t * p, int fKeepLevel, int fVerbose
|
|||
{
|
||||
pNew = Gia_ManCleanup( pTemp = pNew );
|
||||
if ( Gia_ManAndNum(pNew) != Gia_ManAndNum(pTemp) )
|
||||
printf( "Gia_ManPerformMapShrink() node reduction after sweep %6d -> %6d.\n", Gia_ManAndNum(pTemp), Gia_ManAndNum(pNew) );
|
||||
printf( "Gia_ManMapShrink4() node reduction after sweep %6d -> %6d.\n", Gia_ManAndNum(pTemp), Gia_ManAndNum(pNew) );
|
||||
Gia_ManStop( pTemp );
|
||||
}
|
||||
Gia_ManSetRegNum( pNew, Gia_ManRegNum(p) );
|
||||
|
|
|
|||
|
|
@ -475,7 +475,7 @@ Gia_Man_t * Gia_ManMapShrink6( Gia_Man_t * p, int nFanoutMax, int fKeepLevel, in
|
|||
printf( "Performed %d resubs and %d decomps. ", Counter1, Counter2 );
|
||||
printf( "Gain in AIG nodes = %d. ", Gia_ManObjNum(p)-Gia_ManObjNum(pMan->pNew) );
|
||||
ABC_PRT( "Runtime", clock() - clk );
|
||||
ABC_PRT( "Divisors", timeFanout );
|
||||
// ABC_PRT( "Divisors", timeFanout );
|
||||
}
|
||||
return Shr_ManFree( pMan );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26228,7 +26228,7 @@ int Abc_CommandAbc9Shrink( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
}
|
||||
nLutSize = Gia_ManLutSizeMax( pAbc->pGia );
|
||||
if ( nLutSize <= 4 )
|
||||
pTemp = Gia_ManPerformMapShrink( pAbc->pGia, fKeepLevel, fVerbose );
|
||||
pTemp = Gia_ManMapShrink4( pAbc->pGia, fKeepLevel, fVerbose );
|
||||
else if ( nLutSize <= 6 )
|
||||
pTemp = Gia_ManMapShrink6( pAbc->pGia, nFanoutMax, fKeepLevel, fVerbose );
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue