summaryrefslogtreecommitdiffstats
path: root/src/map/if/if.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-03-29 22:14:15 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-03-29 22:14:15 -0700
commit7d500c8920c87bb04731960e065d2b8f7748050b (patch)
tree4a81a96ac7ce6bf7fa4995c55d8528b3db5db3b8 /src/map/if/if.h
parentba4ed5b16c0d7981b7e27eec66aaf9a79a889d48 (diff)
downloadabc-7d500c8920c87bb04731960e065d2b8f7748050b.tar.gz
abc-7d500c8920c87bb04731960e065d2b8f7748050b.tar.bz2
abc-7d500c8920c87bb04731960e065d2b8f7748050b.zip
Updating &if for new cut function representation.
Diffstat (limited to 'src/map/if/if.h')
-rw-r--r--src/map/if/if.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/map/if/if.h b/src/map/if/if.h
index 591361ba..320139a0 100644
--- a/src/map/if/if.h
+++ b/src/map/if/if.h
@@ -38,6 +38,7 @@
#include "misc/vec/vecMem.h"
#include "misc/util/utilTruth.h"
#include "opt/dau/dau.h"
+#include "misc/vec/vecHash.h"
ABC_NAMESPACE_HEADER_START
@@ -125,6 +126,7 @@ struct If_Par_t_
int fEnableCheck75;// enable additional checking
int fEnableCheck75u;// enable additional checking
int fUseDsd; // compute DSD of the cut functions
+ int fUseTtPerm; // compute truth tables of the cut functions
int fDeriveLuts; // enables deriving LUT structures
int fRepack; // repack after mapping
int fVerbose; // the verbosity flag
@@ -235,6 +237,7 @@ struct If_Man_t_
Vec_Mem_t * vTtMem; // truth table memory and hash table
Vec_Int_t * vTtDsds; // mapping of truth table into DSD
Vec_Str_t * vTtPerms; // mapping of truth table into permutations
+ Hash_IntMan_t * vPairHash; // hashing pairs of truth tables
int nBestCutSmall[2];
int nCountNonDec[2];
Vec_Int_t * vCutData; // cut data storage
@@ -593,6 +596,7 @@ extern void If_CutPropagateRequired( If_Man_t * p, If_Obj_t * pObj, I
/*=== ifTruth.c ===========================================================*/
extern void If_CutRotatePins( If_Man_t * p, If_Cut_t * pCut );
extern int If_CutComputeTruth( If_Man_t * p, If_Cut_t * pCut, If_Cut_t * pCut0, If_Cut_t * pCut1, int fCompl0, int fCompl1 );
+extern int If_CutComputeTruthPerm( If_Man_t * p, If_Cut_t * pCut, If_Cut_t * pCut0, If_Cut_t * pCut1, int fCompl0, int fCompl1 );
/*=== ifUtil.c ============================================================*/
extern void If_ManCleanNodeCopy( If_Man_t * p );
extern void If_ManCleanCutData( If_Man_t * p );