mirror of https://github.com/YosysHQ/abc.git
Performance bug fix in SOP balancing.
This commit is contained in:
parent
6ab0d68d56
commit
424b86a556
|
|
@ -392,10 +392,7 @@ void If_ObjPerformMappingChoice( If_Man_t * p, If_Obj_t * pObj, int Mode, int fP
|
|||
if ( Mode && pCut->Delay > pObj->Required + p->fEpsilon )
|
||||
continue;
|
||||
// set the phase attribute
|
||||
assert( pCut->fCompl == 0 );
|
||||
pCut->fCompl ^= (pObj->fPhase ^ pTemp->fPhase); // why ^= ?
|
||||
if ( p->pPars->fDelayOpt && pCut->fCompl )
|
||||
continue;
|
||||
pCut->fCompl = pObj->fPhase ^ pTemp->fPhase;
|
||||
// compute area of the cut (this area may depend on the application specific cost)
|
||||
pCut->Area = (Mode == 2)? If_CutAreaDerefed( p, pCut ) : If_CutAreaFlow( p, pCut );
|
||||
if ( p->pPars->fEdge )
|
||||
|
|
|
|||
|
|
@ -267,33 +267,8 @@ Vec_Wrd_t * If_CutDelaySopArray( If_Man_t * p, If_Cut_t * pCut )
|
|||
assert( RetValue == 0 || RetValue == 1 );
|
||||
|
||||
clk = Abc_Clock();
|
||||
vAnds = If_CutDelaySopAnds( p, pCut, p->vCover, RetValue ^ pCut->fCompl );
|
||||
vAnds = If_CutDelaySopAnds( p, pCut, p->vCover, RetValue );
|
||||
s_timeOld += Abc_Clock() - clk;
|
||||
/*
|
||||
if ( pCut->nLeaves <= 5 )
|
||||
{
|
||||
if ( *If_CutTruth(pCut) != (unsigned)If_AndVerifyArray(vAnds, pCut->nLeaves) )
|
||||
{
|
||||
unsigned Truth0 = *If_CutTruth(pCut);
|
||||
unsigned Truth1 = (unsigned)If_AndVerifyArray(vAnds, pCut->nLeaves);
|
||||
|
||||
printf( "\n" );
|
||||
Extra_PrintBinary( stdout, &Truth0, 32 ); printf( "\n" );
|
||||
Extra_PrintBinary( stdout, &Truth1, 32 ); printf( "\n" );
|
||||
|
||||
printf( "Verification failed for %d vars.\n", pCut->nLeaves );
|
||||
}
|
||||
// else
|
||||
// printf( "Verification passed for %d vars.\n", pCut->nLeaves );
|
||||
}
|
||||
else if ( pCut->nLeaves == 6 )
|
||||
{
|
||||
if ( *((word *)If_CutTruth(pCut)) != If_AndVerifyArray(vAnds, pCut->nLeaves) )
|
||||
printf( "Verification failed for %d vars.\n", pCut->nLeaves );
|
||||
// else
|
||||
// printf( "Verification passed for %d vars.\n", pCut->nLeaves );
|
||||
}
|
||||
*/
|
||||
return vAnds;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue