summaryrefslogtreecommitdiffstats
path: root/src/map/if/if.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2019-09-26 14:05:16 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2019-09-26 14:05:16 -0700
commitb292595062b947bc0c1de79fe25facb34c0e20c1 (patch)
tree46442f4d5924d4ba962492ee2fcfedb16d1a6e2e /src/map/if/if.h
parentdf2bce1e40bcc14710cc8e019b0ab5a01176c54f (diff)
downloadabc-b292595062b947bc0c1de79fe25facb34c0e20c1.tar.gz
abc-b292595062b947bc0c1de79fe25facb34c0e20c1.tar.bz2
abc-b292595062b947bc0c1de79fe25facb34c0e20c1.zip
Adding switch to &if to consider special type of 6-input cuts.
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 eb81d64e..aa9608c9 100644
--- a/src/map/if/if.h
+++ b/src/map/if/if.h
@@ -117,6 +117,7 @@ struct If_Par_t_
int fFancy; // a fancy feature
int fExpRed; // expand/reduce of the best cuts
int fLatchPaths; // reset timing on latch paths
+ int fLut6Filter; // uses filtering of 6-LUT functions
int fEdge; // uses edge-based cut selection heuristics
int fPower; // uses power-aware cut selection heuristics
int fCutMin; // performs cut minimization by removing functionally reducdant variables
@@ -260,6 +261,7 @@ struct If_Man_t_
Hash_IntMan_t * vPairHash; // hashing pairs of truth tables
Vec_Int_t * vPairRes; // resulting truth table
Vec_Str_t * vPairPerms; // resulting permutation
+ Vec_Mem_t * vTtMem6;
char pCanonPerm[IF_MAX_LUTSIZE];
unsigned uCanonPhase;
int nCacheHits;
@@ -652,6 +654,8 @@ extern void If_ManComputeRequired( If_Man_t * p );
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 );
+extern Vec_Mem_t * If_DeriveHashTable6( int nVars, word Truth );
+extern int If_CutCheckTruth6( If_Man_t * p, If_Cut_t * pCut );
/*=== ifTune.c ===========================================================*/
extern Ifn_Ntk_t * Ifn_NtkParse( char * pStr );
extern int Ifn_NtkTtBits( char * pStr );