diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-08-27 12:23:31 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-08-27 12:23:31 -0700 |
commit | 9c154cfe61ea8792a9773f894b4c17fb2d9b255a (patch) | |
tree | 9d2c737a96799d7964086f785e6b754ab746de09 /src/base/main | |
parent | 66d9a80b3db7f9194ee084f210e0ae5f3a9516d7 (diff) | |
download | abc-9c154cfe61ea8792a9773f894b4c17fb2d9b255a.tar.gz abc-9c154cfe61ea8792a9773f894b4c17fb2d9b255a.tar.bz2 abc-9c154cfe61ea8792a9773f894b4c17fb2d9b255a.zip |
Improvements to DSD balancing.
Diffstat (limited to 'src/base/main')
-rw-r--r-- | src/base/main/main.h | 2 | ||||
-rw-r--r-- | src/base/main/mainFrame.c | 5 | ||||
-rw-r--r-- | src/base/main/mainInt.h | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/base/main/main.h b/src/base/main/main.h index 38867e88..3b169bbc 100644 --- a/src/base/main/main.h +++ b/src/base/main/main.h @@ -106,6 +106,7 @@ extern ABC_DLL void * Abc_FrameReadLibScl(); extern ABC_DLL void * Abc_FrameReadManDd(); extern ABC_DLL void * Abc_FrameReadManDec(); extern ABC_DLL void * Abc_FrameReadManDsd(); +extern ABC_DLL void * Abc_FrameReadManDsd2(); extern ABC_DLL char * Abc_FrameReadFlag( char * pFlag ); extern ABC_DLL int Abc_FrameIsFlagEnabled( char * pFlag ); @@ -140,6 +141,7 @@ extern ABC_DLL void Abc_FrameSetCex( Abc_Cex_t * pCex ); extern ABC_DLL void Abc_FrameSetNFrames( int nFrames ); extern ABC_DLL void Abc_FrameSetStatus( int Status ); extern ABC_DLL void Abc_FrameSetManDsd( void * pMan ); +extern ABC_DLL void Abc_FrameSetManDsd2( void * pMan ); extern ABC_DLL int Abc_FrameCheckPoConst( Abc_Frame_t * p, int iPoNum ); diff --git a/src/base/main/mainFrame.c b/src/base/main/mainFrame.c index c3af051a..06159427 100644 --- a/src/base/main/mainFrame.c +++ b/src/base/main/mainFrame.c @@ -60,6 +60,7 @@ void * Abc_FrameReadLibScl() { return s_GlobalFr void * Abc_FrameReadManDd() { if ( s_GlobalFrame->dd == NULL ) s_GlobalFrame->dd = Cudd_Init( 0, 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0 ); return s_GlobalFrame->dd; } void * Abc_FrameReadManDec() { if ( s_GlobalFrame->pManDec == NULL ) s_GlobalFrame->pManDec = Dec_ManStart(); return s_GlobalFrame->pManDec; } void * Abc_FrameReadManDsd() { return s_GlobalFrame->pManDsd; } +void * Abc_FrameReadManDsd2() { return s_GlobalFrame->pManDsd2; } char * Abc_FrameReadFlag( char * pFlag ) { return Cmd_FlagReadByName( s_GlobalFrame, pFlag ); } int Abc_FrameReadBmcFrames( Abc_Frame_t * p ) { return s_GlobalFrame->nFrames; } @@ -85,7 +86,8 @@ void Abc_FrameSetFlag( char * pFlag, char * pValue ) { Cmd_FlagUpdateVal void Abc_FrameSetCex( Abc_Cex_t * pCex ) { ABC_FREE( s_GlobalFrame->pCex ); s_GlobalFrame->pCex = pCex; } void Abc_FrameSetNFrames( int nFrames ) { ABC_FREE( s_GlobalFrame->pCex ); s_GlobalFrame->nFrames = nFrames; } void Abc_FrameSetStatus( int Status ) { ABC_FREE( s_GlobalFrame->pCex ); s_GlobalFrame->Status = Status; } -void Abc_FrameSetManDsd( void * pMan ) { if (s_GlobalFrame->pManDsd && s_GlobalFrame->pManDsd != pMan) If_DsdManFree((If_DsdMan_t *)s_GlobalFrame->pManDsd, 0); s_GlobalFrame->pManDsd = pMan; } +void Abc_FrameSetManDsd( void * pMan ) { if (s_GlobalFrame->pManDsd && s_GlobalFrame->pManDsd != pMan) If_DsdManFree((If_DsdMan_t *)s_GlobalFrame->pManDsd, 0); s_GlobalFrame->pManDsd = pMan; } +void Abc_FrameSetManDsd2( void * pMan ) { if (s_GlobalFrame->pManDsd2 && s_GlobalFrame->pManDsd2 != pMan) If_DsdManFree((If_DsdMan_t *)s_GlobalFrame->pManDsd2, 0); s_GlobalFrame->pManDsd2 = pMan; } int Abc_FrameIsBatchMode() { return s_GlobalFrame ? s_GlobalFrame->fBatchMode : 0; } @@ -195,6 +197,7 @@ void Abc_FrameDeallocate( Abc_Frame_t * p ) if ( p->pSave3 ) Aig_ManStop( (Aig_Man_t *)p->pSave3 ); if ( p->pSave4 ) Aig_ManStop( (Aig_Man_t *)p->pSave4 ); if ( p->pManDsd ) If_DsdManFree( (If_DsdMan_t *)p->pManDsd, 0 ); + if ( p->pManDsd2 ) If_DsdManFree( (If_DsdMan_t *)p->pManDsd2, 0 ); if ( p->vPlugInComBinPairs ) { char * pTemp; diff --git a/src/base/main/mainInt.h b/src/base/main/mainInt.h index c8276eeb..50a52090 100644 --- a/src/base/main/mainInt.h +++ b/src/base/main/mainInt.h @@ -85,6 +85,7 @@ struct Abc_Frame_t_ // decomposition package void * pManDec; // decomposition manager void * pManDsd; // decomposition manager + void * pManDsd2; // decomposition manager DdManager * dd; // temporary BDD package // libraries for mapping void * pLibLut; // the current LUT library |