mirror of https://github.com/YosysHQ/abc.git
Updates and bug fixes.
This commit is contained in:
parent
cf993a9d90
commit
e2637595f8
|
|
@ -252,6 +252,7 @@ struct Jf_Par_t_
|
|||
int nRounds;
|
||||
int nRoundsEla;
|
||||
int nRelaxRatio;
|
||||
int nCoarseLimit;
|
||||
int nVerbLimit;
|
||||
int DelayTarget;
|
||||
int fAreaOnly;
|
||||
|
|
|
|||
|
|
@ -1046,7 +1046,11 @@ Gia_Man_t * Gia_ManAigSyn2( Gia_Man_t * p, int fOldAlgo, int fCoarsen, int fCutM
|
|||
else
|
||||
pNew = Lf_ManPerformMapping( pTemp = pNew, pPars );
|
||||
if ( fVerbose ) Gia_ManPrintStats( pNew, NULL );
|
||||
// Gia_ManStop( pTemp );
|
||||
if ( pTemp != pNew )
|
||||
{
|
||||
Gia_ManAigTransferPiLevels( pNew, pTemp );
|
||||
Gia_ManStop( pTemp );
|
||||
}
|
||||
// perform balancing
|
||||
pNew = Gia_ManAreaBalance( pTemp = pNew, 0, ABC_INFINITY, fVeryVerbose, 0 );
|
||||
if ( fVerbose ) Gia_ManPrintStats( pNew, NULL );
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ Gia_Man_t * Gia_ManDupMuxes( Gia_Man_t * p, int Limit )
|
|||
Gia_Obj_t * pObj, * pFan0, * pFan1, * pFanC;
|
||||
int i;
|
||||
assert( p->pMuxes == NULL );
|
||||
assert( Limit >= 2 );
|
||||
ABC_FREE( p->pRefs );
|
||||
Gia_ManCreateRefs( p );
|
||||
// start the new manager
|
||||
|
|
|
|||
|
|
@ -30889,7 +30889,7 @@ int Abc_CommandAbc9Lf( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
Gia_Man_t * pNew; int c;
|
||||
Lf_ManSetDefaultPars( pPars );
|
||||
Extra_UtilGetoptReset();
|
||||
while ( ( c = Extra_UtilGetopt( argc, argv, "KCFARDWaekmgpvwh" ) ) != EOF )
|
||||
while ( ( c = Extra_UtilGetopt( argc, argv, "KCFARLDWaekmgpvwh" ) ) != EOF )
|
||||
{
|
||||
switch ( c )
|
||||
{
|
||||
|
|
@ -30954,6 +30954,17 @@ int Abc_CommandAbc9Lf( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
if ( pPars->nRelaxRatio < 0 )
|
||||
goto usage;
|
||||
break;
|
||||
case 'L':
|
||||
if ( globalUtilOptind >= argc )
|
||||
{
|
||||
Abc_Print( 1, "Command line switch \"-R\" should be followed by a floating point number.\n" );
|
||||
return 0;
|
||||
}
|
||||
pPars->nCoarseLimit = atoi(argv[globalUtilOptind]);
|
||||
globalUtilOptind++;
|
||||
if ( pPars->nCoarseLimit < 0 )
|
||||
goto usage;
|
||||
break;
|
||||
case 'D':
|
||||
if ( globalUtilOptind >= argc )
|
||||
{
|
||||
|
|
@ -31026,13 +31037,14 @@ usage:
|
|||
sprintf(Buffer, "best possible" );
|
||||
else
|
||||
sprintf(Buffer, "%d", pPars->DelayTarget );
|
||||
Abc_Print( -2, "usage: &lf [-KCFARD num] [-akmgpvwh]\n" );
|
||||
Abc_Print( -2, "usage: &lf [-KCFARLD num] [-akmgpvwh]\n" );
|
||||
Abc_Print( -2, "\t performs technology mapping of the network\n" );
|
||||
Abc_Print( -2, "\t-K num : LUT size for the mapping (2 <= K <= %d) [default = %d]\n", pPars->nLutSizeMax, pPars->nLutSize );
|
||||
Abc_Print( -2, "\t-C num : the max number of priority cuts (1 <= C <= %d) [default = %d]\n", pPars->nCutNumMax, pPars->nCutNum );
|
||||
Abc_Print( -2, "\t-F num : the number of area flow rounds [default = %d]\n", pPars->nRounds );
|
||||
Abc_Print( -2, "\t-A num : the number of exact area rounds [default = %d]\n", pPars->nRoundsEla );
|
||||
Abc_Print( -2, "\t-R num : the delay relaxation ratio (num >= 0) [default = %d]\n", pPars->nRelaxRatio );
|
||||
Abc_Print( -2, "\t-L num : the fanout limit for coarsening XOR/MUX (num >= 2) [default = %d]\n", pPars->nCoarseLimit );
|
||||
Abc_Print( -2, "\t-D num : sets the delay constraint for the mapping [default = %s]\n", Buffer );
|
||||
Abc_Print( -2, "\t-a : toggles area-oriented mapping [default = %s]\n", pPars->fAreaOnly? "yes": "no" );
|
||||
Abc_Print( -2, "\t-e : toggles edge vs node minimization [default = %s]\n", pPars->fOptEdge? "yes": "no" );
|
||||
|
|
|
|||
Loading…
Reference in New Issue