main.h 9.01 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
// the framework containing all data is defined here
#include "abcapis.h"
39

40 41
#include "base/cmd/cmd.h"
#include "base/io/ioAbc.h"
Alan Mishchenko committed
42

43 44
ABC_NAMESPACE_HEADER_START

Alan Mishchenko committed
45 46 47 48
////////////////////////////////////////////////////////////////////////
///                         PARAMETERS                               ///
////////////////////////////////////////////////////////////////////////

49 50 51
////////////////////////////////////////////////////////////////////////
///                         TYPEDEFS                                 ///
////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
52

Alan Mishchenko committed
53 54 55 56 57
////////////////////////////////////////////////////////////////////////
///                       GLOBAL VARIABLES                           ///
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
58 59 60 61
///                    STRUCTURE DEFINITIONS                         ///
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
62
///                       MACRO DEFINITIONS                          ///
Alan Mishchenko committed
63 64 65
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
66
///                     FUNCTION DEFINITIONS                         ///
Alan Mishchenko committed
67
////////////////////////////////////////////////////////////////////////
Alan Mishchenko committed
68

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

/*=== mainFrame.c ===========================================================*/
Alan Mishchenko committed
74
extern ABC_DLL Abc_Ntk_t *     Abc_FrameReadNtk( Abc_Frame_t * p );
75
extern ABC_DLL Gia_Man_t *     Abc_FrameReadGia( Abc_Frame_t * p );
Alan Mishchenko committed
76 77
extern ABC_DLL FILE *          Abc_FrameReadOut( Abc_Frame_t * p );
extern ABC_DLL FILE *          Abc_FrameReadErr( Abc_Frame_t * p );
78 79
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
80
extern ABC_DLL void            Abc_FrameRestart( Abc_Frame_t * p );
81 82
extern ABC_DLL int             Abc_FrameShowProgress( Abc_Frame_t * p );
extern ABC_DLL void            Abc_FrameClearVerifStatus( Abc_Frame_t * p );
83 84
extern ABC_DLL void            Abc_FrameUpdateGia( Abc_Frame_t * p, Gia_Man_t * pNew );
extern ABC_DLL Gia_Man_t *     Abc_FrameGetGia( Abc_Frame_t * p );
Alan Mishchenko committed
85 86 87 88 89 90 91

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 );

92
extern ABC_DLL void            Abc_FrameSetGlobalFrame( Abc_Frame_t * p );
Alan Mishchenko committed
93
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

extern ABC_DLL Vec_Ptr_t *     Abc_FrameReadStore();                  
extern ABC_DLL int             Abc_FrameReadStoreSize();              
extern ABC_DLL void *          Abc_FrameReadLibLut();                    
Alan Mishchenko committed
99
extern ABC_DLL void *          Abc_FrameReadLibBox();                    
Alan Mishchenko committed
100
extern ABC_DLL void *          Abc_FrameReadLibGen();                    
Alan Mishchenko committed
101
extern ABC_DLL void *          Abc_FrameReadLibGen2();                    
Alan Mishchenko committed
102
extern ABC_DLL void *          Abc_FrameReadLibSuper();                  
103
extern ABC_DLL void *          Abc_FrameReadLibScl();                  
Alan Mishchenko committed
104 105
extern ABC_DLL void *          Abc_FrameReadManDd();                     
extern ABC_DLL void *          Abc_FrameReadManDec();                    
106
extern ABC_DLL void *          Abc_FrameReadManDsd();           
107
extern ABC_DLL void *          Abc_FrameReadManDsd2();           
108
extern ABC_DLL Vec_Ptr_t *     Abc_FrameReadSignalNames();
109
extern ABC_DLL char *          Abc_FrameReadSpecName();
110
         
Alan Mishchenko committed
111
extern ABC_DLL char *          Abc_FrameReadFlag( char * pFlag ); 
112
extern ABC_DLL int             Abc_FrameIsFlagEnabled( char * pFlag );
113
extern ABC_DLL int             Abc_FrameIsBatchMode();
114
extern ABC_DLL void            Abc_FrameSetBatchMode( int Mode );
115 116
extern ABC_DLL int             Abc_FrameIsBridgeMode();
extern ABC_DLL void            Abc_FrameSetBridgeMode();
117 118 119

extern ABC_DLL int             Abc_FrameReadBmcFrames( Abc_Frame_t * p );              
extern ABC_DLL int             Abc_FrameReadProbStatus( Abc_Frame_t * p );              
120
extern ABC_DLL void *          Abc_FrameReadCex( Abc_Frame_t * p );              
121
extern ABC_DLL Vec_Ptr_t *     Abc_FrameReadCexVec( Abc_Frame_t * p );  
122
extern ABC_DLL Vec_Int_t *     Abc_FrameReadStatusVec( Abc_Frame_t * p );  
123
extern ABC_DLL Vec_Ptr_t *     Abc_FrameReadPoEquivs( Abc_Frame_t * p );  
124
extern ABC_DLL Vec_Int_t *     Abc_FrameReadPoStatuses( Abc_Frame_t * p );  
125
extern ABC_DLL Vec_Int_t *     Abc_FrameReadObjIds( Abc_Frame_t * p );
126 127
extern ABC_DLL Abc_Nam_t *     Abc_FrameReadJsonStrs( Abc_Frame_t * p );  
extern ABC_DLL Vec_Wec_t *     Abc_FrameReadJsonObjs( Abc_Frame_t * p );
128 129 130 131 132

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
133 134 135 136

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 );        
Alan Mishchenko committed
137
extern ABC_DLL void            Abc_FrameSetLibBox( void * pLib );        
Alan Mishchenko committed
138
extern ABC_DLL void            Abc_FrameSetLibGen( void * pLib );        
Alan Mishchenko committed
139
extern ABC_DLL void            Abc_FrameSetLibGen2( void * pLib );        
Alan Mishchenko committed
140 141 142
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 );
143
extern ABC_DLL void            Abc_FrameSetCex( Abc_Cex_t * pCex );
144
extern ABC_DLL void            Abc_FrameSetNFrames( int nFrames );
145
extern ABC_DLL void            Abc_FrameSetStatus( int Status );
146
extern ABC_DLL void            Abc_FrameSetManDsd( void * pMan );
147
extern ABC_DLL void            Abc_FrameSetManDsd2( void * pMan );
Alan Mishchenko committed
148
extern ABC_DLL void            Abc_FrameSetInv( Vec_Int_t * vInv );
149 150
extern ABC_DLL void            Abc_FrameSetCnf( Vec_Int_t * vInv );
extern ABC_DLL void            Abc_FrameSetStr( Vec_Str_t * vInv );
151 152
extern ABC_DLL void            Abc_FrameSetJsonStrs( Abc_Nam_t * pStrs );
extern ABC_DLL void            Abc_FrameSetJsonObjs( Vec_Wec_t * vObjs );
153
extern ABC_DLL void            Abc_FrameSetSignalNames( Vec_Ptr_t * vNames );
154
extern ABC_DLL void            Abc_FrameSetSpecName( char * pFileName );
155

156
extern ABC_DLL int             Abc_FrameCheckPoConst( Abc_Frame_t * p, int iPoNum );
157

158 159 160 161 162
extern ABC_DLL void            Abc_FrameReplaceCex( Abc_Frame_t * pAbc, Abc_Cex_t ** ppCex );
extern ABC_DLL void            Abc_FrameReplaceCexVec( Abc_Frame_t * pAbc, Vec_Ptr_t ** pvCexVec );
extern ABC_DLL void            Abc_FrameReplacePoEquivs( Abc_Frame_t * pAbc, Vec_Ptr_t ** pvPoEquivs );
extern ABC_DLL void            Abc_FrameReplacePoStatuses( Abc_Frame_t * pAbc, Vec_Int_t ** pvStatuses );

163 164 165 166 167
extern ABC_DLL char *          Abc_FrameReadDrivingCell();              
extern ABC_DLL float           Abc_FrameReadMaxLoad();
extern ABC_DLL void            Abc_FrameSetDrivingCell( char * pName );
extern ABC_DLL void            Abc_FrameSetMaxLoad( float Load );

168
extern ABC_DLL void            Abc_FrameSetArrayMapping( int * p );
169
extern ABC_DLL void            Abc_FrameSetBoxes( int * p );
170

171 172
ABC_NAMESPACE_HEADER_END

Alan Mishchenko committed
173 174
#endif

Alan Mishchenko committed
175 176 177
////////////////////////////////////////////////////////////////////////
///                       END OF FILE                                ///
////////////////////////////////////////////////////////////////////////