From ec298486b6eb3d14398c5eb1edadc1d5ed564bf2 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 31 Oct 2013 23:42:06 -0400 Subject: False path detection. --- src/aig/gia/giaUtil.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/aig/gia/giaUtil.c') diff --git a/src/aig/gia/giaUtil.c b/src/aig/gia/giaUtil.c index f3edca36..34bda9bb 100644 --- a/src/aig/gia/giaUtil.c +++ b/src/aig/gia/giaUtil.c @@ -619,6 +619,30 @@ Vec_Int_t * Gia_ManRequiredLevel( Gia_Man_t * p ) return vRequired; } +/**Function************************************************************* + + Synopsis [Compute slacks measured using the number of AIG levels.] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +Vec_Int_t * Gia_ManComputeSlacks( Gia_Man_t * p ) +{ + Gia_Obj_t * pObj; + int i, nLevels = Gia_ManLevelNum( p ); + Vec_Int_t * vLevelR = Gia_ManReverseLevel( p ); + Vec_Int_t * vSlacks = Vec_IntAlloc( Gia_ManObjNum(p) ); + Gia_ManForEachObj( p, pObj, i ) + Vec_IntPush( vSlacks, nLevels - Gia_ObjLevelId(p, i) - Vec_IntEntry(vLevelR, i) ); + assert( Vec_IntSize(vSlacks) == Gia_ManObjNum(p) ); + Vec_IntFree( vLevelR ); + return vSlacks; +} + /**Function************************************************************* Synopsis [Assigns levels.] -- cgit v1.2.3