mirror of https://github.com/YosysHQ/abc.git
Adding switch -c to &cone.
This commit is contained in:
parent
0fc56e7199
commit
5999b5a516
|
|
@ -44051,9 +44051,9 @@ int Abc_CommandAbc9Cone( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
{
|
||||
Gia_Man_t * pTemp;
|
||||
Vec_Int_t * vPos;
|
||||
int c, iOutNum = -1, nOutRange = 1, iPartNum = -1, nLevelMax = 0, nTimeWindow = 0, fUseAllCis = 0, fExtractAll = 0, fVerbose = 0;
|
||||
int c, nRegs = 0, iOutNum = -1, nOutRange = 1, iPartNum = -1, nLevelMax = 0, nTimeWindow = 0, fUseAllCis = 0, fExtractAll = 0, fComb = 0, fVerbose = 0;
|
||||
Extra_UtilGetoptReset();
|
||||
while ( ( c = Extra_UtilGetopt( argc, argv, "ORPLWaevh" ) ) != EOF )
|
||||
while ( ( c = Extra_UtilGetopt( argc, argv, "ORPLWaecvh" ) ) != EOF )
|
||||
{
|
||||
switch ( c )
|
||||
{
|
||||
|
|
@ -44118,6 +44118,9 @@ int Abc_CommandAbc9Cone( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
case 'e':
|
||||
fExtractAll ^= 1;
|
||||
break;
|
||||
case 'c':
|
||||
fComb ^= 1;
|
||||
break;
|
||||
case 'v':
|
||||
fVerbose ^= 1;
|
||||
break;
|
||||
|
|
@ -44181,20 +44184,27 @@ int Abc_CommandAbc9Cone( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
Abc_FrameUpdateGia( pAbc, pTemp );
|
||||
return 0;
|
||||
}
|
||||
nRegs = Gia_ManRegNum( pAbc->pGia );
|
||||
if ( fComb )
|
||||
Gia_ManSetRegNum( pAbc->pGia, 0 );
|
||||
if ( iOutNum < 0 || iOutNum + nOutRange > Gia_ManPoNum(pAbc->pGia) )
|
||||
{
|
||||
Abc_Print( -1, "Abc_CommandAbc9Cone(): Range of outputs to extract is incorrect.\n" );
|
||||
if ( fComb )
|
||||
Gia_ManSetRegNum( pAbc->pGia, nRegs );
|
||||
return 1;
|
||||
}
|
||||
vPos = Vec_IntStartRange( iOutNum, nOutRange );
|
||||
pTemp = Gia_ManDupCones( pAbc->pGia, Vec_IntArray(vPos), nOutRange, !fUseAllCis );
|
||||
if ( fComb )
|
||||
Gia_ManSetRegNum( pAbc->pGia, nRegs );
|
||||
Vec_IntFree( vPos );
|
||||
if ( pTemp )
|
||||
Abc_FrameUpdateGia( pAbc, pTemp );
|
||||
return 0;
|
||||
|
||||
usage:
|
||||
Abc_Print( -2, "usage: &cone [-ORPLW num] [-aevh]\n" );
|
||||
Abc_Print( -2, "usage: &cone [-ORPLW num] [-aecvh]\n" );
|
||||
Abc_Print( -2, "\t extracting multi-output sequential logic cones\n" );
|
||||
Abc_Print( -2, "\t-O num : the index of first PO to extract [default = %d]\n", iOutNum );
|
||||
Abc_Print( -2, "\t-R num : (optional) the number of outputs to extract [default = %d]\n", nOutRange );
|
||||
|
|
@ -44203,6 +44213,7 @@ usage:
|
|||
Abc_Print( -2, "\t-W num : (optional) extract cones falling into this window [default = %d]\n", nTimeWindow );
|
||||
Abc_Print( -2, "\t-a : toggle keeping all CIs or structral support only [default = %s]\n", fUseAllCis? "all": "structural" );
|
||||
Abc_Print( -2, "\t-e : toggle writing all outputs into individual files [default = %s]\n", fExtractAll? "yes": "no" );
|
||||
Abc_Print( -2, "\t-c : toggle performing cone extraction combinationally [default = %s]\n", fComb? "yes": "no" );
|
||||
Abc_Print( -2, "\t-v : toggle printing verbose information [default = %s]\n", fVerbose? "yes": "no" );
|
||||
Abc_Print( -2, "\t-h : print the command usage\n");
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -2776,7 +2776,7 @@ void Wln_LibGraftOne( Rtl_Lib_t * p, char ** pModules, int nModules, int fInv, i
|
|||
{
|
||||
int iNtk1 = Rtl_LibFindModule(p, iName1);
|
||||
int iNtk2 = Rtl_LibFindModule(p, iName2);
|
||||
Rtl_Ntk_t * pNtk1 = Rtl_LibNtk( p, iNtk1 );
|
||||
//Rtl_Ntk_t * pNtk1 = Rtl_LibNtk( p, iNtk1 );
|
||||
Rtl_Ntk_t * pNtk2 = Rtl_LibNtk( p, iNtk2 );
|
||||
pNtk2->iCopy = iNtk1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue