34 static void Io_NtkWrite( FILE * pFile,
Abc_Ntk_t * pNtk,
int fWriteLatches,
int fBb2Wb,
int fSeq );
64 if ( pNtkTemp == NULL )
66 fprintf( stdout,
"Writing BLIF has failed.\n" );
91 pFile = fopen( FileName,
"w" );
94 fprintf( stdout,
"Io_WriteBlif(): Cannot open the output file.\n" );
99 Io_NtkWrite( pFile, pNtk, fWriteLatches, fBb2Wb, fSeq );
107 if ( pNtkTemp == pNtk )
109 fprintf( pFile,
"\n\n" );
110 Io_NtkWrite( pFile, pNtkTemp, fWriteLatches, fBb2Wb, fSeq );
132 fprintf( pFile,
".model %s\n",
Abc_NtkName(pNtk) );
139 fprintf( pFile,
"\n" );
140 fprintf( pFile,
".exdc\n" );
144 fprintf( pFile,
".end\n" );
164 fprintf( pFile,
".attrib white box seq\n" );
168 fprintf( pFile,
".attrib white box comb\n" );
169 fprintf( pFile,
".delay 1\n" );
174 fprintf( pFile,
".names" );
181 fprintf( pFile,
"1" );
182 fprintf( pFile,
" 1\n" );
206 fprintf( pFile,
".inputs" );
208 fprintf( pFile,
"\n" );
211 fprintf( pFile,
".outputs" );
213 fprintf( pFile,
"\n" );
221 fprintf( pFile,
".blackbox\n" );
231 fprintf( pFile,
"\n" );
234 fprintf( pFile,
"\n" );
241 fprintf( pFile,
"\n" );
244 fprintf( pFile,
"\n" );
247 fprintf( pFile,
"\n" );
294 fprintf( pFile,
" \\\n" );
300 LineLength += AddedLength;
313 fprintf( pFile,
" \\\n" );
319 LineLength += AddedLength;
356 fprintf( pFile,
" \\\n" );
362 LineLength += AddedLength;
375 fprintf( pFile,
" \\\n" );
381 LineLength += AddedLength;
405 fprintf( pFile,
".subckt %s",
Abc_NtkName(pModel) );
419 fprintf( pFile,
"\n" );
441 fprintf( pFile,
".latch" );
444 fprintf( pFile,
" %d\n", Reset-1 );
475 AddedLength =
strlen(pName) + 1;
478 fprintf( pFile,
" \\\n" );
483 fprintf( pFile,
" %s", pName );
484 LineLength += AddedLength;
491 AddedLength =
strlen(pName) + 1;
492 if ( NameCounter && LineLength + AddedLength > 75 )
494 fprintf( pFile,
" \\\n" );
499 fprintf( pFile,
" %s", pName );
528 AddedLength =
strlen(pName) + 1;
529 fprintf( pFile,
" m%d",
Abc_ObjId(pNode) );
537 AddedLength =
strlen(pName) + 3;
540 fprintf( pFile,
" \\\n" );
545 fprintf( pFile,
" %c=%s",
'a'+i, pName );
546 LineLength += AddedLength;
553 AddedLength =
strlen(pName) + 3;
554 if ( NameCounter && LineLength + AddedLength > 75 )
556 fprintf( pFile,
" \\\n" );
561 fprintf( pFile,
" %c=%s",
'o', pName );
578 static int fReport = 0;
591 if ( pNode2 == NULL )
594 fReport = 1, printf(
"Warning: Missing second output of gate(s) \"%s\".\n",
Mio_GateReadName(pGate) );
618 fprintf( pFile,
".gate" );
620 fprintf( pFile,
"\n" );
625 fprintf( pFile,
".names" );
627 fprintf( pFile,
"\n" );
648 fprintf( pFile,
".subckt" );
650 fprintf( pFile,
"\n" );
674 fprintf( pFile,
"\n" );
677 fprintf( pFile,
".and_gate_delay %g\n", pNtk->
AndGateDelay );
680 if ( pTimeDef->
Rise != 0.0 || pTimeDef->
Fall != 0.0 )
681 fprintf( pFile,
".default_input_arrival %g %g\n", pTimeDef->
Rise, pTimeDef->
Fall );
692 fprintf( pFile,
".default_output_required %g %g\n", pTimeDef->
Rise, pTimeDef->
Fall );
701 fprintf( pFile,
"\n" );
704 if ( pTimeDef->
Rise != 0.0 || pTimeDef->
Fall != 0.0 )
705 fprintf( pFile,
".default_input_drive %g %g\n", pTimeDef->
Rise, pTimeDef->
Fall );
716 if ( pTimeDef->
Rise != 0.0 || pTimeDef->
Fall != 0.0 )
717 fprintf( pFile,
".default_output_load %g %g\n", pTimeDef->
Rise, pTimeDef->
Fall );
727 fprintf( pFile,
"\n" );
747 pFile = fopen( pFileNameIn,
"rb" );
750 printf(
"Input file \"%s\" cannot be opened.\n", pFileNameIn );
755 pFile = fopen( pFileNameOut,
"wb" );
758 printf(
"Output file \"%s\" cannot be opened.\n", pFileNameOut );
764 if ( pNetlist == NULL )
766 printf(
"Reading input file \"%s\" has failed.\n", pFileNameIn );
792 int RetValue =
Kit_TruthIsop( (
unsigned *)&uTruth, nVars, vCover, 1 );
793 assert( RetValue == 0 || RetValue == 1 );
797 char * pStr0 =
" 0\n", * pStr1 =
" 1\n";
829 fprintf( pFile,
"\n" );
833 fprintf( pFile,
".names" );
851 word z, uTruth6 = 0, uTruth7[2], Cofs6[2], Cofs7[2][2];
852 int c, iVar, nVarsMin[2], pVars[2][10];
856 pVars[0][i] = pVars[1][i] = i;
883 assert( nVarsMin[0] < 5 );
884 assert( nVarsMin[1] < 5 );
886 fprintf( pFile,
".names" );
891 fprintf( pFile,
"1-1 1\n01- 1\n" );
893 for ( c = 0; c < 2; c++ )
896 (
word)(nVars == 7 ? Cofs7[c][0] : Cofs6[c]), nVarsMin[c], vCover );
897 fprintf( pFile,
".names" );
898 for ( i = 0; i < nVarsMin[c]; i++ )
901 fprintf( pFile,
"%s", pSop );
905 assert( nVars == 6 || nVars == 7 );
925 for ( c = 1; c >= 0; c-- )
928 uTruth7[c] = ((c ? z >> 32 : z) & 0xffff);
929 uTruth7[c] |= (uTruth7[c] << 16);
930 uTruth7[c] |= (uTruth7[c] << 32);
931 for ( i = 0; i < 4; i++ )
932 pVars[c][i] = (z >> (c*32+16+4*i)) & 7;
938 fprintf( pFile,
".names" );
939 for ( i = 0; i < nVarsMin[c]; i++ )
940 if ( pVars[c][i] == 7 )
948 (
word)Cofs6[c], nVarsMin[c], vCover );
949 fprintf( pFile,
"%s", pSop );
969 int i, nLutLeaf, nLutLeaf2, nLutRoot, Length;
973 if ( Length != 2 && Length != 3 )
975 printf(
"Wrong LUT struct (%s)\n", pStr );
978 for ( i = 0; i < Length; i++ )
979 if ( pStr[i] -
'0' < 3 || pStr[i] -
'0' > 6 )
981 printf(
"The LUT size (%d) should belong to {3,4,5,6}.\n", pStr[i] -
'0' );
985 nLutLeaf = pStr[0] -
'0';
986 nLutLeaf2 = ( Length == 3 ) ? pStr[1] -
'0' : 0;
987 nLutRoot = pStr[Length-1] -
'0';
988 if ( nLeaves > nLutLeaf - 1 + (nLutLeaf2 ? nLutLeaf2 - 1 : 0) + nLutRoot )
990 printf(
"The node size (%d) is too large for the LUT structure %s.\n", nLeaves, pStr );
995 fprintf( pFile,
"\n" );
999 fprintf( pFile,
".names" );
1005 fprintf( pFile,
"%s", (
char*)
Abc_ObjData(pNode) );
1012 static word TruthStore[16][1<<10] = {{0}}, *
pTruths[16];
1013 word pCube[1<<10], pRes[1<<10], Func0, Func1, Func2;
1014 char pLut0[32], pLut1[32], pLut2[32] = {0}, * pSop;
1017 if ( TruthStore[0][0] == 0 )
1028 int nWordsMax = (1 << 10);
1030 assert( nVarsMax <= 16 );
1031 for ( i = 0; i < nVarsMax; i++ )
1033 for ( i = 0; i < 6; i++ )
1034 for ( k = 0; k < nWordsMax; k++ )
1036 for ( i = 6; i < nVarsMax; i++ )
1037 for ( k = 0; k < nWordsMax; k++ )
1038 pTruths[i][k] = ((k >> (i-6)) & 1) ? ~(
word)0 : 0;
1059 if ( !
If_CluCheckExt( NULL, pRes, nLeaves, nLutLeaf, nLutRoot, pLut0, pLut1, &Func0, &Func1 ) )
1061 Extra_PrintHex( stdout, (
unsigned *)pRes, nLeaves ); printf(
" " );
1069 if ( !
If_CluCheckExt3( NULL, pRes, nLeaves, nLutLeaf, nLutLeaf2, nLutRoot, pLut0, pLut1, pLut2, &Func0, &Func1, &Func2 ) )
1071 Extra_PrintHex( stdout, (
unsigned *)pRes, nLeaves ); printf(
" " );
1079 fprintf( pFile,
".names" );
1080 for ( i = 0; i < pLut1[0]; i++ )
1085 fprintf( pFile,
"%s", pSop );
1087 if ( Length == 3 && pLut2[0] > 0 )
1090 fprintf( pFile,
".names" );
1091 for ( i = 0; i < pLut2[0]; i++ )
1092 if ( pLut2[2+i] == nLeaves )
1099 fprintf( pFile,
"%s", pSop );
1103 fprintf( pFile,
".names" );
1104 for ( i = 0; i < pLut0[0]; i++ )
1105 if ( pLut0[2+i] == nLeaves )
1107 else if ( pLut0[2+i] == nLeaves+1 )
1114 fprintf( pFile,
"%s", pSop );
1133 int i, nLutLeaf, nLutLeaf2, nLutRoot, Length;
1136 fprintf( pFile,
"\n" );
1137 fprintf( pFile,
".model m%d\n",
Abc_ObjId(pNode) );
1138 fprintf( pFile,
".inputs" );
1140 fprintf( pFile,
" %c",
'a' + i );
1141 fprintf( pFile,
"\n" );
1142 fprintf( pFile,
".outputs o\n" );
1146 if ( Length != 2 && Length != 3 )
1148 printf(
"Wrong LUT struct (%s)\n", pStr );
1151 for ( i = 0; i < Length; i++ )
1152 if ( pStr[i] -
'0' < 3 || pStr[i] -
'0' > 6 )
1154 printf(
"The LUT size (%d) should belong to {3,4,5,6}.\n", pStr[i] -
'0' );
1158 nLutLeaf = pStr[0] -
'0';
1159 nLutLeaf2 = ( Length == 3 ) ? pStr[1] -
'0' : 0;
1160 nLutRoot = pStr[Length-1] -
'0';
1161 if ( nLeaves > nLutLeaf - 1 + (nLutLeaf2 ? nLutLeaf2 - 1 : 0) + nLutRoot )
1163 printf(
"The node size (%d) is too large for the LUT structure %s.\n", nLeaves, pStr );
1171 fprintf( pFile,
".names" );
1173 fprintf( pFile,
" %c",
'a' + i );
1175 fprintf( pFile,
" %s\n",
"o" );
1177 fprintf( pFile,
"%s", (
char*)
Abc_ObjData(pNode) );
1178 fprintf( pFile,
".end\n" );
1185 static word TruthStore[16][1<<10] = {{0}}, *
pTruths[16];
1186 word pCube[1<<10], pRes[1<<10], Func0, Func1, Func2;
1187 char pLut0[32], pLut1[32], pLut2[32] = {0}, * pSop;
1190 if ( TruthStore[0][0] == 0 )
1201 int nWordsMax = (1 << 10);
1203 assert( nVarsMax <= 16 );
1204 for ( i = 0; i < nVarsMax; i++ )
1206 for ( i = 0; i < 6; i++ )
1207 for ( k = 0; k < nWordsMax; k++ )
1209 for ( i = 6; i < nVarsMax; i++ )
1210 for ( k = 0; k < nWordsMax; k++ )
1211 pTruths[i][k] = ((k >> (i-6)) & 1) ? ~(
word)0 : 0;
1222 fprintf( pFile,
".names %s\n %d\n",
"o",
Kit_TruthIsConst1((
unsigned *)pRes, nLeaves) );
1223 fprintf( pFile,
".end\n" );
1233 if ( !
If_CluCheckExt( NULL, pRes, nLeaves, nLutLeaf, nLutRoot, pLut0, pLut1, &Func0, &Func1 ) )
1235 Extra_PrintHex( stdout, (
unsigned *)pRes, nLeaves ); printf(
" " );
1243 if ( !
If_CluCheckExt3( NULL, pRes, nLeaves, nLutLeaf, nLutLeaf2, nLutRoot, pLut0, pLut1, pLut2, &Func0, &Func1, &Func2 ) )
1245 Extra_PrintHex( stdout, (
unsigned *)pRes, nLeaves ); printf(
" " );
1253 fprintf( pFile,
".names" );
1254 for ( i = 0; i < pLut1[0]; i++ )
1255 fprintf( pFile,
" %c",
'a' + pLut1[2+i] );
1256 fprintf( pFile,
" lut1\n" );
1259 fprintf( pFile,
"%s", pSop );
1261 if ( Length == 3 && pLut2[0] > 0 )
1264 fprintf( pFile,
".names" );
1265 for ( i = 0; i < pLut2[0]; i++ )
1266 if ( pLut2[2+i] == nLeaves )
1267 fprintf( pFile,
" lut1" );
1269 fprintf( pFile,
" %c",
'a' + pLut2[2+i] );
1270 fprintf( pFile,
" lut2\n" );
1273 fprintf( pFile,
"%s", pSop );
1277 fprintf( pFile,
".names" );
1278 for ( i = 0; i < pLut0[0]; i++ )
1279 if ( pLut0[2+i] == nLeaves )
1280 fprintf( pFile,
" lut1" );
1281 else if ( pLut0[2+i] == nLeaves+1 )
1282 fprintf( pFile,
" lut2" );
1284 fprintf( pFile,
" %c",
'a' + pLut0[2+i] );
1285 fprintf( pFile,
" %s\n",
"o" );
1288 fprintf( pFile,
"%s", pSop );
1289 fprintf( pFile,
".end\n" );
1313 pFile = fopen( FileName,
"w" );
1314 if ( pFile == NULL )
1316 fprintf( stdout,
"Io_WriteBlifInt(): Cannot open the output file.\n" );
1321 fprintf( pFile,
".model %s\n",
Abc_NtkName(pNtk) );
1323 fprintf( pFile,
".inputs" );
1325 fprintf( pFile,
"\n" );
1327 fprintf( pFile,
".outputs" );
1329 fprintf( pFile,
"\n" );
1332 fprintf( pFile,
"\n" );
1336 fprintf( pFile,
"\n" );
1342 fprintf( pFile,
"\n" );
1345 fprintf( pFile,
".end\n\n" );
1349 fprintf( pFile,
"\n" );
1361 fprintf( pFile,
".end\n\n" );
1385 if ( pNtkTemp == NULL )
1387 fprintf( stdout,
"Writing BLIF has failed.\n" );
1390 if ( pLutStruct && fUseHie )
static ABC_NAMESPACE_IMPL_START int pTruths[13719]
DECLARATIONS ///.
static unsigned Abc_ObjId(Abc_Obj_t *pObj)
static void Io_NtkWriteNodeFanins(FILE *pFile, Abc_Obj_t *pNode)
int If_CluCheckExt(void *p, word *pTruth, int nVars, int nLutLeaf, int nLutRoot, char *pLut0, char *pLut1, word *pFunc0, word *pFunc1)
static int Abc_NtkIsLogic(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Time_t * Abc_NtkReadDefaultArrival(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
static int Abc_NtkIsComb(Abc_Ntk_t *pNtk)
void Io_NtkWriteNodeIntStruct(FILE *pFile, Abc_Obj_t *pNode, Vec_Int_t *vCover, char *pStr)
int If_CluCheckExt3(void *p, word *pTruth, int nVars, int nLutLeaf, int nLutLeaf2, int nLutRoot, char *pLut0, char *pLut1, char *pLut2, word *pFunc0, word *pFunc1, word *pFunc2)
static int Io_NtkWriteNode(FILE *pFile, Abc_Obj_t *pNode, int Length)
void Io_WriteTimingInfo(FILE *pFile, Abc_Ntk_t *pNtk)
static int Abc_NtkObjNumMax(Abc_Ntk_t *pNtk)
static Abc_Ntk_t * Abc_NtkExdc(Abc_Ntk_t *pNtk)
static ABC_NAMESPACE_IMPL_START void Io_NtkWrite(FILE *pFile, Abc_Ntk_t *pNtk, int fWriteLatches, int fBb2Wb, int fSeq)
DECLARATIONS ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Abc_NtkIsNetlist(Abc_Ntk_t *pNtk)
Mio_Pin_t * Mio_GateReadPins(Mio_Gate_t *pGate)
word If_Dec7Perform(word t0[2], int fDerive)
void Io_WriteBlif(Abc_Ntk_t *pNtk, char *FileName, int fWriteLatches, int fBb2Wb, int fSeq)
int If_Dec6PickBestMux(word t, word Cofs[2])
ABC_DLL void Abc_SopToTruthBig(char *pSop, int nInputs, word **pVars, word *pCube, word *pRes)
void Io_NtkWriteNodeInt(FILE *pFile, Abc_Obj_t *pNode, Vec_Int_t *vCover)
#define Abc_NtkForEachWhitebox(pNtk, pObj, i)
ABC_DLL Abc_Time_t * Abc_NtkReadDefaultRequired(Abc_Ntk_t *pNtk)
void Io_NtkWriteConvertedBox(FILE *pFile, Abc_Ntk_t *pNtk, int fSeq)
Abc_Ntk_t * Io_ReadNetlist(char *pFileName, Io_FileType_t FileType, int fCheck)
static int Abc_ObjFaninNum(Abc_Obj_t *pObj)
static int Abc_NtkHasMapping(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_SopCreateFromIsop(Mem_Flex_t *pMan, int nVars, Vec_Int_t *vCover)
char * Mio_GateReadOutName(Mio_Gate_t *pGate)
static int Abc_NtkLatchNum(Abc_Ntk_t *pNtk)
char * Mio_PinReadName(Mio_Pin_t *pPin)
ABC_DLL Abc_Ntk_t * Abc_NtkToNetlist(Abc_Ntk_t *pNtk)
#define Abc_NtkForEachCo(pNtk, pCo, i)
static int Kit_TruthIsConst0(unsigned *pIn, int nVars)
void Kit_DsdPrintFromTruth(unsigned *pTruth, int nVars)
ABC_DLL Abc_Time_t * Abc_NodeReadRequired(Abc_Obj_t *pNode)
static int Abc_NtkWhiteboxNum(Abc_Ntk_t *pNtk)
static int Abc_MaxInt(int a, int b)
Mio_Pin_t * Mio_PinReadNext(Mio_Pin_t *pPin)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
static void Io_NtkWriteOne(FILE *pFile, Abc_Ntk_t *pNtk, int fWriteLatches, int fBb2Wb, int fSeq)
ABC_DLL void Abc_NtkDelete(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Time_t * Abc_NodeReadArrival(Abc_Obj_t *pNode)
void Io_WriteBlifLogic(Abc_Ntk_t *pNtk, char *FileName, int fWriteLatches)
FUNCTION DEFINITIONS ///.
Io_FileType_t Io_ReadFileType(char *pFileName)
DECLARATIONS ///.
static void Io_NtkWritePis(FILE *pFile, Abc_Ntk_t *pNtk, int fWriteLatches)
static int Kit_TruthIsConst1(unsigned *pIn, int nVars)
int If_CluMinimumBase(word *t, int *pSupp, int nVarsAll, int *pnVars)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static int Abc_NtkHasBlackbox(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkToSop(Abc_Ntk_t *pNtk, int fDirect)
int Kit_TruthIsop(unsigned *puTruth, int nVars, Vec_Int_t *vMemory, int fTryBoth)
FUNCTION DEFINITIONS ///.
#define IO_WRITE_LINE_LENGTH
MACRO DEFINITIONS ///.
static int Vec_IntEntry(Vec_Int_t *p, int i)
word If_Dec6MinimumBase(word uTruth, int *pSupp, int nVarsAll, int *pnVars)
unsigned __int64 word
DECLARATIONS ///.
static void Io_NtkWriteAsserts(FILE *pFile, Abc_Ntk_t *pNtk)
#define Abc_NtkForEachBlackbox(pNtk, pObj, i)
#define ABC_NAMESPACE_IMPL_END
static void Io_NtkWritePos(FILE *pFile, Abc_Ntk_t *pNtk, int fWriteLatches)
STRUCTURE DEFINITIONS ///.
#define Abc_NtkForEachLatch(pNtk, pObj, i)
void Io_WriteBlifInt(Abc_Ntk_t *pNtk, char *FileName, char *pLutStruct, int fUseHie)
static void Io_NtkWriteSubckt(FILE *pFile, Abc_Obj_t *pNode)
void Io_WriteBlifSpecial(Abc_Ntk_t *pNtk, char *FileName, char *pLutStruct, int fUseHie)
void Io_NtkWriteModelIntStruct(FILE *pFile, Abc_Obj_t *pNode, Vec_Int_t *vCover, char *pStr)
ABC_DLL Abc_Time_t * Abc_NtkReadDefaultInputDrive(Abc_Ntk_t *pNtk)
#define Abc_NtkForEachNode(pNtk, pNode, i)
#define ABC_NAMESPACE_IMPL_START
char * Io_NtkDeriveSop(Mem_Flex_t *pMem, word uTruth, int nVars, Vec_Int_t *vCover)
int Io_NtkWriteNodeSubckt(FILE *pFile, Abc_Obj_t *pNode, int Length)
Mio_Gate_t * Mio_GateReadTwin(Mio_Gate_t *pGate)
void Io_NtkWriteSubcktFanins(FILE *pFile, Abc_Obj_t *pNode)
static int Vec_IntSize(Vec_Int_t *p)
ABC_DLL void Abc_SopComplement(char *pSop)
static char * Abc_NtkName(Abc_Ntk_t *pNtk)
#define Abc_NtkForEachCi(pNtk, pCi, i)
#define Abc_ObjForEachFanin(pObj, pFanin, i)
static void Io_NtkWriteLatch(FILE *pFile, Abc_Obj_t *pLatch)
#define ABC_CONST(number)
PARAMETERS ///.
static int Abc_NtkPiNum(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
int If_Dec7PickBestMux(word t[2], word c0r[2], word c1r[2])
ABC_DLL Abc_Obj_t * Abc_NtkFetchTwinNode(Abc_Obj_t *pNode)
ABC_DLL word Abc_SopToTruth(char *pSop, int nInputs)
#define ABC_INFINITY
MACRO DEFINITIONS ///.
ABC_DLL void Abc_SopToTruth7(char *pSop, int nInputs, word r[2])
word If_Dec6Perform(word t, int fDerive)
static void * Abc_ObjData(Abc_Obj_t *pObj)
int Mio_LibraryReadGateNameMax(Mio_Library_t *pLib)
static Abc_Ntk_t * Abc_ObjNtk(Abc_Obj_t *pObj)
ABC_DLL Abc_Time_t * Abc_NtkReadDefaultOutputLoad(Abc_Ntk_t *pNtk)
int Io_NtkWriteNodeGate(FILE *pFile, Abc_Obj_t *pNode, int Length)
#define Abc_NtkForEachPo(pNtk, pPo, i)
static int Abc_NtkBlackboxNum(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjFanout(Abc_Obj_t *pObj, int i)
static Abc_Obj_t * Abc_ObjFanin(Abc_Obj_t *pObj, int i)
static void Vec_IntFree(Vec_Int_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
ABC_DLL Abc_Time_t * Abc_NodeReadInputDrive(Abc_Ntk_t *pNtk, int iPi)
void If_Dec7MinimumBase(word uTruth[2], int *pSupp, int nVarsAll, int *pnVars)
char * Mio_GateReadName(Mio_Gate_t *pGate)
void Abc_NtkConvertBb2Wb(char *pFileNameIn, char *pFileNameOut, int fSeq, int fVerbose)
static Abc_Obj_t * Abc_ObjFanout0(Abc_Obj_t *pObj)
#define Abc_NtkForEachPi(pNtk, pPi, i)
ABC_DLL Abc_Time_t * Abc_NodeReadOutputLoad(Abc_Ntk_t *pNtk, int iPo)