Commit 0145b0ca by Alan Mishchenko

Moving BDD-based threshold function detection to the BDD part of the code.

parent d944384d
...@@ -987,6 +987,10 @@ SOURCE=.\src\bdd\extrab\extraBddSymm.c ...@@ -987,6 +987,10 @@ SOURCE=.\src\bdd\extrab\extraBddSymm.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\src\bdd\extrab\extraBddThresh.c
# End Source File
# Begin Source File
SOURCE=.\src\bdd\extrab\extraBddTime.c SOURCE=.\src\bdd\extrab\extraBddTime.c
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -3119,10 +3123,6 @@ SOURCE=.\src\misc\extra\extraUtilSupp.c ...@@ -3119,10 +3123,6 @@ SOURCE=.\src\misc\extra\extraUtilSupp.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\src\misc\extra\extraUtilThresh.c
# End Source File
# Begin Source File
SOURCE=.\src\misc\extra\extraUtilTruth.c SOURCE=.\src\misc\extra\extraUtilTruth.c
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -16941,7 +16941,6 @@ usage: ...@@ -16941,7 +16941,6 @@ usage:
***********************************************************************/ ***********************************************************************/
int Abc_CommandDsdFilter( Abc_Frame_t * pAbc, int argc, char ** argv ) int Abc_CommandDsdFilter( Abc_Frame_t * pAbc, int argc, char ** argv )
{ {
extern void Id_DsdManTuneThresh( If_DsdMan_t * p, int fUnate, int fThresh, int fThreshHeuristic, int fVerbose );
If_DsdMan_t * pDsd = (If_DsdMan_t *)Abc_FrameReadManDsd(); If_DsdMan_t * pDsd = (If_DsdMan_t *)Abc_FrameReadManDsd();
int c, nLimit = 0, nLutSize = -1, fCleanOccur = 0, fCleanMarks = 0, fInvMarks = 0, fUnate = 0, fThresh = 0, fThreshHeuristic = 0, fVerbose = 0; int c, nLimit = 0, nLutSize = -1, fCleanOccur = 0, fCleanMarks = 0, fInvMarks = 0, fUnate = 0, fThresh = 0, fThreshHeuristic = 0, fVerbose = 0;
Extra_UtilGetoptReset(); Extra_UtilGetoptReset();
...@@ -17009,8 +17008,10 @@ int Abc_CommandDsdFilter( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -17009,8 +17008,10 @@ int Abc_CommandDsdFilter( Abc_Frame_t * pAbc, int argc, char ** argv )
If_DsdManCleanMarks( pDsd, fVerbose ); If_DsdManCleanMarks( pDsd, fVerbose );
if ( fInvMarks ) if ( fInvMarks )
If_DsdManInvertMarks( pDsd, fVerbose ); If_DsdManInvertMarks( pDsd, fVerbose );
#ifdef ABC_USE_CUDD
else else
Id_DsdManTuneThresh( pDsd, fUnate, fThresh, fThreshHeuristic, fVerbose ); Id_DsdManTuneThresh( pDsd, fUnate, fThresh, fThreshHeuristic, fVerbose );
#endif
return 0; return 0;
usage: usage:
/**CFile**************************************************************** /**CFile****************************************************************
FileName [extraUtilThresh.c] FileName [extraBddThresh.c]
SystemName [ABC: Logic synthesis and verification system.] SystemName [ABC: Logic synthesis and verification system.]
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
Date [Ver. 1.0. Started - October 7, 2014.] Date [Ver. 1.0. Started - October 7, 2014.]
Revision [$Id: extraUtilThresh.c,v 1.0 2014/10/07 00:00:00 alanmi Exp $] Revision [$Id: extraBddThresh.c,v 1.0 2014/10/07 00:00:00 alanmi Exp $]
***********************************************************************/ ***********************************************************************/
......
...@@ -4,5 +4,6 @@ SRC += src/bdd/extrab/extraBddAuto.c \ ...@@ -4,5 +4,6 @@ SRC += src/bdd/extrab/extraBddAuto.c \
src/bdd/extrab/extraBddKmap.c \ src/bdd/extrab/extraBddKmap.c \
src/bdd/extrab/extraBddMisc.c \ src/bdd/extrab/extraBddMisc.c \
src/bdd/extrab/extraBddSymm.c \ src/bdd/extrab/extraBddSymm.c \
src/misc/extra/extraBddThresh.c \
src/bdd/extrab/extraBddTime.c \ src/bdd/extrab/extraBddTime.c \
src/bdd/extrab/extraBddUnate.c src/bdd/extrab/extraBddUnate.c
...@@ -576,6 +576,7 @@ extern char * If_DsdManGetCellStr( If_DsdMan_t * p ); ...@@ -576,6 +576,7 @@ extern char * If_DsdManGetCellStr( If_DsdMan_t * p );
extern unsigned If_DsdManCheckXY( If_DsdMan_t * p, int iDsd, int LutSize, int fDerive, unsigned uMaskNot, int fHighEffort, int fVerbose ); extern unsigned If_DsdManCheckXY( If_DsdMan_t * p, int iDsd, int LutSize, int fDerive, unsigned uMaskNot, int fHighEffort, int fVerbose );
extern int If_CutDsdBalanceEval( If_Man_t * p, If_Cut_t * pCut, Vec_Int_t * vAig ); extern int If_CutDsdBalanceEval( If_Man_t * p, If_Cut_t * pCut, Vec_Int_t * vAig );
extern int If_CutDsdBalancePinDelays( If_Man_t * p, If_Cut_t * pCut, char * pPerm ); extern int If_CutDsdBalancePinDelays( If_Man_t * p, If_Cut_t * pCut, char * pPerm );
extern void Id_DsdManTuneThresh( If_DsdMan_t * p, int fUnate, int fThresh, int fThreshHeuristic, int fVerbose );
/*=== ifLib.c =============================================================*/ /*=== ifLib.c =============================================================*/
extern If_LibLut_t * If_LibLutRead( char * FileName ); extern If_LibLut_t * If_LibLutRead( char * FileName );
extern If_LibLut_t * If_LibLutDup( If_LibLut_t * p ); extern If_LibLut_t * If_LibLutDup( If_LibLut_t * p );
......
...@@ -26,6 +26,10 @@ ...@@ -26,6 +26,10 @@
#include "aig/gia/gia.h" #include "aig/gia/gia.h"
#include "bool/kit/kit.h" #include "bool/kit/kit.h"
#ifdef ABC_USE_CUDD
#include "bdd/extrab/extraBdd.h"
#endif
#ifdef ABC_USE_PTHREADS #ifdef ABC_USE_PTHREADS
#ifdef _WIN32 #ifdef _WIN32
...@@ -2761,6 +2765,8 @@ void Id_DsdManTuneStr( If_DsdMan_t * p, char * pStruct, int nConfls, int nProcs, ...@@ -2761,6 +2765,8 @@ void Id_DsdManTuneStr( If_DsdMan_t * p, char * pStruct, int nConfls, int nProcs,
SeeAlso [] SeeAlso []
***********************************************************************/ ***********************************************************************/
#ifdef ABC_USE_CUDD
void Id_DsdManTuneThresh( If_DsdMan_t * p, int fUnate, int fThresh, int fThreshHeuristic, int fVerbose ) void Id_DsdManTuneThresh( If_DsdMan_t * p, int fUnate, int fThresh, int fThreshHeuristic, int fVerbose )
{ {
extern int Extra_ThreshCheck( word * t, int nVars, int * pW ); extern int Extra_ThreshCheck( word * t, int nVars, int * pW );
...@@ -2821,6 +2827,8 @@ void Id_DsdManTuneThresh( If_DsdMan_t * p, int fUnate, int fThresh, int fThreshH ...@@ -2821,6 +2827,8 @@ void Id_DsdManTuneThresh( If_DsdMan_t * p, int fUnate, int fThresh, int fThreshH
If_DsdManPrintDistrib( p ); If_DsdManPrintDistrib( p );
} }
#endif // ABC_USE_CUDD are used
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
/// END OF FILE /// /// END OF FILE ///
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
......
...@@ -10,6 +10,5 @@ SRC += src/misc/extra/extraUtilBitMatrix.c \ ...@@ -10,6 +10,5 @@ SRC += src/misc/extra/extraUtilBitMatrix.c \
src/misc/extra/extraUtilProgress.c \ src/misc/extra/extraUtilProgress.c \
src/misc/extra/extraUtilReader.c \ src/misc/extra/extraUtilReader.c \
src/misc/extra/extraUtilSupp.c \ src/misc/extra/extraUtilSupp.c \
src/misc/extra/extraUtilThresh.c \
src/misc/extra/extraUtilTruth.c \ src/misc/extra/extraUtilTruth.c \
src/misc/extra/extraUtilUtil.c src/misc/extra/extraUtilUtil.c
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment