main.h 6.62 KB
Newer Older
Alan Mishchenko committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/**CFile****************************************************************

  FileName    [main.h]

  SystemName  [ABC: Logic synthesis and verification system.]

  PackageName [The main package.]

  Synopsis    [External declarations of the main package.]

  Author      [Alan Mishchenko]
  
  Affiliation [UC Berkeley]

  Date        [Ver. 1.0. Started - June 20, 2005.]

Alan Mishchenko committed
17
  Revision    [$Id: main.h,v 1.1 2008/05/14 22:13:13 wudenni Exp $]
Alan Mishchenko committed
18 19 20

***********************************************************************/

21 22
#ifndef ABC__base__main__main_h
#define ABC__base__main__main_h
Alan Mishchenko committed
23 24 25 26 27 28 29


////////////////////////////////////////////////////////////////////////
///                          INCLUDES                                ///
////////////////////////////////////////////////////////////////////////

// core packages
30 31
#include "base/abc/abc.h"
#include "aig/gia/gia.h"
32 33

// data structure packages
34 35
#include "misc/vec/vec.h"
#include "misc/st/st.h"
36 37 38 39 40 41

ABC_NAMESPACE_HEADER_START
// the framework containing all data
typedef struct Abc_Frame_t_      Abc_Frame_t;
ABC_NAMESPACE_HEADER_END

42 43
#include "base/cmd/cmd.h"
#include "base/io/ioAbc.h"
Alan Mishchenko committed
44

45 46
ABC_NAMESPACE_HEADER_START

Alan Mishchenko committed
47 48 49 50
////////////////////////////////////////////////////////////////////////
///                         PARAMETERS                               ///
////////////////////////////////////////////////////////////////////////

51 52 53
////////////////////////////////////////////////////////////////////////
///                         TYPEDEFS                                 ///
////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
54

Alan Mishchenko committed
55 56 57 58 59
////////////////////////////////////////////////////////////////////////
///                       GLOBAL VARIABLES                           ///
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
60 61 62 63
///                    STRUCTURE DEFINITIONS                         ///
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
64
///                       MACRO DEFINITIONS                          ///
Alan Mishchenko committed
65 66 67
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
68
///                     FUNCTION DEFINITIONS                         ///
Alan Mishchenko committed
69
////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
70

Alan Mishchenko committed
71
/*=== main.c ===========================================================*/
Alan Mishchenko committed
72 73
extern ABC_DLL void            Abc_Start();
extern ABC_DLL void            Abc_Stop();
Alan Mishchenko committed
74 75

/*=== mainFrame.c ===========================================================*/
Alan Mishchenko committed
76
extern ABC_DLL Abc_Ntk_t *     Abc_FrameReadNtk( Abc_Frame_t * p );
77
extern ABC_DLL Gia_Man_t *     Abc_FrameReadGia( Abc_Frame_t * p );
Alan Mishchenko committed
78 79
extern ABC_DLL FILE *          Abc_FrameReadOut( Abc_Frame_t * p );
extern ABC_DLL FILE *          Abc_FrameReadErr( Abc_Frame_t * p );
80 81
extern ABC_DLL int             Abc_FrameReadMode( Abc_Frame_t * p );
extern ABC_DLL int             Abc_FrameSetMode( Abc_Frame_t * p, int fNameMode );
Alan Mishchenko committed
82
extern ABC_DLL void            Abc_FrameRestart( Abc_Frame_t * p );
83 84
extern ABC_DLL int             Abc_FrameShowProgress( Abc_Frame_t * p );
extern ABC_DLL void            Abc_FrameClearVerifStatus( Abc_Frame_t * p );
Alan Mishchenko committed
85 86 87 88 89 90 91 92 93

extern ABC_DLL void            Abc_FrameSetCurrentNetwork( Abc_Frame_t * p, Abc_Ntk_t * pNet );
extern ABC_DLL void            Abc_FrameSwapCurrentAndBackup( Abc_Frame_t * p );
extern ABC_DLL void            Abc_FrameReplaceCurrentNetwork( Abc_Frame_t * p, Abc_Ntk_t * pNet );
extern ABC_DLL void            Abc_FrameUnmapAllNetworks( Abc_Frame_t * p );
extern ABC_DLL void            Abc_FrameDeleteAllNetworks( Abc_Frame_t * p );

extern ABC_DLL void               Abc_FrameSetGlobalFrame( Abc_Frame_t * p );
extern ABC_DLL Abc_Frame_t *   Abc_FrameGetGlobalFrame();
Alan Mishchenko committed
94
extern ABC_DLL Abc_Frame_t *   Abc_FrameReadGlobalFrame();
Alan Mishchenko committed
95 96 97 98 99

extern ABC_DLL Vec_Ptr_t *     Abc_FrameReadStore();                  
extern ABC_DLL int             Abc_FrameReadStoreSize();              
extern ABC_DLL void *          Abc_FrameReadLibLut();                    
extern ABC_DLL void *          Abc_FrameReadLibGen();                    
Alan Mishchenko committed
100
extern ABC_DLL void *          Abc_FrameReadLibGen2();                    
Alan Mishchenko committed
101 102 103 104 105
extern ABC_DLL void *          Abc_FrameReadLibSuper();                  
extern ABC_DLL void *          Abc_FrameReadLibVer();                  
extern ABC_DLL void *          Abc_FrameReadManDd();                     
extern ABC_DLL void *          Abc_FrameReadManDec();                    
extern ABC_DLL char *          Abc_FrameReadFlag( char * pFlag ); 
106
extern ABC_DLL int             Abc_FrameIsFlagEnabled( char * pFlag );
107
extern ABC_DLL int             Abc_FrameIsBatchMode();
108 109
extern ABC_DLL int             Abc_FrameIsBridgeMode();
extern ABC_DLL void            Abc_FrameSetBridgeMode();
110 111 112

extern ABC_DLL int             Abc_FrameReadBmcFrames( Abc_Frame_t * p );              
extern ABC_DLL int             Abc_FrameReadProbStatus( Abc_Frame_t * p );              
113
extern ABC_DLL Abc_Cex_t *     Abc_FrameReadCex( Abc_Frame_t * p );              
114 115
extern ABC_DLL Vec_Ptr_t *     Abc_FrameReadCexVec( Abc_Frame_t * p );  
extern ABC_DLL Vec_Ptr_t *     Abc_FrameReadPoEquivs( Abc_Frame_t * p );  
116 117 118 119 120

extern ABC_DLL int             Abc_FrameReadCexPiNum( Abc_Frame_t * p );              
extern ABC_DLL int             Abc_FrameReadCexRegNum( Abc_Frame_t * p );              
extern ABC_DLL int             Abc_FrameReadCexPo( Abc_Frame_t * p );              
extern ABC_DLL int             Abc_FrameReadCexFrame( Abc_Frame_t * p );              
Alan Mishchenko committed
121 122 123 124 125

extern ABC_DLL void            Abc_FrameSetNtkStore( Abc_Ntk_t * pNtk ); 
extern ABC_DLL void            Abc_FrameSetNtkStoreSize( int nStored );  
extern ABC_DLL void            Abc_FrameSetLibLut( void * pLib );        
extern ABC_DLL void            Abc_FrameSetLibGen( void * pLib );        
Alan Mishchenko committed
126
extern ABC_DLL void            Abc_FrameSetLibGen2( void * pLib );        
Alan Mishchenko committed
127 128 129
extern ABC_DLL void            Abc_FrameSetLibSuper( void * pLib );      
extern ABC_DLL void            Abc_FrameSetLibVer( void * pLib );      
extern ABC_DLL void            Abc_FrameSetFlag( char * pFlag, char * pValue );
130
extern ABC_DLL void            Abc_FrameSetCex( Abc_Cex_t * pCex );
131
extern ABC_DLL void            Abc_FrameSetNFrames( int nFrames );
132
extern ABC_DLL void            Abc_FrameSetStatus( int Status );
133 134 135 136 137


ABC_NAMESPACE_HEADER_END


Alan Mishchenko committed
138 139 140

#endif

Alan Mishchenko committed
141 142 143
////////////////////////////////////////////////////////////////////////
///                       END OF FILE                                ///
////////////////////////////////////////////////////////////////////////