ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
main.h File Reference
#include "base/abc/abc.h"
#include "aig/gia/gia.h"
#include "misc/vec/vec.h"
#include "misc/st/st.h"
#include "abcapis.h"
#include "base/cmd/cmd.h"
#include "base/io/ioAbc.h"
Include dependency graph for main.h:

Go to the source code of this file.

Functions

ABC_NAMESPACE_HEADER_START ABC_DLL void Abc_Start ()
 INCLUDES ///.
 
ABC_DLL void Abc_Stop ()
 
ABC_DLL Abc_Ntk_tAbc_FrameReadNtk (Abc_Frame_t *p)
 
ABC_DLL Gia_Man_tAbc_FrameReadGia (Abc_Frame_t *p)
 
ABC_DLL FILE * Abc_FrameReadOut (Abc_Frame_t *p)
 
ABC_DLL FILE * Abc_FrameReadErr (Abc_Frame_t *p)
 
ABC_DLL int Abc_FrameReadMode (Abc_Frame_t *p)
 
ABC_DLL int Abc_FrameSetMode (Abc_Frame_t *p, int fNameMode)
 
ABC_DLL void Abc_FrameRestart (Abc_Frame_t *p)
 
ABC_DLL int Abc_FrameShowProgress (Abc_Frame_t *p)
 
ABC_DLL void Abc_FrameClearVerifStatus (Abc_Frame_t *p)
 
ABC_DLL void Abc_FrameUpdateGia (Abc_Frame_t *p, Gia_Man_t *pNew)
 
ABC_DLL Gia_Man_tAbc_FrameGetGia (Abc_Frame_t *p)
 
ABC_DLL void Abc_FrameSetCurrentNetwork (Abc_Frame_t *p, Abc_Ntk_t *pNet)
 
ABC_DLL void Abc_FrameSwapCurrentAndBackup (Abc_Frame_t *p)
 
ABC_DLL void Abc_FrameReplaceCurrentNetwork (Abc_Frame_t *p, Abc_Ntk_t *pNet)
 
ABC_DLL void Abc_FrameUnmapAllNetworks (Abc_Frame_t *p)
 
ABC_DLL void Abc_FrameDeleteAllNetworks (Abc_Frame_t *p)
 
ABC_DLL void Abc_FrameSetGlobalFrame (Abc_Frame_t *p)
 
ABC_DLL Abc_Frame_tAbc_FrameGetGlobalFrame ()
 
ABC_DLL Abc_Frame_tAbc_FrameReadGlobalFrame ()
 
ABC_DLL Vec_Ptr_tAbc_FrameReadStore ()
 FUNCTION DEFINITIONS ///.
 
ABC_DLL int Abc_FrameReadStoreSize ()
 
ABC_DLL void * Abc_FrameReadLibLut ()
 
ABC_DLL void * Abc_FrameReadLibBox ()
 
ABC_DLL void * Abc_FrameReadLibGen ()
 
ABC_DLL void * Abc_FrameReadLibGen2 ()
 
ABC_DLL void * Abc_FrameReadLibSuper ()
 
ABC_DLL void * Abc_FrameReadLibScl ()
 
ABC_DLL void * Abc_FrameReadManDd ()
 
ABC_DLL void * Abc_FrameReadManDec ()
 
ABC_DLL void * Abc_FrameReadManDsd ()
 
ABC_DLL void * Abc_FrameReadManDsd2 ()
 
ABC_DLL Vec_Ptr_tAbc_FrameReadSignalNames ()
 
ABC_DLL char * Abc_FrameReadSpecName ()
 
ABC_DLL char * Abc_FrameReadFlag (char *pFlag)
 
ABC_DLL int Abc_FrameIsFlagEnabled (char *pFlag)
 
ABC_DLL int Abc_FrameIsBatchMode ()
 
ABC_DLL void Abc_FrameSetBatchMode (int Mode)
 
ABC_DLL int Abc_FrameIsBridgeMode ()
 
ABC_DLL void Abc_FrameSetBridgeMode ()
 
ABC_DLL int Abc_FrameReadBmcFrames (Abc_Frame_t *p)
 
ABC_DLL int Abc_FrameReadProbStatus (Abc_Frame_t *p)
 
ABC_DLL void * Abc_FrameReadCex (Abc_Frame_t *p)
 
ABC_DLL Vec_Ptr_tAbc_FrameReadCexVec (Abc_Frame_t *p)
 
ABC_DLL Vec_Int_tAbc_FrameReadStatusVec (Abc_Frame_t *p)
 
ABC_DLL Vec_Ptr_tAbc_FrameReadPoEquivs (Abc_Frame_t *p)
 
ABC_DLL Vec_Int_tAbc_FrameReadPoStatuses (Abc_Frame_t *p)
 
ABC_DLL Vec_Int_tAbc_FrameReadObjIds (Abc_Frame_t *p)
 
ABC_DLL Abc_Nam_tAbc_FrameReadJsonStrs (Abc_Frame_t *p)
 
ABC_DLL Vec_Wec_tAbc_FrameReadJsonObjs (Abc_Frame_t *p)
 
ABC_DLL int Abc_FrameReadCexPiNum (Abc_Frame_t *p)
 
ABC_DLL int Abc_FrameReadCexRegNum (Abc_Frame_t *p)
 
ABC_DLL int Abc_FrameReadCexPo (Abc_Frame_t *p)
 
ABC_DLL int Abc_FrameReadCexFrame (Abc_Frame_t *p)
 
ABC_DLL void Abc_FrameSetNtkStore (Abc_Ntk_t *pNtk)
 
ABC_DLL void Abc_FrameSetNtkStoreSize (int nStored)
 
ABC_DLL void Abc_FrameSetLibLut (void *pLib)
 
ABC_DLL void Abc_FrameSetLibBox (void *pLib)
 
ABC_DLL void Abc_FrameSetLibGen (void *pLib)
 
ABC_DLL void Abc_FrameSetLibGen2 (void *pLib)
 
ABC_DLL void Abc_FrameSetLibSuper (void *pLib)
 
ABC_DLL void Abc_FrameSetLibVer (void *pLib)
 
ABC_DLL void Abc_FrameSetFlag (char *pFlag, char *pValue)
 
ABC_DLL void Abc_FrameSetCex (Abc_Cex_t *pCex)
 
ABC_DLL void Abc_FrameSetNFrames (int nFrames)
 
ABC_DLL void Abc_FrameSetStatus (int Status)
 
ABC_DLL void Abc_FrameSetManDsd (void *pMan)
 
ABC_DLL void Abc_FrameSetManDsd2 (void *pMan)
 
ABC_DLL void Abc_FrameSetInv (Vec_Int_t *vInv)
 
ABC_DLL void Abc_FrameSetCnf (Vec_Int_t *vInv)
 
ABC_DLL void Abc_FrameSetStr (Vec_Str_t *vInv)
 
ABC_DLL void Abc_FrameSetJsonStrs (Abc_Nam_t *pStrs)
 
ABC_DLL void Abc_FrameSetJsonObjs (Vec_Wec_t *vObjs)
 
ABC_DLL void Abc_FrameSetSignalNames (Vec_Ptr_t *vNames)
 
ABC_DLL void Abc_FrameSetSpecName (char *pFileName)
 
ABC_DLL int Abc_FrameCheckPoConst (Abc_Frame_t *p, int iPoNum)
 
ABC_DLL void Abc_FrameReplaceCex (Abc_Frame_t *pAbc, Abc_Cex_t **ppCex)
 FUNCTION DEFINITIONS ///.
 
ABC_DLL void Abc_FrameReplaceCexVec (Abc_Frame_t *pAbc, Vec_Ptr_t **pvCexVec)
 
ABC_DLL void Abc_FrameReplacePoEquivs (Abc_Frame_t *pAbc, Vec_Ptr_t **pvPoEquivs)
 
ABC_DLL void Abc_FrameReplacePoStatuses (Abc_Frame_t *pAbc, Vec_Int_t **pvStatuses)
 
ABC_DLL char * Abc_FrameReadDrivingCell ()
 
ABC_DLL float Abc_FrameReadMaxLoad ()
 
ABC_DLL void Abc_FrameSetDrivingCell (char *pName)
 
ABC_DLL void Abc_FrameSetMaxLoad (float Load)
 
ABC_DLL void Abc_FrameSetArrayMapping (int *p)
 
ABC_DLL void Abc_FrameSetBoxes (int *p)
 

Function Documentation

◆ Abc_FrameCheckPoConst()

ABC_DLL int Abc_FrameCheckPoConst ( Abc_Frame_t * p,
int iPoNum )
extern

Function*************************************************************

Synopsis [Returns 0/1 if pNtkCur is an AIG and PO is 0/1; -1 otherwise.]

Description []

SideEffects []

SeeAlso []

Definition at line 734 of file mainFrame.c.

735{
736 Abc_Obj_t * pObj;
737 if ( p->pNtkCur == NULL )
738 return -1;
739 if ( !Abc_NtkIsStrash(p->pNtkCur) )
740 return -1;
741 if ( iPoNum < 0 || iPoNum >= Abc_NtkPoNum(p->pNtkCur) )
742 return -1;
743 pObj = Abc_NtkPo( p->pNtkCur, iPoNum );
744 if ( !Abc_AigNodeIsConst(Abc_ObjFanin0(pObj)) )
745 return -1;
746 return !Abc_ObjFaninC0(pObj);
747}
struct Abc_Obj_t_ Abc_Obj_t
Definition abc.h:116
Cube * p
Definition exorList.c:222
Here is the caller graph for this function:

◆ Abc_FrameClearVerifStatus()

ABC_DLL void Abc_FrameClearVerifStatus ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 292 of file mainFrame.c.

293{
294 p->nFrames = -1;
295 p->Status = -1;
296 ABC_FREE( p->pCex );
297}
#define ABC_FREE(obj)
Definition abc_global.h:267

◆ Abc_FrameDeleteAllNetworks()

ABC_DLL void Abc_FrameDeleteAllNetworks ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 596 of file mainFrame.c.

597{
598 Abc_Ntk_t * pNtk, * pNtk2;
599 // delete all the currently saved networks
600 for ( pNtk = p->pNtkCur,
601 pNtk2 = pNtk? Abc_NtkBackup(pNtk): NULL;
602 pNtk;
603 pNtk = pNtk2,
604 pNtk2 = pNtk? Abc_NtkBackup(pNtk): NULL )
605 Abc_NtkDelete( pNtk );
606 // set the current network empty
607 p->pNtkCur = NULL;
608// fprintf( p->Out, "All networks have been deleted.\n" );
609 Gia_ManStopP( &p->pGia );
610 Gia_ManStopP( &p->pGia2 );
611 Gia_ManStopP( &p->pGiaBest );
612 Gia_ManStopP( &p->pGiaBest2 );
613 Gia_ManStopP( &p->pGiaSaved );
614}
struct Abc_Ntk_t_ Abc_Ntk_t
Definition abc.h:115
ABC_DLL void Abc_NtkDelete(Abc_Ntk_t *pNtk)
Definition abcNtk.c:1421
void Gia_ManStopP(Gia_Man_t **p)
Definition giaMan.c:224
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameGetGia()

ABC_DLL Gia_Man_t * Abc_FrameGetGia ( Abc_Frame_t * pAbc)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 869 of file abc.c.

870{
871 Gia_Man_t * pGia;
872 if ( pAbc->pGia2 )
873 Gia_ManStop( pAbc->pGia2 );
874 pAbc->pGia2 = NULL;
875 pGia = pAbc->pGia;
876 pAbc->pGia = NULL;
877 return pGia;
878}
void Gia_ManStop(Gia_Man_t *p)
Definition giaMan.c:82
struct Gia_Man_t_ Gia_Man_t
Definition gia.h:96
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameGetGlobalFrame()

ABC_DLL Abc_Frame_t * Abc_FrameGetGlobalFrame ( )
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 643 of file mainFrame.c.

644{
645 if ( s_GlobalFrame == 0 )
646 {
647 // start the framework
648 s_GlobalFrame = Abc_FrameAllocate();
649 // perform initializations
650 Abc_FrameInit( s_GlobalFrame );
651 }
652 return s_GlobalFrame;
653}
Abc_Frame_t * Abc_FrameAllocate()
Definition mainFrame.c:162
void Abc_FrameInit(Abc_Frame_t *pAbc)
FUNCTION DEFINITIONS ///.
Definition mainInit.c:106

◆ Abc_FrameIsBatchMode()

ABC_DLL int Abc_FrameIsBatchMode ( )
extern

Definition at line 110 of file mainFrame.c.

110{ return s_GlobalFrame ? s_GlobalFrame->fBatchMode : 0; }
Here is the caller graph for this function:

◆ Abc_FrameIsBridgeMode()

ABC_DLL int Abc_FrameIsBridgeMode ( )
extern

Definition at line 113 of file mainFrame.c.

113{ return s_GlobalFrame ? s_GlobalFrame->fBridgeMode : 0; }
Here is the caller graph for this function:

◆ Abc_FrameIsFlagEnabled()

ABC_DLL int Abc_FrameIsFlagEnabled ( char * pFlag)
extern

Function*************************************************************

Synopsis [Returns 1 if the flag is enabled without value or with value 1.]

Description []

SideEffects []

SeeAlso []

Definition at line 138 of file mainFrame.c.

139{
140 char * pValue;
141 // if flag is not defined, it is not enabled
142 pValue = Abc_FrameReadFlag( pFlag );
143 if ( pValue == NULL )
144 return 0;
145 // if flag is defined but value is not empty (no parameter) or "1", it is not enabled
146 if ( strcmp(pValue, "") && strcmp(pValue, "1") )
147 return 0;
148 return 1;
149}
char * Abc_FrameReadFlag(char *pFlag)
Definition mainFrame.c:69
int strcmp()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameReadBmcFrames()

ABC_DLL int Abc_FrameReadBmcFrames ( Abc_Frame_t * p)
extern

Definition at line 73 of file mainFrame.c.

73{ return s_GlobalFrame->nFrames; }

◆ Abc_FrameReadCex()

ABC_DLL void * Abc_FrameReadCex ( Abc_Frame_t * p)
extern

Definition at line 75 of file mainFrame.c.

75{ return s_GlobalFrame->pCex; }

◆ Abc_FrameReadCexFrame()

ABC_DLL int Abc_FrameReadCexFrame ( Abc_Frame_t * p)
extern

Definition at line 87 of file mainFrame.c.

87{ return s_GlobalFrame->pCex->iFrame; }

◆ Abc_FrameReadCexPiNum()

ABC_DLL int Abc_FrameReadCexPiNum ( Abc_Frame_t * p)
extern

Definition at line 84 of file mainFrame.c.

84{ return s_GlobalFrame->pCex->nPis; }

◆ Abc_FrameReadCexPo()

ABC_DLL int Abc_FrameReadCexPo ( Abc_Frame_t * p)
extern

Definition at line 86 of file mainFrame.c.

86{ return s_GlobalFrame->pCex->iPo; }

◆ Abc_FrameReadCexRegNum()

ABC_DLL int Abc_FrameReadCexRegNum ( Abc_Frame_t * p)
extern

Definition at line 85 of file mainFrame.c.

85{ return s_GlobalFrame->pCex->nRegs; }

◆ Abc_FrameReadCexVec()

ABC_DLL Vec_Ptr_t * Abc_FrameReadCexVec ( Abc_Frame_t * p)
extern

Definition at line 76 of file mainFrame.c.

76{ return s_GlobalFrame->vCexVec; }
Here is the caller graph for this function:

◆ Abc_FrameReadDrivingCell()

ABC_DLL char * Abc_FrameReadDrivingCell ( )
extern

Definition at line 116 of file mainFrame.c.

116{ return s_GlobalFrame->pDrivingCell; }
Here is the caller graph for this function:

◆ Abc_FrameReadErr()

ABC_DLL FILE * Abc_FrameReadErr ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 375 of file mainFrame.c.

376{
377 return p->Err;
378}
Here is the caller graph for this function:

◆ Abc_FrameReadFlag()

ABC_DLL char * Abc_FrameReadFlag ( char * pFlag)
extern

Definition at line 69 of file mainFrame.c.

69{ return Cmd_FlagReadByName( s_GlobalFrame, pFlag ); }
char * Cmd_FlagReadByName(Abc_Frame_t *pAbc, char *flag)
DECLARATIONS ///.
Definition cmdFlag.c:47
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameReadGia()

ABC_DLL Gia_Man_t * Abc_FrameReadGia ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 343 of file mainFrame.c.

344{
345 return p->pGia;
346}
Here is the caller graph for this function:

◆ Abc_FrameReadGlobalFrame()

ABC_DLL Abc_Frame_t * Abc_FrameReadGlobalFrame ( )
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 666 of file mainFrame.c.

667{
668 return s_GlobalFrame;
669}
Here is the caller graph for this function:

◆ Abc_FrameReadJsonObjs()

ABC_DLL Vec_Wec_t * Abc_FrameReadJsonObjs ( Abc_Frame_t * p)
extern

Definition at line 82 of file mainFrame.c.

82{ return s_GlobalFrame->vJsonObjs; }

◆ Abc_FrameReadJsonStrs()

ABC_DLL Abc_Nam_t * Abc_FrameReadJsonStrs ( Abc_Frame_t * p)
extern

Definition at line 81 of file mainFrame.c.

81{ return s_GlobalFrame->pJsonStrs; }

◆ Abc_FrameReadLibBox()

ABC_DLL void * Abc_FrameReadLibBox ( )
extern

Definition at line 58 of file mainFrame.c.

58{ return s_GlobalFrame->pLibBox; }
Here is the caller graph for this function:

◆ Abc_FrameReadLibGen()

ABC_DLL void * Abc_FrameReadLibGen ( )
extern

Definition at line 59 of file mainFrame.c.

59{ return s_GlobalFrame->pLibGen; }
Here is the caller graph for this function:

◆ Abc_FrameReadLibGen2()

ABC_DLL void * Abc_FrameReadLibGen2 ( )
extern

Definition at line 60 of file mainFrame.c.

60{ return s_GlobalFrame->pLibGen2; }
Here is the caller graph for this function:

◆ Abc_FrameReadLibLut()

ABC_DLL void * Abc_FrameReadLibLut ( )
extern

Definition at line 57 of file mainFrame.c.

57{ return s_GlobalFrame->pLibLut; }
Here is the caller graph for this function:

◆ Abc_FrameReadLibScl()

ABC_DLL void * Abc_FrameReadLibScl ( )
extern

Definition at line 62 of file mainFrame.c.

62{ return s_GlobalFrame->pLibScl; }
Here is the caller graph for this function:

◆ Abc_FrameReadLibSuper()

ABC_DLL void * Abc_FrameReadLibSuper ( )
extern

Definition at line 61 of file mainFrame.c.

61{ return s_GlobalFrame->pLibSuper; }
Here is the caller graph for this function:

◆ Abc_FrameReadManDd()

ABC_DLL void * Abc_FrameReadManDd ( )
extern
Here is the caller graph for this function:

◆ Abc_FrameReadManDec()

ABC_DLL void * Abc_FrameReadManDec ( )
extern

Definition at line 66 of file mainFrame.c.

66{ if ( s_GlobalFrame->pManDec == NULL ) s_GlobalFrame->pManDec = Dec_ManStart(); return s_GlobalFrame->pManDec; }
Dec_Man_t * Dec_ManStart()
DECLARATIONS ///.
Definition decMan.c:45
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameReadManDsd()

ABC_DLL void * Abc_FrameReadManDsd ( )
extern

Definition at line 67 of file mainFrame.c.

67{ return s_GlobalFrame->pManDsd; }
Here is the caller graph for this function:

◆ Abc_FrameReadManDsd2()

ABC_DLL void * Abc_FrameReadManDsd2 ( )
extern

Definition at line 68 of file mainFrame.c.

68{ return s_GlobalFrame->pManDsd2; }
Here is the caller graph for this function:

◆ Abc_FrameReadMaxLoad()

ABC_DLL float Abc_FrameReadMaxLoad ( )
extern

Definition at line 117 of file mainFrame.c.

117{ return s_GlobalFrame->MaxLoad; }
Here is the caller graph for this function:

◆ Abc_FrameReadMode()

ABC_DLL int Abc_FrameReadMode ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 391 of file mainFrame.c.

392{
393 int fShortNames;
394 char * pValue;
395 pValue = Cmd_FlagReadByName( p, "namemode" );
396 if ( pValue == NULL )
397 fShortNames = 0;
398 else
399 fShortNames = atoi(pValue);
400 return fShortNames;
401}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameReadNtk()

ABC_DLL Abc_Ntk_t * Abc_FrameReadNtk ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 327 of file mainFrame.c.

328{
329 return p->pNtkCur;
330}
Here is the caller graph for this function:

◆ Abc_FrameReadObjIds()

ABC_DLL Vec_Int_t * Abc_FrameReadObjIds ( Abc_Frame_t * p)
extern

Definition at line 80 of file mainFrame.c.

80{ return s_GlobalFrame->vAbcObjIds; }

◆ Abc_FrameReadOut()

ABC_DLL FILE * Abc_FrameReadOut ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 359 of file mainFrame.c.

360{
361 return p->Out;
362}
Here is the caller graph for this function:

◆ Abc_FrameReadPoEquivs()

ABC_DLL Vec_Ptr_t * Abc_FrameReadPoEquivs ( Abc_Frame_t * p)
extern

Definition at line 78 of file mainFrame.c.

78{ return s_GlobalFrame->vPoEquivs; }

◆ Abc_FrameReadPoStatuses()

ABC_DLL Vec_Int_t * Abc_FrameReadPoStatuses ( Abc_Frame_t * p)
extern

Definition at line 79 of file mainFrame.c.

79{ return s_GlobalFrame->vStatuses; }
Here is the caller graph for this function:

◆ Abc_FrameReadProbStatus()

ABC_DLL int Abc_FrameReadProbStatus ( Abc_Frame_t * p)
extern

Definition at line 74 of file mainFrame.c.

74{ return s_GlobalFrame->Status; }

◆ Abc_FrameReadSignalNames()

ABC_DLL Vec_Ptr_t * Abc_FrameReadSignalNames ( )
extern

Definition at line 70 of file mainFrame.c.

70{ return s_GlobalFrame->vSignalNames; }
Here is the caller graph for this function:

◆ Abc_FrameReadSpecName()

ABC_DLL char * Abc_FrameReadSpecName ( )
extern

Definition at line 71 of file mainFrame.c.

71{ return s_GlobalFrame->pSpecName; }
Here is the caller graph for this function:

◆ Abc_FrameReadStatusVec()

ABC_DLL Vec_Int_t * Abc_FrameReadStatusVec ( Abc_Frame_t * p)
extern

Definition at line 77 of file mainFrame.c.

77{ return s_GlobalFrame->vStatuses; }

◆ Abc_FrameReadStore()

ABC_DLL Vec_Ptr_t * Abc_FrameReadStore ( )
extern

FUNCTION DEFINITIONS ///.

Function*************************************************************

Synopsis [APIs to access parameters in the flobal frame.]

Description []

SideEffects []

SeeAlso []

Definition at line 55 of file mainFrame.c.

55{ return s_GlobalFrame->vStore; }
Here is the caller graph for this function:

◆ Abc_FrameReadStoreSize()

ABC_DLL int Abc_FrameReadStoreSize ( )
extern

Definition at line 56 of file mainFrame.c.

56{ return Vec_PtrSize(s_GlobalFrame->vStore); }
Here is the caller graph for this function:

◆ Abc_FrameReplaceCex()

ABC_DLL void Abc_FrameReplaceCex ( Abc_Frame_t * pAbc,
Abc_Cex_t ** ppCex )
extern

FUNCTION DEFINITIONS ///.

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 679 of file abc.c.

680{
681 // update CEX
682 ABC_FREE( pAbc->pCex );
683 pAbc->pCex = *ppCex;
684 *ppCex = NULL;
685 // remove CEX vector
686 if ( pAbc->vCexVec )
687 {
688 Vec_PtrFreeFree( pAbc->vCexVec );
689 pAbc->vCexVec = NULL;
690 }
691}
Here is the caller graph for this function:

◆ Abc_FrameReplaceCexVec()

ABC_DLL void Abc_FrameReplaceCexVec ( Abc_Frame_t * pAbc,
Vec_Ptr_t ** pvCexVec )
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 704 of file abc.c.

705{
706 // update CEX vector
707 if ( pAbc->vCexVec )
708 Vec_PtrFreeFree( pAbc->vCexVec );
709 pAbc->vCexVec = *pvCexVec;
710 *pvCexVec = NULL;
711 // remove CEX
712 ABC_FREE( pAbc->pCex );
713}
Here is the caller graph for this function:

◆ Abc_FrameReplaceCurrentNetwork()

ABC_DLL void Abc_FrameReplaceCurrentNetwork ( Abc_Frame_t * p,
Abc_Ntk_t * pNtk )
extern

Function*************************************************************

Synopsis [Replaces the current network by the given one.]

Description [This procedure does not modify the stack of saved networks.]

SideEffects []

SeeAlso []

Definition at line 538 of file mainFrame.c.

539{
540 if ( pNtk == NULL )
541 return;
542
543 if ( Abc_NtkPoNum(pNtk) == 0 )
544 Abc_Print( 0, "The current network has no primary outputs. Some commands may not work correctly.\n" );
545
546 // transfer the parameters to the new network
547 if ( p->pNtkCur && Abc_FrameIsFlagEnabled( "backup" ) )
548 {
549 Abc_NtkSetBackup( pNtk, Abc_NtkBackup(p->pNtkCur) );
550 Abc_NtkSetStep( pNtk, Abc_NtkStep(p->pNtkCur) );
551 // delete the current network
552 Abc_NtkDelete( p->pNtkCur );
553 }
554 else
555 {
556 Abc_NtkSetBackup( pNtk, NULL );
557 Abc_NtkSetStep( pNtk, ++p->nSteps );
558 // delete the current network if present but backup is disabled
559 if ( p->pNtkCur )
560 Abc_NtkDelete( p->pNtkCur );
561 }
562 // set the new current network
563 p->pNtkCur = pNtk;
564}
ABC_DLL int Abc_FrameIsFlagEnabled(char *pFlag)
Definition mainFrame.c:138
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameReplacePoEquivs()

ABC_DLL void Abc_FrameReplacePoEquivs ( Abc_Frame_t * pAbc,
Vec_Ptr_t ** pvPoEquivs )
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 726 of file abc.c.

727{
728 if ( pAbc->vPoEquivs )
729 Vec_VecFree( (Vec_Vec_t *)pAbc->vPoEquivs );
730 pAbc->vPoEquivs = *pvPoEquivs;
731 *pvPoEquivs = NULL;
732}
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.
Definition vecVec.h:42
Here is the caller graph for this function:

◆ Abc_FrameReplacePoStatuses()

ABC_DLL void Abc_FrameReplacePoStatuses ( Abc_Frame_t * pAbc,
Vec_Int_t ** pvStatuses )
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 745 of file abc.c.

746{
747 if ( pAbc->vStatuses )
748 Vec_IntFree( pAbc->vStatuses );
749 pAbc->vStatuses = *pvStatuses;
750 *pvStatuses = NULL;
751}

◆ Abc_FrameRestart()

ABC_DLL void Abc_FrameRestart ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 277 of file mainFrame.c.

278{
279}

◆ Abc_FrameSetArrayMapping()

ABC_DLL void Abc_FrameSetArrayMapping ( int * p)
extern

Definition at line 122 of file mainFrame.c.

122{ ABC_FREE( s_GlobalFrame->pArray ); s_GlobalFrame->pArray = p; }

◆ Abc_FrameSetBatchMode()

ABC_DLL void Abc_FrameSetBatchMode ( int Mode)
extern

Definition at line 111 of file mainFrame.c.

111{ if ( s_GlobalFrame ) s_GlobalFrame->fBatchMode = Mode; }
Here is the caller graph for this function:

◆ Abc_FrameSetBoxes()

ABC_DLL void Abc_FrameSetBoxes ( int * p)
extern

Definition at line 125 of file mainFrame.c.

125{ ABC_FREE( s_GlobalFrame->pBoxes ); s_GlobalFrame->pBoxes = p; }
Here is the caller graph for this function:

◆ Abc_FrameSetBridgeMode()

ABC_DLL void Abc_FrameSetBridgeMode ( )
extern

Definition at line 114 of file mainFrame.c.

114{ if ( s_GlobalFrame ) s_GlobalFrame->fBridgeMode = 1; }
Here is the caller graph for this function:

◆ Abc_FrameSetCex()

ABC_DLL void Abc_FrameSetCex ( Abc_Cex_t * pCex)
extern

Definition at line 99 of file mainFrame.c.

99{ ABC_FREE( s_GlobalFrame->pCex ); s_GlobalFrame->pCex = pCex; }
Here is the caller graph for this function:

◆ Abc_FrameSetCnf()

ABC_DLL void Abc_FrameSetCnf ( Vec_Int_t * vInv)
extern

◆ Abc_FrameSetCurrentNetwork()

ABC_DLL void Abc_FrameSetCurrentNetwork ( Abc_Frame_t * p,
Abc_Ntk_t * pNtkNew )
extern

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 []

Definition at line 441 of file mainFrame.c.

442{
443 Abc_Ntk_t * pNtk, * pNtk2, * pNtk3;
444 int nNetsPresent;
445 int nNetsToSave;
446 char * pValue;
447
448 if ( p->pNtkCur == pNtkNew )
449 return;
450
451 // link it to the previous network
452 Abc_NtkSetBackup( pNtkNew, p->pNtkCur );
453 // set the step of this network
454 Abc_NtkSetStep( pNtkNew, ++p->nSteps );
455 // set this network to be the current network
456 p->pNtkCur = pNtkNew;
457
458 // remove any extra network that may happen to be in the stack
459 pValue = Cmd_FlagReadByName( p, "savesteps" );
460 // if the value of steps to save is not set, assume 1-level undo
461 if ( pValue == NULL )
462 nNetsToSave = 1;
463 else
464 nNetsToSave = atoi(pValue);
465
466 // count the network, remember the last one, and the one before the last one
467 nNetsPresent = 0;
468 pNtk2 = pNtk3 = NULL;
469 for ( pNtk = p->pNtkCur; pNtk; pNtk = Abc_NtkBackup(pNtk2) )
470 {
471 nNetsPresent++;
472 pNtk3 = pNtk2;
473 pNtk2 = pNtk;
474 }
475
476 // remove the earliest backup network if it is more steps away than we store
477 if ( nNetsPresent - 1 > nNetsToSave )
478 { // delete the last network
479 Abc_NtkDelete( pNtk2 );
480 // clean the pointer of the network before the last one
481 Abc_NtkSetBackup( pNtk3, NULL );
482 }
483}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameSetDrivingCell()

ABC_DLL void Abc_FrameSetDrivingCell ( char * pName)
extern

Definition at line 118 of file mainFrame.c.

118{ ABC_FREE(s_GlobalFrame->pDrivingCell); s_GlobalFrame->pDrivingCell = pName; }
Here is the caller graph for this function:

◆ Abc_FrameSetFlag()

ABC_DLL void Abc_FrameSetFlag ( char * pFlag,
char * pValue )
extern

Definition at line 98 of file mainFrame.c.

98{ Cmd_FlagUpdateValue( s_GlobalFrame, pFlag, pValue ); }
void Cmd_FlagUpdateValue(Abc_Frame_t *pAbc, const char *key, char *value)
Definition cmdFlag.c:65
Here is the call graph for this function:

◆ Abc_FrameSetGlobalFrame()

ABC_DLL void Abc_FrameSetGlobalFrame ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 627 of file mainFrame.c.

628{
629 s_GlobalFrame = p;
630}

◆ Abc_FrameSetInv()

ABC_DLL void Abc_FrameSetInv ( Vec_Int_t * vInv)
extern

Definition at line 104 of file mainFrame.c.

104{ Vec_IntFreeP(&s_GlobalFrame->pAbcWlcInv); s_GlobalFrame->pAbcWlcInv = vInv; }
Here is the caller graph for this function:

◆ Abc_FrameSetJsonObjs()

ABC_DLL void Abc_FrameSetJsonObjs ( Vec_Wec_t * vObjs)
extern

Definition at line 106 of file mainFrame.c.

106{ Vec_WecFreeP(&s_GlobalFrame->vJsonObjs ); s_GlobalFrame->vJsonObjs = vObjs; }

◆ Abc_FrameSetJsonStrs()

ABC_DLL void Abc_FrameSetJsonStrs ( Abc_Nam_t * pStrs)
extern

Definition at line 105 of file mainFrame.c.

105{ Abc_NamDeref( s_GlobalFrame->pJsonStrs ); s_GlobalFrame->pJsonStrs = pStrs; }
void Abc_NamDeref(Abc_Nam_t *p)
Definition utilNam.c:212
Here is the call graph for this function:

◆ Abc_FrameSetLibBox()

ABC_DLL void Abc_FrameSetLibBox ( void * pLib)
extern

Definition at line 94 of file mainFrame.c.

94{ s_GlobalFrame->pLibBox = pLib; }
Here is the caller graph for this function:

◆ Abc_FrameSetLibGen()

ABC_DLL void Abc_FrameSetLibGen ( void * pLib)
extern

Definition at line 95 of file mainFrame.c.

95{ s_GlobalFrame->pLibGen = pLib; }
Here is the caller graph for this function:

◆ Abc_FrameSetLibGen2()

ABC_DLL void Abc_FrameSetLibGen2 ( void * pLib)
extern

Definition at line 96 of file mainFrame.c.

96{ s_GlobalFrame->pLibGen2 = pLib; }
Here is the caller graph for this function:

◆ Abc_FrameSetLibLut()

ABC_DLL void Abc_FrameSetLibLut ( void * pLib)
extern

Definition at line 93 of file mainFrame.c.

93{ s_GlobalFrame->pLibLut = pLib; }
Here is the caller graph for this function:

◆ Abc_FrameSetLibSuper()

ABC_DLL void Abc_FrameSetLibSuper ( void * pLib)
extern

Definition at line 97 of file mainFrame.c.

97{ s_GlobalFrame->pLibSuper = pLib; }
Here is the caller graph for this function:

◆ Abc_FrameSetLibVer()

ABC_DLL void Abc_FrameSetLibVer ( void * pLib)
extern

◆ Abc_FrameSetManDsd()

ABC_DLL void Abc_FrameSetManDsd ( void * pMan)
extern

Definition at line 102 of file mainFrame.c.

102{ if (s_GlobalFrame->pManDsd && s_GlobalFrame->pManDsd != pMan) If_DsdManFree((If_DsdMan_t *)s_GlobalFrame->pManDsd, 0); s_GlobalFrame->pManDsd = pMan; }
struct If_DsdMan_t_ If_DsdMan_t
Definition if.h:84
void If_DsdManFree(If_DsdMan_t *p, int fVerbose)
Definition ifDsd.c:333
Here is the call graph for this function:

◆ Abc_FrameSetManDsd2()

ABC_DLL void Abc_FrameSetManDsd2 ( void * pMan)
extern

Definition at line 103 of file mainFrame.c.

103{ if (s_GlobalFrame->pManDsd2 && s_GlobalFrame->pManDsd2 != pMan) If_DsdManFree((If_DsdMan_t *)s_GlobalFrame->pManDsd2, 0); s_GlobalFrame->pManDsd2 = pMan; }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameSetMaxLoad()

ABC_DLL void Abc_FrameSetMaxLoad ( float Load)
extern

Definition at line 119 of file mainFrame.c.

119{ s_GlobalFrame->MaxLoad = Load; }
Here is the caller graph for this function:

◆ Abc_FrameSetMode()

ABC_DLL int Abc_FrameSetMode ( Abc_Frame_t * p,
int fNameMode )
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 414 of file mainFrame.c.

415{
416 char Buffer[2];
417 int fNameModeOld;
418 fNameModeOld = Abc_FrameReadMode( p );
419 Buffer[0] = '0' + fNameMode;
420 Buffer[1] = 0;
421 Cmd_FlagUpdateValue( p, "namemode", (char *)Buffer );
422 return fNameModeOld;
423}
int Abc_FrameReadMode(Abc_Frame_t *p)
Definition mainFrame.c:391
Here is the call graph for this function:

◆ Abc_FrameSetNFrames()

ABC_DLL void Abc_FrameSetNFrames ( int nFrames)
extern

Definition at line 100 of file mainFrame.c.

100{ ABC_FREE( s_GlobalFrame->pCex ); s_GlobalFrame->nFrames = nFrames; }
Here is the caller graph for this function:

◆ Abc_FrameSetNtkStore()

ABC_DLL void Abc_FrameSetNtkStore ( Abc_Ntk_t * pNtk)
extern

◆ Abc_FrameSetNtkStoreSize()

ABC_DLL void Abc_FrameSetNtkStoreSize ( int nStored)
extern

◆ Abc_FrameSetSignalNames()

ABC_DLL void Abc_FrameSetSignalNames ( Vec_Ptr_t * vNames)
extern

Definition at line 107 of file mainFrame.c.

107{ if ( s_GlobalFrame->vSignalNames ) Vec_PtrFreeFree( s_GlobalFrame->vSignalNames ); s_GlobalFrame->vSignalNames = vNames; }

◆ Abc_FrameSetSpecName()

ABC_DLL void Abc_FrameSetSpecName ( char * pFileName)
extern

Definition at line 108 of file mainFrame.c.

108{ ABC_FREE( s_GlobalFrame->pSpecName ); s_GlobalFrame->pSpecName = pFileName; }

◆ Abc_FrameSetStatus()

ABC_DLL void Abc_FrameSetStatus ( int Status)
extern

Definition at line 101 of file mainFrame.c.

101{ ABC_FREE( s_GlobalFrame->pCex ); s_GlobalFrame->Status = Status; }
Here is the caller graph for this function:

◆ Abc_FrameSetStr()

ABC_DLL void Abc_FrameSetStr ( Vec_Str_t * vInv)
extern

◆ Abc_FrameShowProgress()

ABC_DLL int Abc_FrameShowProgress ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 310 of file mainFrame.c.

311{
312 return Abc_FrameIsFlagEnabled( "progressbar" );
313}
int Abc_FrameIsFlagEnabled(char *pFlag)
Definition mainFrame.c:138
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameSwapCurrentAndBackup()

ABC_DLL void Abc_FrameSwapCurrentAndBackup ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis [This procedure swaps the current and the backup network.]

Description []

SideEffects []

SeeAlso []

Definition at line 496 of file mainFrame.c.

497{
498 Abc_Ntk_t * pNtkCur, * pNtkBack, * pNtkBack2;
499 int iStepCur, iStepBack;
500
501 pNtkCur = p->pNtkCur;
502 pNtkBack = Abc_NtkBackup( pNtkCur );
503 iStepCur = Abc_NtkStep ( pNtkCur );
504
505 // if there is no backup nothing to reset
506 if ( pNtkBack == NULL )
507 return;
508
509 // remember the backup of the backup
510 pNtkBack2 = Abc_NtkBackup( pNtkBack );
511 iStepBack = Abc_NtkStep ( pNtkBack );
512
513 // set pNtkCur to be the next after the backup's backup
514 Abc_NtkSetBackup( pNtkCur, pNtkBack2 );
515 Abc_NtkSetStep ( pNtkCur, iStepBack );
516
517 // set pNtkCur to be the next after the backup
518 Abc_NtkSetBackup( pNtkBack, pNtkCur );
519 Abc_NtkSetStep ( pNtkBack, iStepCur );
520
521 // set the current network
522 p->pNtkCur = pNtkBack;
523}
Here is the caller graph for this function:

◆ Abc_FrameUnmapAllNetworks()

ABC_DLL void Abc_FrameUnmapAllNetworks ( Abc_Frame_t * p)
extern

Function*************************************************************

Synopsis [Removes library binding of all currently stored networks.]

Description [This procedure is called when the library is freed.]

SideEffects []

SeeAlso []

Definition at line 577 of file mainFrame.c.

578{
579 Abc_Ntk_t * pNtk;
580 for ( pNtk = p->pNtkCur; pNtk; pNtk = Abc_NtkBackup(pNtk) )
581 if ( Abc_NtkHasMapping(pNtk) )
582 Abc_NtkMapToSop( pNtk );
583}
ABC_DLL int Abc_NtkMapToSop(Abc_Ntk_t *pNtk)
Definition abcFunc.c:1228
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_FrameUpdateGia()

ABC_DLL void Abc_FrameUpdateGia ( Abc_Frame_t * pAbc,
Gia_Man_t * pNew )
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 824 of file abc.c.

825{
826 if ( pNew == NULL )
827 {
828 Abc_Print( -1, "Abc_FrameUpdateGia(): Transformation has failed.\n" );
829 return;
830 }
831 if ( Gia_ManPoNum(pNew) == 0 )
832 Abc_Print( 0, "The current GIA has no primary outputs. Some commands may not work correctly.\n" );
833 if ( pNew == pAbc->pGia )
834 return;
835 // transfer names
836 if (!pNew->vNamesIn && pAbc->pGia && pAbc->pGia->vNamesIn && Gia_ManCiNum(pNew) == Vec_PtrSize(pAbc->pGia->vNamesIn))
837 {
838 pNew->vNamesIn = pAbc->pGia->vNamesIn;
839 pAbc->pGia->vNamesIn = NULL;
840 }
841 if (!pNew->vNamesOut && pAbc->pGia && pAbc->pGia->vNamesOut && Gia_ManCoNum(pNew) == Vec_PtrSize(pAbc->pGia->vNamesOut))
842 {
843 pNew->vNamesOut = pAbc->pGia->vNamesOut;
844 pAbc->pGia->vNamesOut = NULL;
845 }
846 if (!pNew->vNamesNode && pAbc->pGia && pAbc->pGia->vNamesNode && Gia_ManObjNum(pNew) == Vec_PtrSize(pAbc->pGia->vNamesNode))
847 {
848 pNew->vNamesNode = pAbc->pGia->vNamesNode;
849 pAbc->pGia->vNamesNode = NULL;
850 }
851 // update
852 if ( pAbc->pGia2 )
853 Gia_ManStop( pAbc->pGia2 );
854 pAbc->pGia2 = pAbc->pGia;
855 pAbc->pGia = pNew;
856}
Vec_Ptr_t * vNamesIn
Definition gia.h:181
Vec_Ptr_t * vNamesOut
Definition gia.h:182
Vec_Ptr_t * vNamesNode
Definition gia.h:183
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Abc_Start()

ABC_NAMESPACE_HEADER_START ABC_DLL void Abc_Start ( )
extern

INCLUDES ///.

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.]

Revision [

Id
main.h,v 1.1 2008/05/14 22:13:13 wudenni Exp

] PARAMETERS /// TYPEDEFS /// GLOBAL VARIABLES /// STRUCTURE DEFINITIONS /// MACRO DEFINITIONS /// FUNCTION DEFINITIONS ///

INCLUDES ///.

FUNCTION DECLARATIONS ///.

CFile****************************************************************

FileName [main.c]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [The main package.]

Synopsis [Here everything starts.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

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

Revision [

Id
main.c,v 1.00 2005/06/20 00:00:00 alanmi Exp

] FUNCTION DEFINITIONS /// Function*************************************************************

Synopsis [Initialization procedure for the library project.]

Description [Note that when Abc_Start() is run in a static library project, it does not load the resource file by default. As a result, ABC is not set up the same way, as when it is run on a command line. For example, some error messages while parsing files will not be produced, and intermediate networks will not be checked for consistancy. One possibility is to load the resource file after Abc_Start() as follows: Abc_UtilsSource( Abc_FrameGetGlobalFrame() );]

SideEffects []

SeeAlso []

Definition at line 52 of file mainLib.c.

53{
54 Abc_Frame_t * pAbc;
55 // added to detect memory leaks:
56#if defined(_DEBUG) && defined(_MSC_VER)
57 _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
58#endif
59 // start the glocal frame
61 // source the resource file
62// Abc_UtilsSource( pAbc );
63}
typedefABC_NAMESPACE_HEADER_START struct Abc_Frame_t_ Abc_Frame_t
INCLUDES ///.
Definition abcapis.h:38
ABC_DLL Abc_Frame_t * Abc_FrameGetGlobalFrame()
Definition mainFrame.c:643

◆ Abc_Stop()

ABC_DLL void Abc_Stop ( )
extern

Function*************************************************************

Synopsis [Deallocation procedure for the library project.]

Description []

SideEffects []

SeeAlso []

Definition at line 76 of file mainLib.c.

77{
78 Abc_Frame_t * pAbc;
80 // perform uninitializations
81 Abc_FrameEnd( pAbc );
82 // stop the framework
83 Abc_FrameDeallocate( pAbc );
84}
void Abc_FrameDeallocate(Abc_Frame_t *p)
Definition mainFrame.c:204
void Abc_FrameEnd(Abc_Frame_t *pAbc)
Definition mainInit.c:145