ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
mio.h
Go to the documentation of this file.
1
18
19#ifndef ABC__map__mio__mio_h
20#define ABC__map__mio__mio_h
21
22
26
30
31
32
34
35
39
41
45
46typedef struct Mio_Cell_t_ Mio_Cell_t;
48{
49 char * pName; // name
50 unsigned Id : 28; // gate ID
51 unsigned nFanins : 4; // gate fanins
52 float Area; // area
53 word uTruth; // truth table
54 float Delays[6]; // delay
55};
56
57typedef struct Mio_Cell2_t_ Mio_Cell2_t;
59{
60 char * pName; // name
61 Vec_Int_t * vExpr; // expression
62 unsigned Id : 26; // gate ID
63 unsigned Type : 2; // gate type
64 unsigned nFanins : 4; // gate fanins
65 float AreaF; // area
66 word AreaW; // area
67 word uTruth; // truth table
68 int iDelayAve; // average delay
69 int iDelays[6]; // delay
70 void * pMioGate; // gate pointer
71};
72
76
80
81#define Mio_LibraryForEachGate( Lib, Gate ) \
82 for ( Gate = Mio_LibraryReadGates(Lib); \
83 Gate; \
84 Gate = Mio_GateReadNext(Gate) )
85#define Mio_LibraryForEachGateSafe( Lib, Gate, Gate2 ) \
86 for ( Gate = Mio_LibraryReadGates(Lib), \
87 Gate2 = (Gate? Mio_GateReadNext(Gate): NULL); \
88 Gate; \
89 Gate = Gate2, \
90 Gate2 = (Gate? Mio_GateReadNext(Gate): NULL) )
91
92#define Mio_GateForEachPin( Gate, Pin ) \
93 for ( Pin = Mio_GateReadPins(Gate); \
94 Pin; \
95 Pin = Mio_PinReadNext(Pin) )
96#define Mio_GateForEachPinSafe( Gate, Pin, Pin2 ) \
97 for ( Pin = Mio_GateReadPins(Gate), \
98 Pin2 = (Pin? Mio_PinReadNext(Pin): NULL); \
99 Pin; \
100 Pin = Pin2, \
101 Pin2 = (Pin? Mio_PinReadNext(Pin): NULL) )
102
106
107/*=== mio.c =============================================================*/
108extern void Mio_UpdateGenlib( Mio_Library_t * pLib );
109extern int Mio_UpdateGenlib2( Vec_Str_t * vStr, Vec_Str_t * vStr2, char * pFileName, int fVerbose );
110/*=== mioApi.c =============================================================*/
111extern char * Mio_LibraryReadName ( Mio_Library_t * pLib );
112extern char * Mio_LibraryReadFileName ( Mio_Library_t * pLib );
113extern int Mio_LibraryReadGateNum ( Mio_Library_t * pLib );
116extern Mio_Gate_t * Mio_LibraryReadGateById ( Mio_Library_t * pLib, int iD );
117extern Mio_Gate_t * Mio_LibraryReadGateByName ( Mio_Library_t * pLib, char * pName, char * pOutName );
118extern char * Mio_LibraryReadSopByName ( Mio_Library_t * pLib, char * pName );
128extern float Mio_LibraryReadDelayInvRise( Mio_Library_t * pLib );
129extern float Mio_LibraryReadDelayInvFall( Mio_Library_t * pLib );
130extern float Mio_LibraryReadDelayInvMax( Mio_Library_t * pLib );
131extern float Mio_LibraryReadDelayNand2Rise( Mio_Library_t * pLib );
132extern float Mio_LibraryReadDelayNand2Fall( Mio_Library_t * pLib );
133extern float Mio_LibraryReadDelayNand2Max( Mio_Library_t * pLib );
134extern float Mio_LibraryReadDelayAnd2Max( Mio_Library_t * pLib );
135extern float Mio_LibraryReadDelayAigNode( Mio_Library_t * pLib );
136extern float Mio_LibraryReadAreaInv ( Mio_Library_t * pLib );
137extern float Mio_LibraryReadAreaBuf ( Mio_Library_t * pLib );
138extern float Mio_LibraryReadAreaNand2 ( Mio_Library_t * pLib );
139extern int Mio_LibraryReadGateNameMax( Mio_Library_t * pLib );
140extern void Mio_LibrarySetName ( Mio_Library_t * pLib, char * pName );
141extern char * Mio_GateReadName ( Mio_Gate_t * pGate );
142extern char * Mio_GateReadOutName ( Mio_Gate_t * pGate );
143extern double Mio_GateReadArea ( Mio_Gate_t * pGate );
144extern char * Mio_GateReadForm ( Mio_Gate_t * pGate );
145extern Mio_Pin_t * Mio_GateReadPins ( Mio_Gate_t * pGate );
146extern Mio_Library_t * Mio_GateReadLib ( Mio_Gate_t * pGate );
147extern Mio_Gate_t * Mio_GateReadNext ( Mio_Gate_t * pGate );
148extern Mio_Gate_t * Mio_GateReadTwin ( Mio_Gate_t * pGate );
149extern int Mio_GateReadPinNum ( Mio_Gate_t * pGate );
150extern double Mio_GateReadDelayMax ( Mio_Gate_t * pGate );
151extern char * Mio_GateReadSop ( Mio_Gate_t * pGate );
152extern Vec_Int_t * Mio_GateReadExpr ( Mio_Gate_t * pGate );
153extern word Mio_GateReadTruth ( Mio_Gate_t * pGate );
154extern word * Mio_GateReadTruthP ( Mio_Gate_t * pGate );
155extern int Mio_GateReadValue ( Mio_Gate_t * pGate );
156extern int Mio_GateReadCell ( Mio_Gate_t * pGate );
157extern int Mio_GateReadProfile ( Mio_Gate_t * pGate );
158extern int Mio_GateReadProfile2 ( Mio_Gate_t * pGate );
159extern char * Mio_GateReadPinName ( Mio_Gate_t * pGate, int iPin );
160extern float Mio_GateReadPinDelay ( Mio_Gate_t * pGate, int iPin );
161extern void Mio_GateSetValue ( Mio_Gate_t * pGate, int Value );
162extern void Mio_GateSetCell ( Mio_Gate_t * pGate, int Cell );
163extern void Mio_GateSetProfile ( Mio_Gate_t * pGate, int Prof );
164extern void Mio_GateSetProfile2 ( Mio_Gate_t * pGate, int Prof );
165extern void Mio_GateIncProfile2 ( Mio_Gate_t * pGate );
166extern void Mio_GateDecProfile2 ( Mio_Gate_t * pGate );
167extern void Mio_GateAddToProfile ( Mio_Gate_t * pGate, int Prof );
168extern void Mio_GateAddToProfile2 ( Mio_Gate_t * pGate, int Prof );
169extern int Mio_GateIsInv ( Mio_Gate_t * pGate );
170extern char * Mio_PinReadName ( Mio_Pin_t * pPin );
171extern Mio_PinPhase_t Mio_PinReadPhase ( Mio_Pin_t * pPin );
172extern double Mio_PinReadInputLoad ( Mio_Pin_t * pPin );
173extern double Mio_PinReadMaxLoad ( Mio_Pin_t * pPin );
174extern double Mio_PinReadDelayBlockRise ( Mio_Pin_t * pPin );
175extern double Mio_PinReadDelayFanoutRise( Mio_Pin_t * pPin );
176extern double Mio_PinReadDelayBlockFall ( Mio_Pin_t * pPin );
177extern double Mio_PinReadDelayFanoutFall( Mio_Pin_t * pPin );
178extern double Mio_PinReadDelayBlockMax ( Mio_Pin_t * pPin );
179extern Mio_Pin_t * Mio_PinReadNext ( Mio_Pin_t * pPin );
180/*=== mioRead.c =============================================================*/
181extern char * Mio_ReadFile( char * FileName, int fAddEnd );
182extern Mio_Library_t * Mio_LibraryRead( char * FileName, char * pBuffer, char * ExcludeFile, int nFaninLimit, int fVerbose );
183extern int Mio_LibraryReadExclude( char * ExcludeFile, st__table * tExcludeGate );
184/*=== mioFunc.c =============================================================*/
185extern int Mio_LibraryParseFormulas( Mio_Library_t * pLib );
186/*=== mioParse.c =============================================================*/
187extern Vec_Int_t * Mio_ParseFormula( char * pFormInit, char ** ppVarNames, int nVars );
188extern Vec_Wrd_t * Mio_ParseFormulaTruth( char * pFormInit, char ** ppVarNames, int nVars );
189extern int Mio_ParseCheckFormula( Mio_Gate_t * pGate, char * pForm );
190/*=== mioSop.c =============================================================*/
191extern char * Mio_LibDeriveSop( int nVars, Vec_Int_t * vExpr, Vec_Str_t * vStr );
192/*=== mioUtils.c =============================================================*/
193extern void Mio_LibraryDelete( Mio_Library_t * pLib );
194extern void Mio_GateDelete( Mio_Gate_t * pGate );
195extern void Mio_PinDelete( Mio_Pin_t * pPin );
196extern Mio_Pin_t * Mio_PinDup( Mio_Pin_t * pPin );
197extern void Mio_WriteLibrary( FILE * pFile, Mio_Library_t * pLib, int fPrintSops, int fShort, int fSelected );
198extern void Mio_WriteLibraryVerilog( FILE * pFile, Mio_Library_t * pLib, int fPrintSops, int fShort, int fSelected );
199extern Mio_Gate_t ** Mio_CollectRoots( Mio_Library_t * pLib, int nInputs, float tDelay, int fSkipInv, int * pnGates, int fVerbose );
200extern Mio_Cell_t * Mio_CollectRootsNew( Mio_Library_t * pLib, int nInputs, int * pnGates, int fVerbose );
201extern Mio_Cell_t * Mio_CollectRootsNewDefault( int nInputs, int * pnGates, int fVerbose );
202extern Mio_Cell2_t * Mio_CollectRootsNewDefault2( int nInputs, int * pnGates, int fVerbose );
203extern int Mio_CollectRootsNewDefault3( int nInputs, Vec_Ptr_t ** pvNames, Vec_Wrd_t ** pvTruths );
204extern word Mio_DeriveTruthTable6( Mio_Gate_t * pGate );
205extern void Mio_DeriveTruthTable( Mio_Gate_t * pGate, unsigned uTruthsIn[][2], int nSigns, int nInputs, unsigned uTruthRes[] );
206extern void Mio_DeriveGateDelays( Mio_Gate_t * pGate,
207 float ** ptPinDelays, int nPins, int nInputs, float tDelayZero,
208 float * ptDelaysRes, float * ptPinDelayMax );
209extern Mio_Gate_t * Mio_GateCreatePseudo( int nInputs );
210extern void Mio_LibraryShiftDelay( Mio_Library_t * pLib, double Shift );
211extern void Mio_LibraryMultiArea( Mio_Library_t * pLib, double Multi );
212extern void Mio_LibraryMultiDelay( Mio_Library_t * pLib, double Multi );
213extern void Mio_LibraryTransferDelays( Mio_Library_t * pLibD, Mio_Library_t * pLibS );
214extern void Mio_LibraryTransferCellIds();
215extern void Mio_LibraryReadProfile( FILE * pFile, Mio_Library_t * pLib );
216extern void Mio_LibraryWriteProfile( FILE * pFile, Mio_Library_t * pLib );
217extern void Mio_LibraryTransferProfile( Mio_Library_t * pLibDst, Mio_Library_t * pLibSrc );
218extern void Mio_LibraryTransferProfile2( Mio_Library_t * pLibDst, Mio_Library_t * pLibSrc );
219extern int Mio_LibraryHasProfile( Mio_Library_t * pLib );
220extern void Mio_LibraryCleanProfile2( Mio_Library_t * pLib );
221extern void Mio_LibraryShortNames( Mio_Library_t * pLib );
222
223extern void Mio_LibraryMatchesStop( Mio_Library_t * pLib );
224extern void Mio_LibraryMatchesStart( Mio_Library_t * pLib, int fPinFilter, int fPinPerm, int fPinQuick );
225extern void Mio_LibraryMatchesFetch( Mio_Library_t * pLib, Vec_Mem_t ** pvTtMem, Vec_Wec_t ** pvTt2Match, Mio_Cell2_t ** ppCells, int * pnCells, int fPinFilter, int fPinPerm, int fPinQuick );
226
227extern void Mio_LibraryMatches2Stop( Mio_Library_t * pLib );
228extern void Mio_LibraryMatches2Start( Mio_Library_t * pLib );
229extern void Mio_LibraryMatches2Fetch( Mio_Library_t * pLib, Vec_Ptr_t ** pvNames, Vec_Wrd_t ** pvTruths, Vec_Int_t ** pvTt2Match4, Vec_Int_t ** pvConfigs, Vec_Mem_t * pvTtMem2[3], Vec_Int_t * pvTt2Match2[3] );
230
231/*=== sclUtil.c =========================================================*/
232extern Mio_Library_t * Abc_SclDeriveGenlibSimple( void * pScl );
233extern Mio_Library_t * Abc_SclDeriveGenlib( void * pScl, void * pMio, float Slew, float Gain, int nGatesMin, int fVerbose );
234
236
237#endif
238
242
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Definition bblif.c:37
struct Vec_Str_t_ Vec_Str_t
Definition bblif.c:46
unsigned __int64 word
DECLARATIONS ///.
Definition kitPerm.c:36
Mio_Cell_t * Mio_CollectRootsNew(Mio_Library_t *pLib, int nInputs, int *pnGates, int fVerbose)
Definition mioUtils.c:623
Mio_Gate_t * Mio_LibraryReadAnd2(Mio_Library_t *pLib)
Definition mioApi.c:54
float Mio_LibraryReadDelayInvFall(Mio_Library_t *pLib)
Definition mioApi.c:58
Mio_Gate_t * Mio_LibraryReadGates(Mio_Library_t *pLib)
Definition mioApi.c:46
Mio_Pin_t * Mio_GateReadPins(Mio_Gate_t *pGate)
Definition mioApi.c:173
void Mio_WriteLibraryVerilog(FILE *pFile, Mio_Library_t *pLib, int fPrintSops, int fShort, int fSelected)
Definition mioUtils.c:357
float Mio_LibraryReadDelayInvMax(Mio_Library_t *pLib)
Definition mioApi.c:59
Mio_Gate_t * Mio_LibraryReadConst0(Mio_Library_t *pLib)
Definition mioApi.c:51
double Mio_PinReadDelayBlockFall(Mio_Pin_t *pPin)
Definition mioApi.c:214
Mio_Library_t * Abc_SclDeriveGenlibSimple(void *pScl)
Definition sclLibUtil.c:845
void Mio_GateSetProfile(Mio_Gate_t *pGate, int Prof)
Definition mioApi.c:189
int Mio_GateReadPinNum(Mio_Gate_t *pGate)
Definition mioApi.c:177
Vec_Wrd_t * Mio_ParseFormulaTruth(char *pFormInit, char **ppVarNames, int nVars)
Definition mioParse.c:396
float Mio_LibraryReadAreaBuf(Mio_Library_t *pLib)
Definition mioApi.c:66
Mio_Gate_t ** Mio_CollectRoots(Mio_Library_t *pLib, int nInputs, float tDelay, int fSkipInv, int *pnGates, int fVerbose)
Definition mioUtils.c:515
void Mio_LibraryReadProfile(FILE *pFile, Mio_Library_t *pLib)
Definition mioUtils.c:1523
Mio_Pin_t * Mio_PinDup(Mio_Pin_t *pPin)
Definition mioUtils.c:131
Mio_Library_t * Mio_GateReadLib(Mio_Gate_t *pGate)
Definition mioApi.c:174
void Mio_GateDecProfile2(Mio_Gate_t *pGate)
Definition mioApi.c:192
char * Mio_LibDeriveSop(int nVars, Vec_Int_t *vExpr, Vec_Str_t *vStr)
Definition mioSop.c:257
char * Mio_LibraryReadName(Mio_Library_t *pLib)
DECLARATIONS ///.
Definition mioApi.c:43
Mio_PinPhase_t
INCLUDES ///.
Definition mio.h:40
@ MIO_PHASE_INV
Definition mio.h:40
@ MIO_PHASE_NONINV
Definition mio.h:40
@ MIO_PHASE_UNKNOWN
Definition mio.h:40
void Mio_DeriveTruthTable(Mio_Gate_t *pGate, unsigned uTruthsIn[][2], int nSigns, int nInputs, unsigned uTruthRes[])
Definition mioUtils.c:1036
int Mio_ParseCheckFormula(Mio_Gate_t *pGate, char *pForm)
Definition mioParse.c:444
Mio_Cell_t * Mio_CollectRootsNewDefault(int nInputs, int *pnGates, int fVerbose)
Definition mioUtils.c:715
float Mio_LibraryReadDelayNand2Max(Mio_Library_t *pLib)
Definition mioApi.c:62
void Mio_LibraryShortNames(Mio_Library_t *pLib)
Definition mioUtils.c:1711
Mio_Gate_t * Mio_LibraryReadNor2(Mio_Library_t *pLib)
Definition mioApi.c:55
double Mio_PinReadDelayBlockMax(Mio_Pin_t *pPin)
Definition mioApi.c:216
double Mio_GateReadArea(Mio_Gate_t *pGate)
Definition mioApi.c:171
void Mio_LibraryShiftDelay(Mio_Library_t *pLib, double Shift)
Definition mioUtils.c:1230
struct Mio_LibraryStruct_t_ Mio_Library_t
Definition mio.h:42
Mio_PinPhase_t Mio_PinReadPhase(Mio_Pin_t *pPin)
Definition mioApi.c:209
char * Mio_GateReadSop(Mio_Gate_t *pGate)
Definition mioApi.c:179
void Mio_LibraryDelete(Mio_Library_t *pLib)
DECLARATIONS ///.
Definition mioUtils.c:51
char * Mio_LibraryReadSopByName(Mio_Library_t *pLib, char *pName)
Definition mioApi.c:150
Mio_Cell2_t * Mio_CollectRootsNewDefault2(int nInputs, int *pnGates, int fVerbose)
Definition mioUtils.c:877
int Mio_GateReadProfile(Mio_Gate_t *pGate)
Definition mioApi.c:185
float Mio_LibraryReadAreaInv(Mio_Library_t *pLib)
Definition mioApi.c:65
void Mio_LibraryCleanProfile2(Mio_Library_t *pLib)
Definition mioUtils.c:1616
Mio_Gate_t * Mio_GateReadTwin(Mio_Gate_t *pGate)
Definition mioApi.c:176
void Mio_DeriveGateDelays(Mio_Gate_t *pGate, float **ptPinDelays, int nPins, int nInputs, float tDelayZero, float *ptDelaysRes, float *ptPinDelayMax)
Definition mioUtils.c:1153
void Mio_LibraryTransferProfile(Mio_Library_t *pLibDst, Mio_Library_t *pLibSrc)
Definition mioUtils.c:1565
word Mio_GateReadTruth(Mio_Gate_t *pGate)
Definition mioApi.c:181
void Mio_WriteLibrary(FILE *pFile, Mio_Library_t *pLib, int fPrintSops, int fShort, int fSelected)
Definition mioUtils.c:262
float Mio_LibraryReadDelayNand2Rise(Mio_Library_t *pLib)
Definition mioApi.c:60
Vec_Int_t * Mio_GateReadExpr(Mio_Gate_t *pGate)
Definition mioApi.c:180
int Mio_LibraryHasProfile(Mio_Library_t *pLib)
Definition mioUtils.c:1555
void Mio_GateAddToProfile2(Mio_Gate_t *pGate, int Prof)
Definition mioApi.c:194
int Mio_GateIsInv(Mio_Gate_t *pGate)
Definition mioApi.c:195
double Mio_PinReadInputLoad(Mio_Pin_t *pPin)
Definition mioApi.c:210
Mio_Gate_t * Mio_LibraryReadGateByName(Mio_Library_t *pLib, char *pName, char *pOutName)
Definition mioApi.c:105
int Mio_UpdateGenlib2(Vec_Str_t *vStr, Vec_Str_t *vStr2, char *pFileName, int fVerbose)
Definition mio.c:260
int Mio_GateReadProfile2(Mio_Gate_t *pGate)
Definition mioApi.c:186
Mio_Gate_t ** Mio_LibraryReadGateArray(Mio_Library_t *pLib)
Definition mioApi.c:47
double Mio_PinReadMaxLoad(Mio_Pin_t *pPin)
Definition mioApi.c:211
Mio_Gate_t * Mio_LibraryReadGateByTruth(Mio_Library_t *pLib, word t)
Definition mioApi.c:130
void Mio_LibraryMatchesStop(Mio_Library_t *pLib)
Definition mioUtils.c:1759
char * Mio_GateReadPinName(Mio_Gate_t *pGate, int iPin)
Definition mioApi.c:230
Mio_Gate_t * Mio_GateReadNext(Mio_Gate_t *pGate)
Definition mioApi.c:175
struct Mio_Cell2_t_ Mio_Cell2_t
Definition mio.h:57
int Mio_GateReadValue(Mio_Gate_t *pGate)
Definition mioApi.c:183
void Mio_LibraryMatches2Start(Mio_Library_t *pLib)
Definition mioUtils.c:1821
void Mio_PinDelete(Mio_Pin_t *pPin)
Definition mioUtils.c:114
void Mio_LibraryMatches2Fetch(Mio_Library_t *pLib, Vec_Ptr_t **pvNames, Vec_Wrd_t **pvTruths, Vec_Int_t **pvTt2Match4, Vec_Int_t **pvConfigs, Vec_Mem_t *pvTtMem2[3], Vec_Int_t *pvTt2Match2[3])
Definition mioUtils.c:1830
struct Mio_Cell_t_ Mio_Cell_t
Definition mio.h:46
float Mio_LibraryReadAreaNand2(Mio_Library_t *pLib)
Definition mioApi.c:67
char * Mio_PinReadName(Mio_Pin_t *pPin)
Definition mioApi.c:208
void Mio_LibraryMultiDelay(Mio_Library_t *pLib, double Multi)
Definition mioUtils.c:1269
float Mio_GateReadPinDelay(Mio_Gate_t *pGate, int iPin)
Definition mioApi.c:239
void Mio_GateSetValue(Mio_Gate_t *pGate, int Value)
Definition mioApi.c:187
char * Mio_GateReadName(Mio_Gate_t *pGate)
Definition mioApi.c:169
Mio_Gate_t * Mio_LibraryReadNand2(Mio_Library_t *pLib)
Definition mioApi.c:53
Mio_Pin_t * Mio_PinReadNext(Mio_Pin_t *pPin)
Definition mioApi.c:217
float Mio_LibraryReadDelayInvRise(Mio_Library_t *pLib)
Definition mioApi.c:57
word Mio_DeriveTruthTable6(Mio_Gate_t *pGate)
Definition mioUtils.c:942
void Mio_LibraryTransferCellIds()
Definition mioUtils.c:1484
void Mio_LibraryMatches2Stop(Mio_Library_t *pLib)
Definition mioUtils.c:1805
Mio_Gate_t * Mio_LibraryReadConst1(Mio_Library_t *pLib)
Definition mioApi.c:52
int Mio_LibraryReadGateNameMax(Mio_Library_t *pLib)
Definition mioApi.c:81
double Mio_PinReadDelayFanoutRise(Mio_Pin_t *pPin)
Definition mioApi.c:213
void Mio_LibraryTransferDelays(Mio_Library_t *pLibD, Mio_Library_t *pLibS)
Definition mioUtils.c:1300
double Mio_PinReadDelayFanoutFall(Mio_Pin_t *pPin)
Definition mioApi.c:215
struct Mio_PinStruct_t_ Mio_Pin_t
Definition mio.h:44
char * Mio_GateReadOutName(Mio_Gate_t *pGate)
Definition mioApi.c:170
Mio_Gate_t * Mio_LibraryReadGateById(Mio_Library_t *pLib, int iD)
Definition mioApi.c:48
double Mio_PinReadDelayBlockRise(Mio_Pin_t *pPin)
Definition mioApi.c:212
void Mio_UpdateGenlib(Mio_Library_t *pLib)
FUNCTION DEFINITIONS ///.
Definition mio.c:243
int Mio_LibraryReadGateNum(Mio_Library_t *pLib)
Definition mioApi.c:45
char * Mio_LibraryReadFileName(Mio_Library_t *pLib)
Definition mioApi.c:44
char * Mio_ReadFile(char *FileName, int fAddEnd)
Definition mioRead.c:115
float Mio_LibraryReadDelayNand2Fall(Mio_Library_t *pLib)
Definition mioApi.c:61
void Mio_LibraryMatchesStart(Mio_Library_t *pLib, int fPinFilter, int fPinPerm, int fPinQuick)
Definition mioUtils.c:1768
Mio_Gate_t * Mio_LibraryReadInv(Mio_Library_t *pLib)
Definition mioApi.c:50
void Mio_GateDelete(Mio_Gate_t *pGate)
Definition mioUtils.c:87
void Mio_LibrarySetName(Mio_Library_t *pLib, char *pName)
Definition mioApi.c:68
Mio_Library_t * Mio_LibraryRead(char *FileName, char *pBuffer, char *ExcludeFile, int nFaninLimit, int fVerbose)
Definition mioRead.c:54
void Mio_GateIncProfile2(Mio_Gate_t *pGate)
Definition mioApi.c:191
float Mio_LibraryReadDelayAigNode(Mio_Library_t *pLib)
Definition mioApi.c:64
void Mio_GateAddToProfile(Mio_Gate_t *pGate, int Prof)
Definition mioApi.c:193
Mio_Library_t * Abc_SclDeriveGenlib(void *pScl, void *pMio, float Slew, float Gain, int nGatesMin, int fVerbose)
void Mio_GateSetCell(Mio_Gate_t *pGate, int Cell)
Definition mioApi.c:188
struct Mio_GateStruct_t_ Mio_Gate_t
Definition mio.h:43
void Mio_GateSetProfile2(Mio_Gate_t *pGate, int Prof)
Definition mioApi.c:190
int Mio_CollectRootsNewDefault3(int nInputs, Vec_Ptr_t **pvNames, Vec_Wrd_t **pvTruths)
Definition mioUtils.c:893
Mio_Gate_t * Mio_LibraryReadBuf(Mio_Library_t *pLib)
Definition mioApi.c:49
Mio_Gate_t * Mio_GateCreatePseudo(int nInputs)
Definition mioUtils.c:1199
float Mio_LibraryReadDelayAnd2Max(Mio_Library_t *pLib)
Definition mioApi.c:63
char * Mio_GateReadForm(Mio_Gate_t *pGate)
Definition mioApi.c:172
void Mio_LibraryWriteProfile(FILE *pFile, Mio_Library_t *pLib)
Definition mioUtils.c:1547
void Mio_LibraryMatchesFetch(Mio_Library_t *pLib, Vec_Mem_t **pvTtMem, Vec_Wec_t **pvTt2Match, Mio_Cell2_t **ppCells, int *pnCells, int fPinFilter, int fPinPerm, int fPinQuick)
Definition mioUtils.c:1785
Vec_Int_t * Mio_ParseFormula(char *pFormInit, char **ppVarNames, int nVars)
Definition mioParse.c:105
int Mio_GateReadCell(Mio_Gate_t *pGate)
Definition mioApi.c:184
int Mio_LibraryReadExclude(char *ExcludeFile, st__table *tExcludeGate)
Definition mioRead.c:699
word * Mio_GateReadTruthP(Mio_Gate_t *pGate)
Definition mioApi.c:182
Mio_Gate_t * Mio_LibraryReadOr2(Mio_Library_t *pLib)
Definition mioApi.c:56
int Mio_LibraryParseFormulas(Mio_Library_t *pLib)
FUNCTION DEFINITIONS ///.
Definition mioForm.c:58
void Mio_LibraryMultiArea(Mio_Library_t *pLib, double Multi)
Definition mioUtils.c:1257
double Mio_GateReadDelayMax(Mio_Gate_t *pGate)
Definition mioApi.c:178
void Mio_LibraryTransferProfile2(Mio_Library_t *pLibDst, Mio_Library_t *pLibSrc)
Definition mioUtils.c:1590
unsigned Type
Definition mio.h:63
float AreaF
Definition mio.h:65
word uTruth
Definition mio.h:67
int iDelayAve
Definition mio.h:68
void * pMioGate
Definition mio.h:70
word AreaW
Definition mio.h:66
char * pName
Definition mio.h:60
unsigned Id
Definition mio.h:62
Vec_Int_t * vExpr
Definition mio.h:61
unsigned nFanins
Definition mio.h:64
int iDelays[6]
Definition mio.h:69
unsigned nFanins
Definition mio.h:51
float Area
Definition mio.h:52
unsigned Id
Definition mio.h:50
float Delays[6]
Definition mio.h:54
word uTruth
Definition mio.h:53
char * pName
Definition mio.h:49
STRUCTURE DEFINITIONS ///.
Definition mioInt.h:62
Definition st.h:52
typedefABC_NAMESPACE_IMPL_START struct Vec_Mem_t_ Vec_Mem_t
DECLARATIONS ///.
Definition utilMem.c:35
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
Definition vecPtr.h:42
typedefABC_NAMESPACE_HEADER_START struct Vec_Wec_t_ Vec_Wec_t
INCLUDES ///.
Definition vecWec.h:42
typedefABC_NAMESPACE_HEADER_START struct Vec_Wrd_t_ Vec_Wrd_t
INCLUDES ///.
Definition vecWrd.h:42