Commit eec94a70 by Alan Mishchenko

Adding API to return the mapped network.

parent d61bedc6
...@@ -53,6 +53,10 @@ extern int Cmd_CommandExecute( void * pAbc, char * pCommandLine ); ...@@ -53,6 +53,10 @@ extern int Cmd_CommandExecute( void * pAbc, char * pCommandLine );
extern void Abc_NtkInputMiniAig( void * pAbc, void * pMiniAig ); extern void Abc_NtkInputMiniAig( void * pAbc, void * pMiniAig );
extern void * Abc_NtkOutputMiniAig( void * pAbc ); extern void * Abc_NtkOutputMiniAig( void * pAbc );
// procedures to return the mapped network
extern int * Abc_NtkOutputMiniMapping( Abc_Frame_t * pAbc );
extern void Abc_NtkPrintMiniMapping( int * pArray );
// procedures to access verifization status and a counter-example // procedures to access verifization status and a counter-example
extern int Abc_FrameReadProbStatus( void * pAbc ); extern int Abc_FrameReadProbStatus( void * pAbc );
extern void * Abc_FrameReadCex( void * pAbc ); extern void * Abc_FrameReadCex( void * pAbc );
......
...@@ -792,8 +792,8 @@ Vec_Int_t * Abc_NtkWriteMiniMapping( Abc_Ntk_t * pNtk ) ...@@ -792,8 +792,8 @@ Vec_Int_t * Abc_NtkWriteMiniMapping( Abc_Ntk_t * pNtk )
pObj->iTemp = nNodes++; pObj->iTemp = nNodes++;
Vec_PtrForEachEntry( Abc_Obj_t *, vNodes, pObj, i ) Vec_PtrForEachEntry( Abc_Obj_t *, vNodes, pObj, i )
pObj->iTemp = nNodes++, nFanins += Abc_ObjFaninNum(pObj); pObj->iTemp = nNodes++, nFanins += Abc_ObjFaninNum(pObj);
// allocate attay to store mapping (4 counters + N entries // allocate attay to store mapping (4 counters + fanins for each node + PO drivers + gate names)
vMapping = Vec_IntAlloc( 4 + Abc_NtkNodeNum(pNtk) + nFanins + Abc_NtkCoNum(pNtk) ); vMapping = Vec_IntAlloc( 4 + Abc_NtkNodeNum(pNtk) + nFanins + Abc_NtkCoNum(pNtk) + 10000 );
// write the numbers of CI/CO/Node/FF // write the numbers of CI/CO/Node/FF
Vec_IntPush( vMapping, Abc_NtkCiNum(pNtk) ); Vec_IntPush( vMapping, Abc_NtkCiNum(pNtk) );
Vec_IntPush( vMapping, Abc_NtkCoNum(pNtk) ); Vec_IntPush( vMapping, Abc_NtkCoNum(pNtk) );
...@@ -806,6 +806,7 @@ Vec_Int_t * Abc_NtkWriteMiniMapping( Abc_Ntk_t * pNtk ) ...@@ -806,6 +806,7 @@ Vec_Int_t * Abc_NtkWriteMiniMapping( Abc_Ntk_t * pNtk )
Vec_IntPush( vMapping, Abc_ObjFaninNum(pObj) ); Vec_IntPush( vMapping, Abc_ObjFaninNum(pObj) );
Abc_ObjForEachFanin( pObj, pFanin, k ) Abc_ObjForEachFanin( pObj, pFanin, k )
Vec_IntPush( vMapping, pFanin->iTemp ); Vec_IntPush( vMapping, pFanin->iTemp );
// remember this gate (to be added to the mapping later)
Vec_StrPrintStr( vGates, Mio_GateReadName((Mio_Gate_t *)pObj->pData) ); Vec_StrPrintStr( vGates, Mio_GateReadName((Mio_Gate_t *)pObj->pData) );
Vec_StrPush( vGates, '\0' ); Vec_StrPush( vGates, '\0' );
} }
...@@ -904,7 +905,7 @@ int * Abc_NtkOutputMiniMapping( Abc_Frame_t * pAbc ) ...@@ -904,7 +905,7 @@ int * Abc_NtkOutputMiniMapping( Abc_Frame_t * pAbc )
/**Function************************************************************* /**Function*************************************************************
Synopsis [Test mini-mapped format.] Synopsis [Test for mini-mapped format.]
Description [] Description []
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment