abcapis_old.h 3.36 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/**CFile****************************************************************

  FileName    [abcapis.h]

  SystemName  [ABC: Logic synthesis and verification system.]

  PackageName [Include this file in the external code calling ABC.]

  Synopsis    [External declarations.]

  Author      [Alan Mishchenko]
  
  Affiliation [UC Berkeley]

  Date        [Ver. 1.0. Started - September 29, 2012.]

  Revision    [$Id: abcapis.h,v 1.00 2012/09/29 00:00:00 alanmi Exp $]

***********************************************************************/
 
21 22
#ifndef MINI_AIG__abc_apis_old_h
#define MINI_AIG__abc_apis_old_h
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

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

////////////////////////////////////////////////////////////////////////
///                         PARAMETERS                               ///
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
///                         BASIC TYPES                              ///
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
///                      MACRO DEFINITIONS                           ///
////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
///                    FUNCTION DECLARATIONS                         ///
////////////////////////////////////////////////////////////////////////

// procedures to start and stop the ABC framework
extern void   Abc_Start();
extern void   Abc_Stop();

// procedures to get the ABC framework (pAbc) and execute commands in it
extern void * Abc_FrameGetGlobalFrame();
extern int    Cmd_CommandExecute( void * pAbc, char * pCommandLine );

// procedures to input/output 'mini AIG'
extern void   Abc_NtkInputMiniAig( void * pAbc, void * pMiniAig );
extern void * Abc_NtkOutputMiniAig( void * pAbc );
55 56
extern void   Abc_FrameGiaInputMiniAig( void * pAbc, void * p );
extern void * Abc_FrameGiaOutputMiniAig( void * pAbc );
57
extern void   Abc_NtkSetFlopNum( void * pAbc, int nFlops );
58

59 60 61
// procedures to input/output 'mini LUT'
extern void   Abc_FrameGiaInputMiniLut( void * pAbc, void * pMiniLut );
extern void * Abc_FrameGiaOutputMiniLut( void * pAbc );
62

63 64 65 66
// procedures to set CI/CO arrival/required times
extern void   Abc_NtkSetCiArrivalTime( void * pAbc, int iCi, float Rise, float Fall );
extern void   Abc_NtkSetCoRequiredTime( void * pAbc, int iCo, float Rise, float Fall );

67 68 69
// procedure to set AND-gate delay to tech-independent synthesis and mapping
extern void   Abc_NtkSetAndGateDelay( void * pAbc, float Delay );

70
// procedures to return the mapped network
Alan Mishchenko committed
71
extern int *  Abc_NtkOutputMiniMapping( void * pAbc );
72 73
extern void   Abc_NtkPrintMiniMapping( int * pArray );

74 75 76 77 78 79 80 81 82 83 84
// procedures to access verifization status and a counter-example
extern int    Abc_FrameReadProbStatus( void * pAbc );   
extern void * Abc_FrameReadCex( void * pAbc );    


#endif

////////////////////////////////////////////////////////////////////////
///                       END OF FILE                                ///
////////////////////////////////////////////////////////////////////////