FUNCTION DEFINITIONS ///.
Description [Computes switching activity, which is understood as the probability of switching under random simulation. Assigns the random simulation information at the CI and propagates it through the internal nodes of the AIG.]
53{
55 float * pSwitching;
59 unsigned * pSimInfo;
60 int nSimWords, i;
61
62
65
66 vSwitching = Vec_IntStart( Abc_NtkObjNumMax(pNtk) );
67 pSwitching = (float *)vSwitching->pArray;
69 {
70 pSimInfo = (
unsigned *)Vec_PtrEntry(vSimInfo, pNode->
Id);
72 pSwitching[pNode->
Id] = Sim_ComputeSwitching( pSimInfo, nSimWords );
73 }
74
77 {
78 pSimInfo = (
unsigned *)Vec_PtrEntry(vSimInfo, pNode->
Id);
80 pSwitching[pNode->
Id] = Sim_ComputeSwitching( pSimInfo, nSimWords );
81 }
82 Vec_PtrFree( vNodes );
84 return vSwitching;
85}
struct Abc_Obj_t_ Abc_Obj_t
ABC_DLL Vec_Ptr_t * Abc_AigDfs(Abc_Ntk_t *pNtk, int fCollectAll, int fCollectCos)
#define Abc_NtkForEachCi(pNtk, pCi, i)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
void Sim_UtilInfoFree(Vec_Ptr_t *p)
void Sim_UtilSetRandom(unsigned *pPatRand, int nSimWords)
Vec_Ptr_t * Sim_UtilInfoAlloc(int nSize, int nWords, int fClean)
FUNCTION DEFINITIONS ///.
void Sim_UtilSimulateNodeOne(Abc_Obj_t *pNode, Vec_Ptr_t *vSimInfo, int nSimWords, int nOffset)
#define SIM_NUM_WORDS(n)
MACRO DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.