summaryrefslogtreecommitdiffstats
path: root/abc70930/src/base/main/mainFrame.c
diff options
context:
space:
mode:
Diffstat (limited to 'abc70930/src/base/main/mainFrame.c')
-rw-r--r--abc70930/src/base/main/mainFrame.c503
1 files changed, 0 insertions, 503 deletions
diff --git a/abc70930/src/base/main/mainFrame.c b/abc70930/src/base/main/mainFrame.c
deleted file mode 100644
index eae8b7a6..00000000
--- a/abc70930/src/base/main/mainFrame.c
+++ /dev/null
@@ -1,503 +0,0 @@
-/**CFile****************************************************************
-
- FileName [mainFrame.c]
-
- SystemName [ABC: Logic synthesis and verification system.]
-
- PackageName [The main package.]
-
- Synopsis [The global framework resides in this file.]
-
- Author [Alan Mishchenko]
-
- Affiliation [UC Berkeley]
-
- Date [Ver. 1.0. Started - June 20, 2005.]
-
- Revision [$Id: mainFrame.c,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
-
-***********************************************************************/
-
-#include "mainInt.h"
-#include "abc.h"
-#include "dec.h"
-
-////////////////////////////////////////////////////////////////////////
-/// DECLARATIONS ///
-////////////////////////////////////////////////////////////////////////
-
-static Abc_Frame_t * s_GlobalFrame = NULL;
-
-////////////////////////////////////////////////////////////////////////
-/// FUNCTION DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-/**Function*************************************************************
-
- Synopsis [APIs to access parameters in the flobal frame.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Vec_Ptr_t * Abc_FrameReadStore() { return s_GlobalFrame->vStore; }
-int Abc_FrameReadStoreSize() { return Vec_PtrSize(s_GlobalFrame->vStore); }
-void * Abc_FrameReadLibLut() { return s_GlobalFrame->pLibLut; }
-void * Abc_FrameReadLibGen() { return s_GlobalFrame->pLibGen; }
-void * Abc_FrameReadLibSuper() { return s_GlobalFrame->pLibSuper; }
-void * Abc_FrameReadLibVer() { return s_GlobalFrame->pLibVer; }
-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; }
-char * Abc_FrameReadFlag( char * pFlag ) { return Cmd_FlagReadByName( s_GlobalFrame, pFlag ); }
-
-void Abc_FrameSetLibLut( void * pLib ) { s_GlobalFrame->pLibLut = pLib; }
-void Abc_FrameSetLibGen( void * pLib ) { s_GlobalFrame->pLibGen = pLib; }
-void Abc_FrameSetLibSuper( void * pLib ) { s_GlobalFrame->pLibSuper = pLib; }
-void Abc_FrameSetLibVer( void * pLib ) { s_GlobalFrame->pLibVer = pLib; }
-void Abc_FrameSetFlag( char * pFlag, char * pValue ) { Cmd_FlagUpdateValue( s_GlobalFrame, pFlag, pValue ); }
-
-/**Function*************************************************************
-
- Synopsis [Returns 1 if the flag is enabled without value or with value 1.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-bool Abc_FrameIsFlagEnabled( char * pFlag )
-{
- char * pValue;
- // if flag is not defined, it is not enabled
- pValue = Abc_FrameReadFlag( pFlag );
- if ( pValue == NULL )
- return 0;
- // if flag is defined but value is not empty (no parameter) or "1", it is not enabled
- if ( strcmp(pValue, "") && strcmp(pValue, "1") )
- return 0;
- return 1;
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Abc_Frame_t * Abc_FrameAllocate()
-{
- Abc_Frame_t * p;
- extern void define_cube_size( int n );
- extern void set_espresso_flags();
- // allocate and clean
- p = ALLOC( Abc_Frame_t, 1 );
- memset( p, 0, sizeof(Abc_Frame_t) );
- // get version
- p->sVersion = Abc_UtilsGetVersion( p );
- // set streams
- p->Err = stderr;
- p->Out = stdout;
- p->Hst = NULL;
- // set the starting step
- p->nSteps = 1;
- p->fBatchMode = 0;
- // networks to be used by choice
- p->vStore = Vec_PtrAlloc( 16 );
- // initialize decomposition manager
- define_cube_size(20);
- set_espresso_flags();
- // initialize the trace manager
-// Abc_HManStart();
- return p;
-}
-
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Abc_FrameDeallocate( Abc_Frame_t * p )
-{
- extern void Rwt_ManGlobalStop();
- extern void undefine_cube_size();
-// extern void Ivy_TruthManStop();
-// Abc_HManStop();
- undefine_cube_size();
- Rwt_ManGlobalStop();
-// Ivy_TruthManStop();
- if ( p->pLibVer ) Abc_LibFree( p->pLibVer, NULL );
- if ( p->pManDec ) Dec_ManStop( p->pManDec );
- if ( p->dd ) Extra_StopManager( p->dd );
- if ( p->vStore ) Vec_PtrFree( p->vStore );
- Abc_FrameDeleteAllNetworks( p );
- free( p );
- s_GlobalFrame = NULL;
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Abc_FrameRestart( Abc_Frame_t * p )
-{
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-bool Abc_FrameShowProgress( Abc_Frame_t * p )
-{
- return Abc_FrameIsFlagEnabled( "progressbar" );
-}
-
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Abc_Ntk_t * Abc_FrameReadNtk( Abc_Frame_t * p )
-{
- return p->pNtkCur;
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-FILE * Abc_FrameReadOut( Abc_Frame_t * p )
-{
- return p->Out;
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-FILE * Abc_FrameReadErr( Abc_Frame_t * p )
-{
- return p->Err;
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-int Abc_FrameReadMode( Abc_Frame_t * p )
-{
- int fShortNames;
- char * pValue;
- pValue = Cmd_FlagReadByName( p, "namemode" );
- if ( pValue == NULL )
- fShortNames = 0;
- else
- fShortNames = atoi(pValue);
- return fShortNames;
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-bool Abc_FrameSetMode( Abc_Frame_t * p, bool fNameMode )
-{
- char Buffer[2];
- bool fNameModeOld;
- fNameModeOld = Abc_FrameReadMode( p );
- Buffer[0] = '0' + fNameMode;
- Buffer[1] = 0;
- Cmd_FlagUpdateValue( p, "namemode", (char *)Buffer );
- return fNameModeOld;
-}
-
-
-/**Function*************************************************************
-
- Synopsis [Sets the given network to be the current one.]
-
- Description [Takes the network and makes it the current network.
- The previous current network is attached to the given network as
- a backup copy. In the stack of backup networks contains too many
- networks (defined by the paramater "savesteps"), the bottom
- most network is deleted.]
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Abc_FrameSetCurrentNetwork( Abc_Frame_t * p, Abc_Ntk_t * pNtkNew )
-{
- Abc_Ntk_t * pNtk, * pNtk2, * pNtk3;
- int nNetsPresent;
- int nNetsToSave;
- char * pValue;
-
- // link it to the previous network
- Abc_NtkSetBackup( pNtkNew, p->pNtkCur );
- // set the step of this network
- Abc_NtkSetStep( pNtkNew, ++p->nSteps );
- // set this network to be the current network
- p->pNtkCur = pNtkNew;
-
- // remove any extra network that may happen to be in the stack
- pValue = Cmd_FlagReadByName( p, "savesteps" );
- // if the value of steps to save is not set, assume 1-level undo
- if ( pValue == NULL )
- nNetsToSave = 1;
- else
- nNetsToSave = atoi(pValue);
-
- // count the network, remember the last one, and the one before the last one
- nNetsPresent = 0;
- pNtk2 = pNtk3 = NULL;
- for ( pNtk = p->pNtkCur; pNtk; pNtk = Abc_NtkBackup(pNtk2) )
- {
- nNetsPresent++;
- pNtk3 = pNtk2;
- pNtk2 = pNtk;
- }
-
- // remove the earliest backup network if it is more steps away than we store
- if ( nNetsPresent - 1 > nNetsToSave )
- { // delete the last network
- Abc_NtkDelete( pNtk2 );
- // clean the pointer of the network before the last one
- Abc_NtkSetBackup( pNtk3, NULL );
- }
-}
-
-/**Function*************************************************************
-
- Synopsis [This procedure swaps the current and the backup network.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Abc_FrameSwapCurrentAndBackup( Abc_Frame_t * p )
-{
- Abc_Ntk_t * pNtkCur, * pNtkBack, * pNtkBack2;
- int iStepCur, iStepBack;
-
- pNtkCur = p->pNtkCur;
- pNtkBack = Abc_NtkBackup( pNtkCur );
- iStepCur = Abc_NtkStep ( pNtkCur );
-
- // if there is no backup nothing to reset
- if ( pNtkBack == NULL )
- return;
-
- // remember the backup of the backup
- pNtkBack2 = Abc_NtkBackup( pNtkBack );
- iStepBack = Abc_NtkStep ( pNtkBack );
-
- // set pNtkCur to be the next after the backup's backup
- Abc_NtkSetBackup( pNtkCur, pNtkBack2 );
- Abc_NtkSetStep ( pNtkCur, iStepBack );
-
- // set pNtkCur to be the next after the backup
- Abc_NtkSetBackup( pNtkBack, pNtkCur );
- Abc_NtkSetStep ( pNtkBack, iStepCur );
-
- // set the current network
- p->pNtkCur = pNtkBack;
-}
-
-
-/**Function*************************************************************
-
- Synopsis [Replaces the current network by the given one.]
-
- Description [This procedure does not modify the stack of saved
- networks.]
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Abc_FrameReplaceCurrentNetwork( Abc_Frame_t * p, Abc_Ntk_t * pNtk )
-{
- if ( pNtk == NULL )
- return;
-
- // transfer the parameters to the new network
- if ( p->pNtkCur && Abc_FrameIsFlagEnabled( "backup" ) )
- {
- Abc_NtkSetBackup( pNtk, Abc_NtkBackup(p->pNtkCur) );
- Abc_NtkSetStep( pNtk, Abc_NtkStep(p->pNtkCur) );
- // delete the current network
- Abc_NtkDelete( p->pNtkCur );
- }
- else
- {
- Abc_NtkSetBackup( pNtk, NULL );
- Abc_NtkSetStep( pNtk, ++p->nSteps );
- // delete the current network if present but backup is disabled
- if ( p->pNtkCur )
- Abc_NtkDelete( p->pNtkCur );
- }
- // set the new current network
- p->pNtkCur = pNtk;
-}
-
-/**Function*************************************************************
-
- Synopsis [Removes library binding of all currently stored networks.]
-
- Description [This procedure is called when the library is freed.]
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Abc_FrameUnmapAllNetworks( Abc_Frame_t * p )
-{
- Abc_Ntk_t * pNtk;
- for ( pNtk = p->pNtkCur; pNtk; pNtk = Abc_NtkBackup(pNtk) )
- if ( Abc_NtkHasMapping(pNtk) )
- Abc_NtkMapToSop( pNtk );
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Abc_FrameDeleteAllNetworks( Abc_Frame_t * p )
-{
- Abc_Ntk_t * pNtk, * pNtk2;
- // delete all the currently saved networks
- for ( pNtk = p->pNtkCur,
- pNtk2 = pNtk? Abc_NtkBackup(pNtk): NULL;
- pNtk;
- pNtk = pNtk2,
- pNtk2 = pNtk? Abc_NtkBackup(pNtk): NULL )
- Abc_NtkDelete( pNtk );
- // set the current network empty
- p->pNtkCur = NULL;
-// fprintf( p->Out, "All networks have been deleted.\n" );
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Abc_FrameSetGlobalFrame( Abc_Frame_t * p )
-{
- s_GlobalFrame = p;
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Abc_Frame_t * Abc_FrameGetGlobalFrame()
-{
- if ( s_GlobalFrame == 0 )
- {
- // start the framework
- s_GlobalFrame = Abc_FrameAllocate();
- // perform initializations
- Abc_FrameInit( s_GlobalFrame );
- }
- return s_GlobalFrame;
-}
-
-
-////////////////////////////////////////////////////////////////////////
-/// END OF FILE ///
-////////////////////////////////////////////////////////////////////////
-
-