diff options
Diffstat (limited to 'src/opt/fsim/fsim.h')
-rw-r--r-- | src/opt/fsim/fsim.h | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/opt/fsim/fsim.h b/src/opt/fsim/fsim.h new file mode 100644 index 00000000..5a17550b --- /dev/null +++ b/src/opt/fsim/fsim.h @@ -0,0 +1,101 @@ +/**CFile**************************************************************** + + FileName [fsim.h] + + SystemName [ABC: Logic synthesis and verification system.] + + PackageName [Fast sequential AIG simulator.] + + Synopsis [External declarations.] + + Author [Alan Mishchenko] + + Affiliation [UC Berkeley] + + Date [Ver. 1.0. Started - June 20, 2005.] + + Revision [$Id: fsim.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $] + +***********************************************************************/ + +#ifndef ABC__aig__fsim__fsim_h +#define ABC__aig__fsim__fsim_h + + +//////////////////////////////////////////////////////////////////////// +/// INCLUDES /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// PARAMETERS /// +//////////////////////////////////////////////////////////////////////// + + + +ABC_NAMESPACE_HEADER_START + + +//////////////////////////////////////////////////////////////////////// +/// BASIC TYPES /// +//////////////////////////////////////////////////////////////////////// + +typedef struct Fsim_Man_t_ Fsim_Man_t; + +// simulation parameters +typedef struct Fsim_ParSim_t_ Fsim_ParSim_t; +struct Fsim_ParSim_t_ +{ + // user-controlled parameters + int nWords; // the number of machine words + int nIters; // the number of timeframes + int TimeLimit; // time limit in seconds + int fCheckMiter; // check if miter outputs are non-zero + int fVerbose; // enables verbose output + // internal parameters + int fCompressAig; // compresses internal data +}; + +// switching estimation parameters +typedef struct Fsim_ParSwitch_t_ Fsim_ParSwitch_t; +struct Fsim_ParSwitch_t_ +{ + // user-controlled parameters + int nWords; // the number of machine words + int nIters; // the number of timeframes + int nPref; // the number of first timeframes to skip + int nRandPiNum; // PI trans prob (0=1/2; 1=1/4; 2=1/8, etc) + int fProbOne; // collect probability of one + int fProbTrans; // collect probatility of switching + int fVerbose; // enables verbose output +}; + +//////////////////////////////////////////////////////////////////////// +/// MACRO DEFINITIONS /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// FUNCTION DECLARATIONS /// +//////////////////////////////////////////////////////////////////////// + +/*=== fsimCore.c ==========================================================*/ +extern void Fsim_ManSetDefaultParamsSim( Fsim_ParSim_t * p ); +extern void Fsim_ManSetDefaultParamsSwitch( Fsim_ParSwitch_t * p ); +/*=== fsimSim.c ==========================================================*/ +extern int Fsim_ManSimulate( Aig_Man_t * pAig, Fsim_ParSim_t * pPars ); +/*=== fsimSwitch.c ==========================================================*/ +extern Vec_Int_t * Fsim_ManSwitchSimulate( Aig_Man_t * pAig, Fsim_ParSwitch_t * pPars ); +/*=== fsimTsim.c ==========================================================*/ +extern Vec_Ptr_t * Fsim_ManTerSimulate( Aig_Man_t * pAig, int fVerbose ); + + + +ABC_NAMESPACE_HEADER_END + + + +#endif + +//////////////////////////////////////////////////////////////////////// +/// END OF FILE /// +//////////////////////////////////////////////////////////////////////// + |