Commit fdba646b by Alan Mishchenko

Integrating sweeping information.

parent 7802db98
......@@ -25,6 +25,7 @@
ABC_NAMESPACE_IMPL_START
#define XAIG_VERBOSE 0
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
......@@ -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
if ( pCur + 1 < (unsigned char *)pContents + nFileSize && *pCur == 'c' )
{
int fVerbose = 0;
int fVerbose = XAIG_VERBOSE;
Vec_Str_t * vStr;
unsigned char * pCurTemp;
pCur++;
......@@ -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 )
{
int fVerbose = 0;
int fVerbose = XAIG_VERBOSE;
FILE * pFile;
Gia_Man_t * p;
Gia_Obj_t * pObj;
......@@ -996,9 +997,11 @@ void Gia_AigerWrite( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, int
{
// printf( "Gia_AigerWrite(): Normalizing AIG for writing.\n" );
p = Gia_ManDupNormalize( pInit );
p->pManTime = pInit->pManTime; pInit->pManTime = NULL;
p->vNamesIn = pInit->vNamesIn; pInit->vNamesIn = NULL;
p->vNamesOut = pInit->vNamesOut; pInit->vNamesOut = NULL;
p->pManTime = pInit->pManTime; pInit->pManTime = NULL;
p->vNamesIn = pInit->vNamesIn; pInit->vNamesIn = NULL;
p->vNamesOut = pInit->vNamesOut; pInit->vNamesOut = NULL;
p->pAigExtra = pInit->pAigExtra; pInit->pAigExtra = NULL;
p->nAnd2Delay = pInit->nAnd2Delay; pInit->nAnd2Delay = 0;
}
else
p = pInit;
......
......@@ -326,6 +326,12 @@ Gia_Man_t * Gia_ManFraigSweep( Gia_Man_t * p, void * pPars )
pTemp->pManTime = NULL;
pTemp->pAigExtra = NULL;
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
assert( pNew->pManTime != NULL );
assert( pNew->pAigExtra != NULL );
......
......@@ -188,7 +188,9 @@ Tim_Man_t * Tim_ManTrim( Tim_Man_t * p, Vec_Int_t * vBoxPres )
pNew = Tim_ManStart( nNewCis, nNewCos );
// copy box connectivity information
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
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