summaryrefslogtreecommitdiffstats
path: root/src/opt/lpk
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2007-07-10 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2007-07-10 08:01:00 -0700
commita8d75dcc60da15644efbd20529609a1495df229a (patch)
tree2ff1676ca093b5fc6c4684d59212fc24e030ffb1 /src/opt/lpk
parent39bc4842e9a3e0c443df5e585bfdece76320870a (diff)
downloadabc-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.c8
-rw-r--r--src/opt/lpk/lpkCut.c14
-rw-r--r--src/opt/lpk/lpkMan.c2
-rw-r--r--src/opt/lpk/module.make14
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