Commit fdba646b by Alan Mishchenko

Integrating sweeping information.

parent 7802db98
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
ABC_NAMESPACE_IMPL_START ABC_NAMESPACE_IMPL_START
#define XAIG_VERBOSE 0
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
/// DECLARATIONS /// /// DECLARATIONS ///
...@@ -495,7 +496,7 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fSkipS ...@@ -495,7 +496,7 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fSkipS
// check if there are other types of information to read // check if there are other types of information to read
if ( pCur + 1 < (unsigned char *)pContents + nFileSize && *pCur == 'c' ) if ( pCur + 1 < (unsigned char *)pContents + nFileSize && *pCur == 'c' )
{ {
int fVerbose = 0; int fVerbose = XAIG_VERBOSE;
Vec_Str_t * vStr; Vec_Str_t * vStr;
unsigned char * pCurTemp; unsigned char * pCurTemp;
pCur++; pCur++;
...@@ -967,7 +968,7 @@ Vec_Str_t * Gia_AigerWriteIntoMemoryStrPart( Gia_Man_t * p, Vec_Int_t * vCis, Ve ...@@ -967,7 +968,7 @@ Vec_Str_t * Gia_AigerWriteIntoMemoryStrPart( Gia_Man_t * p, Vec_Int_t * vCis, Ve
***********************************************************************/ ***********************************************************************/
void Gia_AigerWrite( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, int fCompact ) void Gia_AigerWrite( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, int fCompact )
{ {
int fVerbose = 0; int fVerbose = XAIG_VERBOSE;
FILE * pFile; FILE * pFile;
Gia_Man_t * p; Gia_Man_t * p;
Gia_Obj_t * pObj; Gia_Obj_t * pObj;
...@@ -996,9 +997,11 @@ void Gia_AigerWrite( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, int ...@@ -996,9 +997,11 @@ void Gia_AigerWrite( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, int
{ {
// printf( "Gia_AigerWrite(): Normalizing AIG for writing.\n" ); // printf( "Gia_AigerWrite(): Normalizing AIG for writing.\n" );
p = Gia_ManDupNormalize( pInit ); p = Gia_ManDupNormalize( pInit );
p->pManTime = pInit->pManTime; pInit->pManTime = NULL; p->pManTime = pInit->pManTime; pInit->pManTime = NULL;
p->vNamesIn = pInit->vNamesIn; pInit->vNamesIn = NULL; p->vNamesIn = pInit->vNamesIn; pInit->vNamesIn = NULL;
p->vNamesOut = pInit->vNamesOut; pInit->vNamesOut = NULL; p->vNamesOut = pInit->vNamesOut; pInit->vNamesOut = NULL;
p->pAigExtra = pInit->pAigExtra; pInit->pAigExtra = NULL;
p->nAnd2Delay = pInit->nAnd2Delay; pInit->nAnd2Delay = 0;
} }
else else
p = pInit; p = pInit;
......
...@@ -326,6 +326,12 @@ Gia_Man_t * Gia_ManFraigSweep( Gia_Man_t * p, void * pPars ) ...@@ -326,6 +326,12 @@ Gia_Man_t * Gia_ManFraigSweep( Gia_Man_t * p, void * pPars )
pTemp->pManTime = NULL; pTemp->pManTime = NULL;
pTemp->pAigExtra = NULL; pTemp->pAigExtra = NULL;
Gia_ManStop( pTemp ); Gia_ManStop( pTemp );
// normalize the result
pNew = Gia_ManDupNormalize( pTemp = pNew );
pNew->pManTime = pTemp->pManTime; pTemp->pManTime = NULL;
pNew->pAigExtra = pTemp->pAigExtra; pTemp->pAigExtra = NULL;
pNew->nAnd2Delay = pTemp->nAnd2Delay; pTemp->nAnd2Delay = 0;
Gia_ManStop( pTemp );
// return the result // return the result
assert( pNew->pManTime != NULL ); assert( pNew->pManTime != NULL );
assert( pNew->pAigExtra != NULL ); assert( pNew->pAigExtra != NULL );
......
...@@ -188,7 +188,9 @@ Tim_Man_t * Tim_ManTrim( Tim_Man_t * p, Vec_Int_t * vBoxPres ) ...@@ -188,7 +188,9 @@ Tim_Man_t * Tim_ManTrim( Tim_Man_t * p, Vec_Int_t * vBoxPres )
pNew = Tim_ManStart( nNewCis, nNewCos ); pNew = Tim_ManStart( nNewCis, nNewCos );
// copy box connectivity information // copy box connectivity information
memcpy( pNew->pCis, p->pCis, sizeof(Tim_Obj_t) * Tim_ManPiNum(p) ); memcpy( pNew->pCis, p->pCis, sizeof(Tim_Obj_t) * Tim_ManPiNum(p) );
memcpy( pNew->pCos, p->pCos, sizeof(Tim_Obj_t) * Tim_ManPoNum(p) ); memcpy( pNew->pCos + nNewCos - Tim_ManPoNum(p),
p->pCos + Tim_ManCoNum(p) - Tim_ManPoNum(p),
sizeof(Tim_Obj_t) * Tim_ManPoNum(p) );
// duplicate delay tables // duplicate delay tables
if ( Tim_ManDelayTableNum(p) > 0 ) if ( Tim_ManDelayTableNum(p) > 0 )
{ {
......
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