abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
timTrav.c File Reference
#include "timInt.h"

Go to the source code of this file.

Functions

ABC_NAMESPACE_IMPL_START void Tim_ManIncrementTravId (Tim_Man_t *p)
 DECLARATIONS ///. More...
 
void Tim_ManSetCurrentTravIdBoxInputs (Tim_Man_t *p, int iBox)
 
void Tim_ManSetCurrentTravIdBoxOutputs (Tim_Man_t *p, int iBox)
 
void Tim_ManSetPreviousTravIdBoxInputs (Tim_Man_t *p, int iBox)
 
void Tim_ManSetPreviousTravIdBoxOutputs (Tim_Man_t *p, int iBox)
 
int Tim_ManIsCiTravIdCurrent (Tim_Man_t *p, int iCi)
 
int Tim_ManIsCoTravIdCurrent (Tim_Man_t *p, int iCo)
 

Function Documentation

ABC_NAMESPACE_IMPL_START void Tim_ManIncrementTravId ( Tim_Man_t p)

DECLARATIONS ///.

CFile****************************************************************

FileName [timTrav.c]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Hierarchy/timing manager.]

Synopsis [Manipulation of traversal IDs.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - April 28, 2007.]

Revision [

Id:
timTrav.c,v 1.00 2007/04/28 00:00:00 alanmi Exp

]FUNCTION DEFINITIONS /// Function*************************************************************

Synopsis [Increments the trav ID of the manager.]

Description []

SideEffects []

SeeAlso []

Definition at line 44 of file timTrav.c.

45 {
46  int i;
47  if ( p->nTravIds >= (1<<30)-1 )
48  {
49  p->nTravIds = 0;
50  for ( i = 0; i < p->nCis; i++ )
51  p->pCis[i].TravId = 0;
52  for ( i = 0; i < p->nCos; i++ )
53  p->pCos[i].TravId = 0;
54  }
55  assert( p->nTravIds < (1<<30)-1 );
56  p->nTravIds++;
57 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
for(p=first;p->value< newval;p=p->next)
#define assert(ex)
Definition: util_old.h:213
int Tim_ManIsCiTravIdCurrent ( Tim_Man_t p,
int  iCi 
)

Function*************************************************************

Synopsis [Updates required time of the CI.]

Description []

SideEffects []

SeeAlso []

Definition at line 154 of file timTrav.c.

155 {
156  assert( iCi < p->nCis );
157  assert( p->fUseTravId );
158  return p->pCis[iCi].TravId == p->nTravIds;
159 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define assert(ex)
Definition: util_old.h:213
int Tim_ManIsCoTravIdCurrent ( Tim_Man_t p,
int  iCo 
)

Function*************************************************************

Synopsis [Updates required time of the CO.]

Description []

SideEffects []

SeeAlso []

Definition at line 172 of file timTrav.c.

173 {
174  assert( iCo < p->nCos );
175  assert( p->fUseTravId );
176  return p->pCos[iCo].TravId == p->nTravIds;
177 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define assert(ex)
Definition: util_old.h:213
void Tim_ManSetCurrentTravIdBoxInputs ( Tim_Man_t p,
int  iBox 
)

Function*************************************************************

Synopsis [Label box inputs.]

Description []

SideEffects []

SeeAlso []

Definition at line 70 of file timTrav.c.

71 {
72  Tim_Box_t * pBox;
73  Tim_Obj_t * pObj;
74  int i;
75  pBox = Tim_ManBox( p, iBox );
76  Tim_ManBoxForEachInput( p, pBox, pObj, i )
77  pObj->TravId = p->nTravIds;
78 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define Tim_ManBoxForEachInput(p, pBox, pObj, i)
Definition: timInt.h:120
static Tim_Box_t * Tim_ManBox(Tim_Man_t *p, int i)
Definition: timInt.h:95
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
Definition: timInt.h:48
void Tim_ManSetCurrentTravIdBoxOutputs ( Tim_Man_t p,
int  iBox 
)

Function*************************************************************

Synopsis [Label box outputs.]

Description []

SideEffects []

SeeAlso []

Definition at line 91 of file timTrav.c.

92 {
93  Tim_Box_t * pBox;
94  Tim_Obj_t * pObj;
95  int i;
96  pBox = Tim_ManBox( p, iBox );
97  Tim_ManBoxForEachOutput( p, pBox, pObj, i )
98  pObj->TravId = p->nTravIds;
99 }
#define Tim_ManBoxForEachOutput(p, pBox, pObj, i)
Definition: timInt.h:122
static Llb_Mgr_t * p
Definition: llb3Image.c:950
static Tim_Box_t * Tim_ManBox(Tim_Man_t *p, int i)
Definition: timInt.h:95
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
Definition: timInt.h:48
void Tim_ManSetPreviousTravIdBoxInputs ( Tim_Man_t p,
int  iBox 
)

Function*************************************************************

Synopsis [Label box inputs.]

Description []

SideEffects []

SeeAlso []

Definition at line 112 of file timTrav.c.

113 {
114  Tim_Box_t * pBox;
115  Tim_Obj_t * pObj;
116  int i;
117  pBox = Tim_ManBox( p, iBox );
118  Tim_ManBoxForEachInput( p, pBox, pObj, i )
119  pObj->TravId = p->nTravIds - 1;
120 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define Tim_ManBoxForEachInput(p, pBox, pObj, i)
Definition: timInt.h:120
static Tim_Box_t * Tim_ManBox(Tim_Man_t *p, int i)
Definition: timInt.h:95
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
Definition: timInt.h:48
void Tim_ManSetPreviousTravIdBoxOutputs ( Tim_Man_t p,
int  iBox 
)

Function*************************************************************

Synopsis [Label box outputs.]

Description []

SideEffects []

SeeAlso []

Definition at line 133 of file timTrav.c.

134 {
135  Tim_Box_t * pBox;
136  Tim_Obj_t * pObj;
137  int i;
138  pBox = Tim_ManBox( p, iBox );
139  Tim_ManBoxForEachOutput( p, pBox, pObj, i )
140  pObj->TravId = p->nTravIds - 1;
141 }
#define Tim_ManBoxForEachOutput(p, pBox, pObj, i)
Definition: timInt.h:122
static Llb_Mgr_t * p
Definition: llb3Image.c:950
static Tim_Box_t * Tim_ManBox(Tim_Man_t *p, int i)
Definition: timInt.h:95
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
Definition: timInt.h:48