summaryrefslogtreecommitdiffstats
path: root/abc70930/src/opt/sim/simSwitch.c
diff options
context:
space:
mode:
Diffstat (limited to 'abc70930/src/opt/sim/simSwitch.c')
-rw-r--r--abc70930/src/opt/sim/simSwitch.c107
1 files changed, 0 insertions, 107 deletions
diff --git a/abc70930/src/opt/sim/simSwitch.c b/abc70930/src/opt/sim/simSwitch.c
deleted file mode 100644
index 218d4d59..00000000
--- a/abc70930/src/opt/sim/simSwitch.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/**CFile****************************************************************
-
- FileName [simSwitch.c]
-
- SystemName [ABC: Logic synthesis and verification system.]
-
- PackageName [Network and node package.]
-
- Synopsis [Computes switching activity of nodes in the ABC network.]
-
- Author [Alan Mishchenko]
-
- Affiliation [UC Berkeley]
-
- Date [Ver. 1.0. Started - June 20, 2005.]
-
- Revision [$Id: simSwitch.c,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
-
-***********************************************************************/
-
-#include "abc.h"
-#include "sim.h"
-
-////////////////////////////////////////////////////////////////////////
-/// DECLARATIONS ///
-////////////////////////////////////////////////////////////////////////
-
-static void Sim_NodeSimulate( Abc_Obj_t * pNode, Vec_Ptr_t * vSimInfo, int nSimWords );
-static float Sim_ComputeSwitching( unsigned * pSimInfo, int nSimWords );
-
-////////////////////////////////////////////////////////////////////////
-/// FUNCTION DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-/**Function*************************************************************
-
- Synopsis [Computes switching activity using simulation.]
-
- 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.]
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Vec_Int_t * Sim_NtkComputeSwitching( Abc_Ntk_t * pNtk, int nPatterns )
-{
- Vec_Int_t * vSwitching;
- float * pSwitching;
- Vec_Ptr_t * vNodes;
- Vec_Ptr_t * vSimInfo;
- Abc_Obj_t * pNode;
- unsigned * pSimInfo;
- int nSimWords, i;
-
- // allocate space for simulation info of all nodes
- nSimWords = SIM_NUM_WORDS(nPatterns);
- vSimInfo = Sim_UtilInfoAlloc( Abc_NtkObjNumMax(pNtk), nSimWords, 0 );
- // assign the random simulation to the CIs
- vSwitching = Vec_IntStart( Abc_NtkObjNumMax(pNtk) );
- pSwitching = (float *)vSwitching->pArray;
- Abc_NtkForEachCi( pNtk, pNode, i )
- {
- pSimInfo = Vec_PtrEntry(vSimInfo, pNode->Id);
- Sim_UtilSetRandom( pSimInfo, nSimWords );
- pSwitching[pNode->Id] = Sim_ComputeSwitching( pSimInfo, nSimWords );
- }
- // simulate the internal nodes
- vNodes = Abc_AigDfs( pNtk, 1, 0 );
- Vec_PtrForEachEntry( vNodes, pNode, i )
- {
- pSimInfo = Vec_PtrEntry(vSimInfo, pNode->Id);
- Sim_UtilSimulateNodeOne( pNode, vSimInfo, nSimWords, 0 );
- pSwitching[pNode->Id] = Sim_ComputeSwitching( pSimInfo, nSimWords );
- }
- Vec_PtrFree( vNodes );
- Sim_UtilInfoFree( vSimInfo );
- return vSwitching;
-}
-
-/**Function*************************************************************
-
- Synopsis [Computes switching activity of one node.]
-
- Description [Uses the formula: Switching = 2 * nOnes * nZeros / (nTotal ^ 2) ]
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-float Sim_ComputeSwitching( unsigned * pSimInfo, int nSimWords )
-{
- int nOnes, nTotal;
- nTotal = 32 * nSimWords;
- nOnes = Sim_UtilCountOnes( pSimInfo, nSimWords );
- return (float)2.0 * nOnes * (nTotal - nOnes) / nTotal / nTotal;
-}
-
-////////////////////////////////////////////////////////////////////////
-/// END OF FILE ///
-////////////////////////////////////////////////////////////////////////
-
-