summaryrefslogtreecommitdiffstats
path: root/src/aig/dar/darUtil.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/dar/darUtil.c')
-rw-r--r--src/aig/dar/darUtil.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/aig/dar/darUtil.c b/src/aig/dar/darUtil.c
index 6458f0c2..052fad60 100644
--- a/src/aig/dar/darUtil.c
+++ b/src/aig/dar/darUtil.c
@@ -67,6 +67,26 @@ void Dar_ManIncrementTravId( Dar_Man_t * p )
/**Function*************************************************************
+ Synopsis [Collect the latches.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+int Dar_ManLevels( Dar_Man_t * p )
+{
+ Dar_Obj_t * pObj;
+ int i, LevelMax = 0;
+ Dar_ManForEachPo( p, pObj, i )
+ LevelMax = DAR_MAX( LevelMax, (int)Dar_ObjFanin0(pObj)->Level );
+ return LevelMax;
+}
+
+/**Function*************************************************************
+
Synopsis [Cleans the data pointers for the nodes.]
Description []
@@ -316,6 +336,26 @@ Dar_Obj_t * Dar_ObjRecognizeMux( Dar_Obj_t * pNode, Dar_Obj_t ** ppNodeT, Dar_Ob
return NULL;
}
+/**Function*************************************************************
+
+ Synopsis []
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+Dar_Obj_t * Dar_ObjReal_rec( Dar_Obj_t * pObj )
+{
+ Dar_Obj_t * pObjNew, * pObjR = Dar_Regular(pObj);
+ if ( !Dar_ObjIsBuf(pObjR) )
+ return pObj;
+ pObjNew = Dar_ObjReal_rec( Dar_ObjChild0(pObjR) );
+ return Dar_NotCond( pObjNew, Dar_IsComplement(pObj) );
+}
+
/**Function*************************************************************