19 #ifndef ABC__map__mio__mio_h
20 #define ABC__map__mio__mio_h
65 #define Mio_LibraryForEachGate( Lib, Gate ) \
66 for ( Gate = Mio_LibraryReadGates(Lib); \
68 Gate = Mio_GateReadNext(Gate) )
69 #define Mio_LibraryForEachGateSafe( Lib, Gate, Gate2 ) \
70 for ( Gate = Mio_LibraryReadGates(Lib), \
71 Gate2 = (Gate? Mio_GateReadNext(Gate): NULL); \
74 Gate2 = (Gate? Mio_GateReadNext(Gate): NULL) )
76 #define Mio_GateForEachPin( Gate, Pin ) \
77 for ( Pin = Mio_GateReadPins(Gate); \
79 Pin = Mio_PinReadNext(Pin) )
80 #define Mio_GateForEachPinSafe( Gate, Pin, Pin2 ) \
81 for ( Pin = Mio_GateReadPins(Gate), \
82 Pin2 = (Pin? Mio_PinReadNext(Pin): NULL); \
85 Pin2 = (Pin? Mio_PinReadNext(Pin): NULL) )
145 extern char *
Mio_ReadFile(
char * FileName,
int fAddEnd );
168 float ** ptPinDelays,
int nPins,
int nInputs,
float tDelayZero,
169 float * ptDelaysRes,
float * ptPinDelayMax );
Mio_Gate_t * Mio_LibraryReadBuf(Mio_Library_t *pLib)
int Mio_LibraryParseFormulas(Mio_Library_t *pLib)
FUNCTION DEFINITIONS ///.
Mio_Gate_t * Mio_LibraryReadGateByName(Mio_Library_t *pLib, char *pName, char *pOutName)
int Mio_UpdateGenlib2(Vec_Str_t *vStr, Vec_Str_t *vStr2, char *pFileName, int fVerbose)
Vec_Int_t * Mio_ParseFormula(char *pFormInit, char **ppVarNames, int nVars)
int Mio_ParseCheckFormula(Mio_Gate_t *pGate, char *pForm)
char * Mio_LibDeriveSop(int nVars, Vec_Int_t *vExpr, Vec_Str_t *vStr)
float Mio_LibraryReadAreaBuf(Mio_Library_t *pLib)
Mio_Library_t * Mio_LibraryRead(char *FileName, char *pBuffer, char *ExcludeFile, int fVerbose)
void Mio_LibraryMultiDelay(Mio_Library_t *pLib, double Multi)
Mio_Gate_t * Mio_LibraryReadGates(Mio_Library_t *pLib)
void Mio_LibraryDelete(Mio_Library_t *pLib)
DECLARATIONS ///.
float Mio_GateReadPinDelay(Mio_Gate_t *pGate, int iPin)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Mio_Library_t * Mio_GateReadLib(Mio_Gate_t *pGate)
Mio_Pin_t * Mio_GateReadPins(Mio_Gate_t *pGate)
int Abc_SclHasDelayInfo(void *pScl)
void Mio_LibraryShiftDelay(Mio_Library_t *pLib, double Shift)
char * Mio_GateReadPinName(Mio_Gate_t *pGate, int iPin)
double Mio_PinReadDelayBlockFall(Mio_Pin_t *pPin)
double Mio_PinReadInputLoad(Mio_Pin_t *pPin)
Mio_PinPhase_t
INCLUDES ///.
Vec_Wrd_t * Mio_ParseFormulaTruth(char *pFormInit, char **ppVarNames, int nVars)
double Mio_PinReadMaxLoad(Mio_Pin_t *pPin)
Mio_Gate_t * Mio_GateCreatePseudo(int nInputs)
char * Mio_GateReadOutName(Mio_Gate_t *pGate)
float Mio_LibraryReadDelayNand2Max(Mio_Library_t *pLib)
char * Mio_PinReadName(Mio_Pin_t *pPin)
Mio_Gate_t * Mio_LibraryReadAnd2(Mio_Library_t *pLib)
void Mio_UpdateGenlib(Mio_Library_t *pLib)
FUNCTION DEFINITIONS ///.
float Mio_LibraryReadAreaInv(Mio_Library_t *pLib)
int Mio_GateReadValue(Mio_Gate_t *pGate)
word Mio_GateReadTruth(Mio_Gate_t *pGate)
float Mio_LibraryReadDelayInvFall(Mio_Library_t *pLib)
Mio_Pin_t * Mio_PinReadNext(Mio_Pin_t *pPin)
word Mio_DeriveTruthTable6(Mio_Gate_t *pGate)
float Mio_LibraryReadDelayNand2Fall(Mio_Library_t *pLib)
char * Mio_LibraryReadName(Mio_Library_t *pLib)
DECLARATIONS ///.
void Mio_GateDelete(Mio_Gate_t *pGate)
char * Mio_GateReadForm(Mio_Gate_t *pGate)
Mio_Gate_t * Mio_LibraryReadConst1(Mio_Library_t *pLib)
Mio_Gate_t * Mio_LibraryReadNand2(Mio_Library_t *pLib)
int Mio_GateReadPinNum(Mio_Gate_t *pGate)
void Mio_PinDelete(Mio_Pin_t *pPin)
Mio_Library_t * Abc_SclDeriveGenlib(void *pScl, float Slew, float Gain, int nGatesMin, int fVerbose)
void Mio_GateSetValue(Mio_Gate_t *pGate, int Value)
unsigned __int64 word
DECLARATIONS ///.
Mio_Pin_t * Mio_PinDup(Mio_Pin_t *pPin)
void Mio_LibraryMultiArea(Mio_Library_t *pLib, double Multi)
STRUCTURE DEFINITIONS ///.
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
float Mio_LibraryReadDelayAnd2Max(Mio_Library_t *pLib)
#define ABC_NAMESPACE_HEADER_END
void Mio_DeriveTruthTable(Mio_Gate_t *pGate, unsigned uTruthsIn[][2], int nSigns, int nInputs, unsigned uTruthRes[])
float Mio_LibraryReadDelayInvRise(Mio_Library_t *pLib)
void Mio_WriteLibrary(FILE *pFile, Mio_Library_t *pLib, int fPrintSops)
void Mio_LibraryTransferDelays(Mio_Library_t *pLibD, Mio_Library_t *pLibS)
double Mio_GateReadArea(Mio_Gate_t *pGate)
Mio_Gate_t * Mio_GateReadTwin(Mio_Gate_t *pGate)
char * Mio_LibraryReadSopByName(Mio_Library_t *pLib, char *pName)
Mio_Gate_t ** Mio_LibraryReadGateArray(Mio_Library_t *pLib)
float Mio_LibraryReadDelayInvMax(Mio_Library_t *pLib)
double Mio_GateReadDelayMax(Mio_Gate_t *pGate)
Mio_Library_t * Abc_SclDeriveGenlibSimple(void *pScl)
double Mio_PinReadDelayFanoutFall(Mio_Pin_t *pPin)
char * Mio_ReadFile(char *FileName, int fAddEnd)
float Mio_LibraryReadDelayNand2Rise(Mio_Library_t *pLib)
double Mio_PinReadDelayBlockMax(Mio_Pin_t *pPin)
Mio_Gate_t ** Mio_CollectRoots(Mio_Library_t *pLib, int nInputs, float tDelay, int fSkipInv, int *pnGates, int fVerbose)
Mio_Cell_t * Mio_CollectRootsNew(Mio_Library_t *pLib, int nInputs, int *pnGates, int fVerbose)
Mio_PinPhase_t Mio_PinReadPhase(Mio_Pin_t *pPin)
double Mio_PinReadDelayBlockRise(Mio_Pin_t *pPin)
Mio_Cell_t * Mio_CollectRootsNewDefault(int nInputs, int *pnGates, int fVerbose)
float Mio_LibraryReadAreaNand2(Mio_Library_t *pLib)
Mio_Gate_t * Mio_GateReadNext(Mio_Gate_t *pGate)
void Mio_DeriveGateDelays(Mio_Gate_t *pGate, float **ptPinDelays, int nPins, int nInputs, float tDelayZero, float *ptDelaysRes, float *ptPinDelayMax)
int Mio_LibraryReadGateNameMax(Mio_Library_t *pLib)
int Mio_LibraryReadExclude(char *ExcludeFile, st__table *tExcludeGate)
double Mio_PinReadDelayFanoutRise(Mio_Pin_t *pPin)
char * Mio_GateReadName(Mio_Gate_t *pGate)
Mio_Gate_t * Mio_LibraryReadConst0(Mio_Library_t *pLib)
typedefABC_NAMESPACE_HEADER_START struct Vec_Wrd_t_ Vec_Wrd_t
INCLUDES ///.
Mio_Gate_t * Mio_LibraryReadInv(Mio_Library_t *pLib)
char * Mio_GateReadSop(Mio_Gate_t *pGate)
int Mio_LibraryReadGateNum(Mio_Library_t *pLib)