| /**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 /// |
| //////////////////////////////////////////////////////////////////////// |
| |