diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2007-07-10 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2007-07-10 08:01:00 -0700 |
commit | a8d75dcc60da15644efbd20529609a1495df229a (patch) | |
tree | 2ff1676ca093b5fc6c4684d59212fc24e030ffb1 /src/opt/lpk | |
parent | 39bc4842e9a3e0c443df5e585bfdece76320870a (diff) | |
download | abc-a8d75dcc60da15644efbd20529609a1495df229a.tar.gz abc-a8d75dcc60da15644efbd20529609a1495df229a.tar.bz2 abc-a8d75dcc60da15644efbd20529609a1495df229a.zip |
Version abc70710
Diffstat (limited to 'src/opt/lpk')
-rw-r--r-- | src/opt/lpk/lpkCore.c | 8 | ||||
-rw-r--r-- | src/opt/lpk/lpkCut.c | 14 | ||||
-rw-r--r-- | src/opt/lpk/lpkMan.c | 2 | ||||
-rw-r--r-- | src/opt/lpk/module.make | 14 |
4 files changed, 26 insertions, 12 deletions
diff --git a/src/opt/lpk/lpkCore.c b/src/opt/lpk/lpkCore.c index aa0368a9..a1da45b5 100644 --- a/src/opt/lpk/lpkCore.c +++ b/src/opt/lpk/lpkCore.c @@ -229,7 +229,6 @@ p->timeMap += clock() - clk; int Lpk_ResynthesizeNode( Lpk_Man_t * p ) { static int Count = 0; - char * pFileName; Kit_DsdNtk_t * pDsdNtk; Lpk_Cut_t * pCut; unsigned * pTruth; @@ -245,6 +244,8 @@ p->timeCuts += clock() - clk; } p->timeCuts += clock() - clk; +//return 0; + if ( p->pPars->fVeryVerbose ) printf( "Node %5d : Mffc size = %5d. Cuts = %5d.\n", p->pObj->Id, p->nMffc, p->nEvals ); // try the good cuts @@ -289,12 +290,13 @@ p->timeTruth += clock() - clk; if ( p->pPars->fVeryVerbose ) { +// char * pFileName; printf( " C%02d: L= %2d/%2d V= %2d/%d N= %d W= %4.2f ", i, pCut->nLeaves, nSuppSize, pCut->nNodes, pCut->nNodesDup, pCut->nLuts, pCut->Weight ); Kit_DsdPrint( stdout, pDsdNtk ); // Kit_DsdPrintFromTruth( pTruth, pCut->nLeaves ); - pFileName = Kit_TruthDumpToFile( pTruth, pCut->nLeaves, Count++ ); - printf( "Saved truth table in file \"%s\".\n", pFileName ); +// pFileName = Kit_TruthDumpToFile( pTruth, pCut->nLeaves, Count++ ); +// printf( "Saved truth table in file \"%s\".\n", pFileName ); } // update the network diff --git a/src/opt/lpk/lpkCut.c b/src/opt/lpk/lpkCut.c index 12dae15b..27a0317c 100644 --- a/src/opt/lpk/lpkCut.c +++ b/src/opt/lpk/lpkCut.c @@ -474,12 +474,16 @@ if ( p->pObj->Id == 31 && Node == 38 )//p->nCuts == 48 ) assert( p->nCuts < LPK_CUTS_MAX ); p->nCuts++; - assert( pCut->nNodes <= p->nMffc + pCutNew->nNodesDup ); +// assert( pCut->nNodes <= p->nMffc + pCutNew->nNodesDup ); + /* printf( " Creating cut: " ); Lpk_NodePrintCut( p, pCutNew, 1 ); printf( "\n" ); */ + +// if ( !(pCut->nNodes <= p->nMffc + pCutNew->nNodesDup) ) +// printf( "Assertion in line 477 failed.\n" ); } /**Function************************************************************* @@ -519,9 +523,17 @@ int Lpk_NodeCuts( Lpk_Man_t * p ) pCut = p->pCuts + i; if ( pCut->nLeaves == 0 ) continue; + // try to expand the fanins of this cut for ( k = 0; k < (int)pCut->nLeaves; k++ ) { + + if ( p->pObj->Id == 28 && i == 273 && k == 13 ) + { + Abc_Obj_t * pFanin = Abc_NtkObj(p->pNtk, pCut->pLeaves[k]); + int s = 0; + } + // create a new cut Lpk_NodeCutsOne( p, pCut, pCut->pLeaves[k] ); // quit if the number of cuts has exceeded the limit diff --git a/src/opt/lpk/lpkMan.c b/src/opt/lpk/lpkMan.c index 5dd54450..c11a0a33 100644 --- a/src/opt/lpk/lpkMan.c +++ b/src/opt/lpk/lpkMan.c @@ -50,7 +50,7 @@ Lpk_Man_t * Lpk_ManStart( Lpk_Par_t * pPars ) p->pPars = pPars; p->nCutsMax = LPK_CUTS_MAX; p->vTtElems = Vec_PtrAllocTruthTables( pPars->nVarsMax ); - p->vTtNodes = Vec_PtrAllocSimInfo( 256, Abc_TruthWordNum(pPars->nVarsMax) ); + p->vTtNodes = Vec_PtrAllocSimInfo( 1024, Abc_TruthWordNum(pPars->nVarsMax) ); p->vCover = Vec_IntAlloc( 1 << 12 ); for ( i = 0; i < 8; i++ ) p->vSets[i] = Vec_IntAlloc(100); diff --git a/src/opt/lpk/module.make b/src/opt/lpk/module.make index 9e7bbc7c..9a46e0ce 100644 --- a/src/opt/lpk/module.make +++ b/src/opt/lpk/module.make @@ -1,7 +1,7 @@ -SRC += src/aig/lpk/lpkCore.c \ - src/aig/lpk/lpkCut.c \ - src/aig/lpk/lpkMan.c \ - src/aig/lpk/lpkMap.c \ - src/aig/lpk/lpkMulti.c \ - src/aig/lpk/lpkMux.c \ - src/aig/lpk/lpkSets.c +SRC += src/opt/lpk/lpkCore.c \ + src/opt/lpk/lpkCut.c \ + src/opt/lpk/lpkMan.c \ + src/opt/lpk/lpkMap.c \ + src/opt/lpk/lpkMulti.c \ + src/opt/lpk/lpkMux.c \ + src/opt/lpk/lpkSets.c |