abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
timInt.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "misc/vec/vec.h"
#include "misc/mem/mem.h"
#include "tim.h"

Go to the source code of this file.

Data Structures

struct  Tim_Man_t_
 
struct  Tim_Box_t_
 
struct  Tim_Obj_t_
 

Macros

#define Tim_ManForEachCi(p, pObj, i)   for ( i = 0; (i < (p)->nCis) && ((pObj) = (p)->pCis + i); i++ )
 ITERATORS ///. More...
 
#define Tim_ManForEachCo(p, pObj, i)   for ( i = 0; (i < (p)->nCos) && ((pObj) = (p)->pCos + i); i++ )
 
#define Tim_ManForEachPi(p, pObj, i)   Tim_ManForEachCi( p, pObj, i ) if ( pObj->iObj2Box >= 0 ) {} else
 
#define Tim_ManForEachPo(p, pObj, i)   Tim_ManForEachCo( p, pObj, i ) if ( pObj->iObj2Box >= 0 ) {} else
 
#define Tim_ManForEachBox(p, pBox, i)   Vec_PtrForEachEntry( Tim_Box_t *, p->vBoxes, pBox, i )
 
#define Tim_ManBoxForEachInput(p, pBox, pObj, i)   for ( i = 0; (i < (pBox)->nInputs) && ((pObj) = Tim_ManBoxInput(p, pBox, i)); i++ )
 
#define Tim_ManBoxForEachOutput(p, pBox, pObj, i)   for ( i = 0; (i < (pBox)->nOutputs) && ((pObj) = Tim_ManBoxOutput(p, pBox, i)); i++ )
 
#define Tim_ManForEachTable(p, pTable, i)   Vec_PtrForEachEntry( float *, p->vDelayTables, pTable, i )
 

Typedefs

typedef
typedefABC_NAMESPACE_HEADER_START
struct Tim_Box_t_ 
Tim_Box_t
 INCLUDES ///. More...
 
typedef struct Tim_Obj_t_ Tim_Obj_t
 

Functions

static Tim_Obj_tTim_ManCi (Tim_Man_t *p, int i)
 MACRO DEFINITIONS ///. More...
 
static Tim_Obj_tTim_ManCo (Tim_Man_t *p, int i)
 
static Tim_Box_tTim_ManBox (Tim_Man_t *p, int i)
 
static Tim_Box_tTim_ManCiBox (Tim_Man_t *p, int i)
 
static Tim_Box_tTim_ManCoBox (Tim_Man_t *p, int i)
 
static Tim_Obj_tTim_ManBoxInput (Tim_Man_t *p, Tim_Box_t *pBox, int i)
 
static Tim_Obj_tTim_ManBoxOutput (Tim_Man_t *p, Tim_Box_t *pBox, int i)
 

Macro Definition Documentation

#define Tim_ManBoxForEachInput (   p,
  pBox,
  pObj,
 
)    for ( i = 0; (i < (pBox)->nInputs) && ((pObj) = Tim_ManBoxInput(p, pBox, i)); i++ )

Definition at line 120 of file timInt.h.

#define Tim_ManBoxForEachOutput (   p,
  pBox,
  pObj,
 
)    for ( i = 0; (i < (pBox)->nOutputs) && ((pObj) = Tim_ManBoxOutput(p, pBox, i)); i++ )

Definition at line 122 of file timInt.h.

#define Tim_ManForEachBox (   p,
  pBox,
 
)    Vec_PtrForEachEntry( Tim_Box_t *, p->vBoxes, pBox, i )

Definition at line 117 of file timInt.h.

#define Tim_ManForEachCi (   p,
  pObj,
 
)    for ( i = 0; (i < (p)->nCis) && ((pObj) = (p)->pCis + i); i++ )

ITERATORS ///.

Definition at line 107 of file timInt.h.

#define Tim_ManForEachCo (   p,
  pObj,
 
)    for ( i = 0; (i < (p)->nCos) && ((pObj) = (p)->pCos + i); i++ )

Definition at line 109 of file timInt.h.

#define Tim_ManForEachPi (   p,
  pObj,
 
)    Tim_ManForEachCi( p, pObj, i ) if ( pObj->iObj2Box >= 0 ) {} else

Definition at line 112 of file timInt.h.

#define Tim_ManForEachPo (   p,
  pObj,
 
)    Tim_ManForEachCo( p, pObj, i ) if ( pObj->iObj2Box >= 0 ) {} else

Definition at line 114 of file timInt.h.

#define Tim_ManForEachTable (   p,
  pTable,
 
)    Vec_PtrForEachEntry( float *, p->vDelayTables, pTable, i )

Definition at line 125 of file timInt.h.

Typedef Documentation

typedef typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t

INCLUDES ///.

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

FileName [timInt.h]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Hierarchy/timing manager.]

Synopsis [Internal declarations.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

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

Revision [

Id:
timInt.h,v 1.00 2007/04/28 00:00:00 alanmi Exp

]PARAMETERS ///BASIC TYPES ///

Definition at line 48 of file timInt.h.

typedef struct Tim_Obj_t_ Tim_Obj_t

Definition at line 49 of file timInt.h.

Function Documentation

static Tim_Box_t* Tim_ManBox ( Tim_Man_t p,
int  i 
)
inlinestatic

Definition at line 95 of file timInt.h.

95 { return (Tim_Box_t *)Vec_PtrEntry(p->vBoxes, i); }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
Definition: vecPtr.h:362
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
Definition: timInt.h:48
static Tim_Obj_t* Tim_ManBoxInput ( Tim_Man_t p,
Tim_Box_t pBox,
int  i 
)
inlinestatic

Definition at line 100 of file timInt.h.

100 { assert( i < pBox->nInputs ); return p->pCos + pBox->Inouts[i]; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define assert(ex)
Definition: util_old.h:213
static Tim_Obj_t* Tim_ManBoxOutput ( Tim_Man_t p,
Tim_Box_t pBox,
int  i 
)
inlinestatic

Definition at line 101 of file timInt.h.

101 { assert( i < pBox->nOutputs ); return p->pCis + pBox->Inouts[pBox->nInputs+i]; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define assert(ex)
Definition: util_old.h:213
static Tim_Obj_t* Tim_ManCi ( Tim_Man_t p,
int  i 
)
inlinestatic

MACRO DEFINITIONS ///.

Definition at line 93 of file timInt.h.

93 { assert( i < p->nCis ); return p->pCis + i; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define assert(ex)
Definition: util_old.h:213
static Tim_Box_t* Tim_ManCiBox ( Tim_Man_t p,
int  i 
)
inlinestatic

Definition at line 97 of file timInt.h.

97 { return Tim_ManCi(p,i)->iObj2Box < 0 ? NULL : (Tim_Box_t *)Vec_PtrEntry( p->vBoxes, Tim_ManCi(p,i)->iObj2Box ); }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
static Tim_Obj_t * Tim_ManCi(Tim_Man_t *p, int i)
MACRO DEFINITIONS ///.
Definition: timInt.h:93
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
Definition: vecPtr.h:362
int iObj2Box
Definition: timInt.h:83
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
Definition: timInt.h:48
static Tim_Obj_t* Tim_ManCo ( Tim_Man_t p,
int  i 
)
inlinestatic

Definition at line 94 of file timInt.h.

94 { assert( i < p->nCos ); return p->pCos + i; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define assert(ex)
Definition: util_old.h:213
static Tim_Box_t* Tim_ManCoBox ( Tim_Man_t p,
int  i 
)
inlinestatic

Definition at line 98 of file timInt.h.

98 { return Tim_ManCo(p,i)->iObj2Box < 0 ? NULL : (Tim_Box_t *)Vec_PtrEntry( p->vBoxes, Tim_ManCo(p,i)->iObj2Box ); }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
Definition: vecPtr.h:362
static Tim_Obj_t * Tim_ManCo(Tim_Man_t *p, int i)
Definition: timInt.h:94
int iObj2Box
Definition: timInt.h:83
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
Definition: timInt.h:48