diff options
Diffstat (limited to 'src/base/wlc/wlc.h')
-rw-r--r-- | src/base/wlc/wlc.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/base/wlc/wlc.h b/src/base/wlc/wlc.h index 55e85330..c00cd4d0 100644 --- a/src/base/wlc/wlc.h +++ b/src/base/wlc/wlc.h @@ -190,6 +190,40 @@ struct Wlc_Par_t_ int (*pFuncStop)(int); // callback to terminate }; +typedef struct Wlc_BstPar_t_ Wlc_BstPar_t; +struct Wlc_BstPar_t_ +{ + int iOutput; + int nOutputRange; + int nAdderLimit; + int nMultLimit; + int fGiaSimple; + int fAddOutputs; + int fMulti; + int fBooth; + int fNoCleanup; + int fCreateMiter; + int fDecMuxes; + int fVerbose; + Vec_Int_t * vBoxIds; +}; + +static inline void Wlc_BstParDefault( Wlc_BstPar_t * pPar ) +{ + memset( pPar, 0, sizeof(Wlc_BstPar_t) ); + pPar->iOutput = -1; + pPar->nOutputRange = 0; + pPar->nAdderLimit = 0; + pPar->nMultLimit = 0; + pPar->fGiaSimple = 0; + pPar->fAddOutputs = 0; + pPar->fMulti = 0; + pPar->fBooth = 0; + pPar->fCreateMiter = 0; + pPar->fDecMuxes = 0; + pPar->fVerbose = 0; +} + typedef struct Wla_Man_t_ Wla_Man_t; struct Wla_Man_t_ { @@ -325,7 +359,7 @@ extern int Wlc_NtkPdrAbs( Wlc_Ntk_t * p, Wlc_Par_t * pPars ); /*=== wlcAbs2.c ========================================================*/ extern int Wlc_NtkAbsCore2( Wlc_Ntk_t * p, Wlc_Par_t * pPars ); /*=== wlcBlast.c ========================================================*/ -extern Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Vec_Int_t * vBoxIds, int iOutput, int nRange, int fGiaSimple, int fAddOutputs, int fBooth, int fNoCleanup, int fCreateMiter, int fDecMuxes ); +extern Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pPars ); /*=== wlcCom.c ========================================================*/ extern void Wlc_SetNtk( Abc_Frame_t * pAbc, Wlc_Ntk_t * pNtk ); /*=== wlcNdr.c ========================================================*/ @@ -376,6 +410,7 @@ extern int Wlc_StdinProcessSmt( Abc_Frame_t * pAbc, char * pCmd ); /*=== wlcReadVer.c ========================================================*/ extern Wlc_Ntk_t * Wlc_ReadVer( char * pFileName, char * pStr ); /*=== wlcUif.c ========================================================*/ +extern Vec_Int_t * Wlc_NtkCollectAddMult( Wlc_Ntk_t * p, Wlc_BstPar_t * pPar, int * pCountA, int * CountM ); extern int Wlc_NtkPairIsUifable( Wlc_Ntk_t * p, Wlc_Obj_t * pObj, Wlc_Obj_t * pObj2 ); extern Vec_Int_t * Wlc_NtkCollectMultipliers( Wlc_Ntk_t * p ); extern Vec_Int_t * Wlc_NtkFindUifableMultiplierPairs( Wlc_Ntk_t * p ); |