summaryrefslogtreecommitdiffstats
path: root/src/map/if/if.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-02-25 22:41:34 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2014-02-25 22:41:34 -0800
commitcaa2227b1127802e4b35f296106ca19e113ea601 (patch)
tree9fb8f4f2099f829063e96b1b74ea26c803fa50eb /src/map/if/if.h
parent15a1c4b96507b524959d171a26b796d6263ea284 (diff)
downloadabc-caa2227b1127802e4b35f296106ca19e113ea601.tar.gz
abc-caa2227b1127802e4b35f296106ca19e113ea601.tar.bz2
abc-caa2227b1127802e4b35f296106ca19e113ea601.zip
Changes to LUT mappers.
Diffstat (limited to 'src/map/if/if.h')
-rw-r--r--src/map/if/if.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/map/if/if.h b/src/map/if/if.h
index 8821d06f..41d30da4 100644
--- a/src/map/if/if.h
+++ b/src/map/if/if.h
@@ -35,9 +35,9 @@
#include "misc/mem/mem.h"
#include "misc/tim/tim.h"
#include "misc/util/utilNam.h"
-#include "opt/dau/dau.h"
#include "misc/vec/vecMem.h"
#include "misc/util/utilTruth.h"
+#include "opt/dau/dau.h"
ABC_NAMESPACE_HEADER_START
@@ -153,8 +153,8 @@ struct If_Par_t_
float * pTimesArr; // arrival times
float * pTimesReq; // required times
int (* pFuncCost) (If_Man_t *, If_Cut_t *); // procedure to compute the user's cost of a cut
- int (* pFuncUser) (If_Man_t *, If_Obj_t *, If_Cut_t *); // procedure called for each cut when cut computation is finished
- int (* pFuncCell) (If_Man_t *, unsigned *, int, int, char *); // procedure called for cut functions
+ int (* pFuncUser) (If_Man_t *, If_Obj_t *, If_Cut_t *); // procedure called for each cut when cut computation is finished
+ int (* pFuncCell) (If_Man_t *, unsigned *, int, int, char *); // procedure called for cut functions
void * pReoMan; // reordering manager
};
@@ -233,6 +233,7 @@ struct If_Man_t_
int nCuts5, nCuts5a;
If_DsdMan_t * pIfDsdMan;
Vec_Mem_t * vTtMem; // truth table memory and hash table
+ Vec_Int_t * vDsds; // mapping of truth table into DSD
int nBestCutSmall[2];
// timing manager
@@ -518,7 +519,8 @@ extern If_DsdMan_t * If_DsdManAlloc( int nLutSize );
extern void If_DsdManDump( If_DsdMan_t * p );
extern void If_DsdManPrint( If_DsdMan_t * p, char * pFileName, int fVerbose );
extern void If_DsdManFree( If_DsdMan_t * p );
-extern int If_DsdManCompute( If_DsdMan_t * p, word * pTruth, int nLeaves, unsigned char * pPerm );
+extern int If_DsdManCompute( If_DsdMan_t * p, word * pTruth, int nLeaves, unsigned char * pPerm, char * pLutStruct );
+extern int If_DsdManCheckDec( If_DsdMan_t * pIfMan, int iDsd );
/*=== ifLib.c =============================================================*/
extern If_LibLut_t * If_LibLutRead( char * FileName );
extern If_LibLut_t * If_LibLutDup( If_LibLut_t * p );