diff options
Diffstat (limited to 'src/base/abci/abc.c')
-rw-r--r-- | src/base/abci/abc.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index c0052a74..f8935902 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -34858,11 +34858,11 @@ usage: int Abc_CommandAbc9Edge( Abc_Frame_t * pAbc, int argc, char ** argv ) { extern int Edg_ManAssignEdgeNew( Gia_Man_t * p, int nEdges, int fVerbose ); - extern void Seg_ManComputeDelay( Gia_Man_t * pGia, int Delay, int fTwo, int fVerbose ); + extern void Seg_ManComputeDelay( Gia_Man_t * pGia, int Delay, int nFanouts, int fTwo, int fVerbose ); - int c, DelayMax = 0, nEdges = 1, fReverse = 0, fUsePack = 0, fUseOld = 0, fVerbose = 0; + int c, DelayMax = 0, nFanouts = 0, nEdges = 1, fReverse = 0, fUsePack = 0, fUseOld = 0, fVerbose = 0; Extra_UtilGetoptReset(); - while ( ( c = Extra_UtilGetopt( argc, argv, "DErpovh" ) ) != EOF ) + while ( ( c = Extra_UtilGetopt( argc, argv, "DFErpovh" ) ) != EOF ) { switch ( c ) { @@ -34875,6 +34875,15 @@ int Abc_CommandAbc9Edge( Abc_Frame_t * pAbc, int argc, char ** argv ) DelayMax = atoi(argv[globalUtilOptind]); globalUtilOptind++; break; + case 'F': + if ( globalUtilOptind >= argc ) + { + Abc_Print( -1, "Command line switch \"-F\" should be followed by a positive integer.\n" ); + goto usage; + } + nFanouts = atoi(argv[globalUtilOptind]); + globalUtilOptind++; + break; case 'E': if ( globalUtilOptind >= argc ) { @@ -34934,7 +34943,7 @@ int Abc_CommandAbc9Edge( Abc_Frame_t * pAbc, int argc, char ** argv ) if ( !fUseOld ) { //Edg_ManAssignEdgeNew( pAbc->pGia, nEdges, fVerbose ); - Seg_ManComputeDelay( pAbc->pGia, DelayMax, nEdges==2, fVerbose ); + Seg_ManComputeDelay( pAbc->pGia, DelayMax, nFanouts, nEdges==2, fVerbose ); return 0; } if ( pAbc->pGia->pManTime && fReverse ) @@ -34950,9 +34959,10 @@ int Abc_CommandAbc9Edge( Abc_Frame_t * pAbc, int argc, char ** argv ) return 0; usage: - Abc_Print( -2, "usage: &edge [-DE num] [-rpovh]\n" ); + Abc_Print( -2, "usage: &edge [-DFE num] [-rpovh]\n" ); Abc_Print( -2, "\t find edge assignment of the LUT-mapped network\n" ); Abc_Print( -2, "\t-D num : the upper bound on delay [default = %d]\n", DelayMax ); + Abc_Print( -2, "\t-F num : skip using edge if fanout higher than this [default = %d]\n", nFanouts ); Abc_Print( -2, "\t-E num : the limit on the number of edges (1 <= num <= 2) [default = %d]\n", nEdges ); Abc_Print( -2, "\t-r : toggles using reverse order [default = %s]\n", fReverse? "yes": "no" ); Abc_Print( -2, "\t-p : toggles deriving edges from packing [default = %s]\n", fUsePack? "yes": "no" ); |