84static void Io_WriteListEdge( FILE * pFile,
Abc_Obj_t * pObj );
85static void Io_WriteListHost( FILE * pFile,
Abc_Ntk_t * pNtk );
111 pFile = fopen( pFileName,
"w" );
114 fprintf( stdout,
"Io_WriteList(): Cannot open the output file \"%s\".\n", pFileName );
118 fprintf( pFile,
"# Adjacency list for sequential AIG \"%s\"\n", pNtk->
pName );
127 Io_WriteListEdge( pFile, pObj );
131 Io_WriteListEdge( pFile, pObj );
135 Io_WriteListHost( pFile, pNtk );
138 Io_WriteListEdge( pFile, pObj );
140 fprintf( pFile,
"\n" );
155void Io_WriteListEdge( FILE * pFile,
Abc_Obj_t * pObj )
165 fprintf( pFile,
"%s] = %d)",
Abc_ObjName(pFanout), 0 );
166 if ( i != Abc_ObjFanoutNum(pObj) - 1 )
167 fprintf( pFile,
"," );
169 fprintf( pFile,
"." );
170 fprintf( pFile,
"\n" );
184void Io_WriteListHost( FILE * pFile,
Abc_Ntk_t * pNtk )
192 fprintf( pFile,
" %s ([%s_to_%s] = %d)",
"HOST",
Abc_ObjName(pObj),
"HOST", 0 );
193 fprintf( pFile,
"." );
194 fprintf( pFile,
"\n" );
197 fprintf( pFile,
"%-10s > ",
"HOST" );
201 fprintf( pFile,
" ([%s_to_%s] = %d)",
"HOST",
Abc_ObjName(pObj), 0 );
202 if ( i != Abc_NtkPiNum(pNtk) - 1 )
203 fprintf( pFile,
"," );
205 fprintf( pFile,
"." );
206 fprintf( pFile,
"\n" );
227 assert( Abc_NtkIsLogic(pNtk) );
230 pFile = fopen( pFileName,
"w" );
233 fprintf( stdout,
"Io_WriteCellNet(): Cannot open the output file \"%s\".\n", pFileName );
237 fprintf( pFile,
"# CellNet file for network \"%s\" written by ABC on %s\n", pNtk->
pName,
Extra_TimeStamp() );
246 fprintf( pFile,
"cell %d is 0\n", pObj->
Id );
249 fprintf( pFile,
"cell %d is 1\n", pObj->
Id );
252 fprintf( pFile,
"cell %d is 2\n", Abc_ObjFanin0(pObj)->Id );
255 fprintf( pFile,
"cell %d is %d\n", pObj->
Id, 3+Abc_ObjFaninNum(pObj) );
260 fprintf( pFile,
"net %d %d 0", pObj->
Id, pObj->
Id );
263 fprintf( pFile,
"\n" );
268 fprintf( pFile,
"net %d %d 0", Abc_ObjFanin0(pObj)->Id, Abc_ObjFanin0(pObj)->Id );
269 pObj = Abc_ObjFanout0(pObj);
272 fprintf( pFile,
"\n" );
277 fprintf( pFile,
"net %d %d 0", pObj->
Id, pObj->
Id );
280 fprintf( pFile,
"\n" );
283 fprintf( pFile,
"\n" );
struct Abc_Obj_t_ Abc_Obj_t
#define Abc_AigForEachAnd(pNtk, pNode, i)
#define Abc_NtkForEachPo(pNtk, pPo, i)
#define Abc_NtkForEachLatch(pNtk, pObj, i)
#define Abc_ObjForEachFanout(pObj, pFanout, i)
ABC_DLL int Abc_ObjFanoutFaninNum(Abc_Obj_t *pFanout, Abc_Obj_t *pFanin)
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
struct Abc_Ntk_t_ Abc_Ntk_t
#define Abc_NtkForEachPi(pNtk, pPi, i)
ABC_DLL Abc_Obj_t * Abc_AigConst1(Abc_Ntk_t *pNtk)
#define Abc_NtkForEachNode(pNtk, pNode, i)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void Io_WriteCellNet(Abc_Ntk_t *pNtk, char *pFileName)
void Io_WriteList(Abc_Ntk_t *pNtk, char *pFileName, int fUseHost)
FUNCTION DEFINITIONS ///.