summaryrefslogtreecommitdiffstats
path: root/src/opt/cut
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2009-01-18 08:01:00 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2009-01-18 08:01:00 -0800
commitf936cc0680c98ffe51b3a1716c996072d5dbf76c (patch)
tree784a2a809fb6b972ec6a8e2758ab758ca590d01a /src/opt/cut
parentc9ad5880cc61787dec6d018111b63023407ce0e6 (diff)
downloadabc-f936cc0680c98ffe51b3a1716c996072d5dbf76c.tar.gz
abc-f936cc0680c98ffe51b3a1716c996072d5dbf76c.tar.bz2
abc-f936cc0680c98ffe51b3a1716c996072d5dbf76c.zip
Version abc90118
Diffstat (limited to 'src/opt/cut')
-rw-r--r--src/opt/cut/cut.h2
-rw-r--r--src/opt/cut/cutNode.c7
2 files changed, 9 insertions, 0 deletions
diff --git a/src/opt/cut/cut.h b/src/opt/cut/cut.h
index dee05dfc..faa249f2 100644
--- a/src/opt/cut/cut.h
+++ b/src/opt/cut/cut.h
@@ -64,8 +64,10 @@ struct Cut_ParamsStruct_t_
int fGlobal; // compute only global cuts
int fLocal; // compute only local cuts
int fRecord; // record the cut computation flow
+ int fRecordAig; // record the cut functions
int fFancy; // perform fancy computations
int fMap; // computes delay of FPGA mapping with cuts
+ int fAdjust; // removed useless fanouts of XORs/MUXes
int fVerbose; // the verbosiness flag
};
diff --git a/src/opt/cut/cutNode.c b/src/opt/cut/cutNode.c
index 2d17020b..633219fd 100644
--- a/src/opt/cut/cutNode.c
+++ b/src/opt/cut/cutNode.c
@@ -393,6 +393,13 @@ p->timeMerge += clock() - clk;
Vec_IntPush( p->vCutPairs, ((pCut->Num1 << 16) | pCut->Num0) );
Vec_IntWriteEntry( p->vNodeCuts, Node, Vec_IntSize(p->vCutPairs) - Vec_IntEntry(p->vNodeStarts, Node) );
}
+ if ( p->pParams->fRecordAig )
+ {
+ extern void Aig_RManRecord( unsigned * pTruth, int nVarsInit );
+ Cut_ListForEachCut( pList, pCut )
+ if ( Cut_CutReadLeaveNum(pCut) > 4 )
+ Aig_RManRecord( Cut_CutReadTruth(pCut), Cut_CutReadLeaveNum(pCut) );
+ }
// check if the node is over the list
if ( p->nNodeCuts == p->pParams->nKeepMax )
p->nCutsLimit++;