summaryrefslogtreecommitdiffstats
path: root/src/aig/nwk/nwkObj.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/nwk/nwkObj.c')
-rw-r--r--src/aig/nwk/nwkObj.c204
1 files changed, 0 insertions, 204 deletions
diff --git a/src/aig/nwk/nwkObj.c b/src/aig/nwk/nwkObj.c
deleted file mode 100644
index e5930087..00000000
--- a/src/aig/nwk/nwkObj.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/**CFile****************************************************************
-
- FileName [nwkObj.c]
-
- SystemName [ABC: Logic synthesis and verification system.]
-
- PackageName [Logic network representation.]
-
- Synopsis [Manipulation of objects.]
-
- Author [Alan Mishchenko]
-
- Affiliation [UC Berkeley]
-
- Date [Ver. 1.0. Started - June 20, 2005.]
-
- Revision [$Id: nwkObj.c,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
-
-***********************************************************************/
-
-#include "nwk.h"
-
-ABC_NAMESPACE_IMPL_START
-
-
-////////////////////////////////////////////////////////////////////////
-/// DECLARATIONS ///
-////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////
-/// FUNCTION DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-/**Function*************************************************************
-
- Synopsis [Creates an object.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Nwk_Obj_t * Nwk_ManCreateObj( Nwk_Man_t * p, int nFanins, int nFanouts )
-{
- Nwk_Obj_t * pObj;
- pObj = (Nwk_Obj_t *)Aig_MmFlexEntryFetch( p->pMemObjs, sizeof(Nwk_Obj_t) + (nFanins + nFanouts + p->nFanioPlus) * sizeof(Nwk_Obj_t *) );
- memset( pObj, 0, sizeof(Nwk_Obj_t) );
- pObj->pFanio = (Nwk_Obj_t **)((char *)pObj + sizeof(Nwk_Obj_t));
- pObj->Id = Vec_PtrSize( p->vObjs );
- Vec_PtrPush( p->vObjs, pObj );
- pObj->pMan = p;
- pObj->nFanioAlloc = nFanins + nFanouts + p->nFanioPlus;
- return pObj;
-}
-
-
-/**Function*************************************************************
-
- Synopsis [Creates a primary input.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Nwk_Obj_t * Nwk_ManCreateCi( Nwk_Man_t * p, int nFanouts )
-{
- Nwk_Obj_t * pObj;
- pObj = Nwk_ManCreateObj( p, 1, nFanouts );
- pObj->PioId = Vec_PtrSize( p->vCis );
- Vec_PtrPush( p->vCis, pObj );
- pObj->Type = NWK_OBJ_CI;
- p->nObjs[NWK_OBJ_CI]++;
- return pObj;
-}
-
-/**Function*************************************************************
-
- Synopsis [Creates a primary output.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Nwk_Obj_t * Nwk_ManCreateCo( Nwk_Man_t * p )
-{
- Nwk_Obj_t * pObj;
- pObj = Nwk_ManCreateObj( p, 1, 1 );
- pObj->PioId = Vec_PtrSize( p->vCos );
- Vec_PtrPush( p->vCos, pObj );
- pObj->Type = NWK_OBJ_CO;
- p->nObjs[NWK_OBJ_CO]++;
- return pObj;
-}
-
-/**Function*************************************************************
-
- Synopsis [Creates a latch.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Nwk_Obj_t * Nwk_ManCreateLatch( Nwk_Man_t * p )
-{
- Nwk_Obj_t * pObj;
- pObj = Nwk_ManCreateObj( p, 1, 1 );
- pObj->Type = NWK_OBJ_LATCH;
- p->nObjs[NWK_OBJ_LATCH]++;
- return pObj;
-}
-
-/**Function*************************************************************
-
- Synopsis [Creates a node.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Nwk_Obj_t * Nwk_ManCreateNode( Nwk_Man_t * p, int nFanins, int nFanouts )
-{
- Nwk_Obj_t * pObj;
- pObj = Nwk_ManCreateObj( p, nFanins, nFanouts );
- pObj->Type = NWK_OBJ_NODE;
- p->nObjs[NWK_OBJ_NODE]++;
- return pObj;
-}
-
-
-/**Function*************************************************************
-
- Synopsis [Deletes the node.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Nwk_ManDeleteNode( Nwk_Obj_t * pObj )
-{
- Vec_Ptr_t * vNodes = pObj->pMan->vTemp;
- Nwk_Obj_t * pTemp;
- int i;
- assert( Nwk_ObjFanoutNum(pObj) == 0 );
- // delete fanins
- Nwk_ObjCollectFanins( pObj, vNodes );
- Vec_PtrForEachEntry( Nwk_Obj_t *, vNodes, pTemp, i )
- Nwk_ObjDeleteFanin( pObj, pTemp );
- // remove from the list of objects
- Vec_PtrWriteEntry( pObj->pMan->vObjs, pObj->Id, NULL );
- pObj->pMan->nObjs[pObj->Type]--;
- memset( pObj, 0, sizeof(Nwk_Obj_t) );
- pObj->Id = -1;
-}
-
-/**Function*************************************************************
-
- Synopsis [Deletes the node and MFFC of the node.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Nwk_ManDeleteNode_rec( Nwk_Obj_t * pObj )
-{
- Vec_Ptr_t * vNodes;
- int i;
- assert( !Nwk_ObjIsCi(pObj) );
- assert( Nwk_ObjFanoutNum(pObj) == 0 );
- vNodes = Vec_PtrAlloc( 100 );
- Nwk_ObjCollectFanins( pObj, vNodes );
- Nwk_ManDeleteNode( pObj );
- Vec_PtrForEachEntry( Nwk_Obj_t *, vNodes, pObj, i )
- if ( Nwk_ObjIsNode(pObj) && Nwk_ObjFanoutNum(pObj) == 0 )
- Nwk_ManDeleteNode_rec( pObj );
- Vec_PtrFree( vNodes );
-}
-
-////////////////////////////////////////////////////////////////////////
-/// END OF FILE ///
-////////////////////////////////////////////////////////////////////////
-
-
-ABC_NAMESPACE_IMPL_END
-