summaryrefslogtreecommitdiffstats
path: root/src/base/main
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2021-11-12 12:31:29 +0100
committerMiodrag Milanovic <mmicko@gmail.com>2021-11-12 12:31:29 +0100
commitd2d6bbd9f86f61fc9b5cc7d703e1386bbd6ad6a2 (patch)
tree071fb2118c158c748ff9969ef250affe7b9a3561 /src/base/main
parent4f5f73d18b137930fb3048c0b385c82fa078db38 (diff)
parent9b245d9f6910c048e9bbcf95ee5dee46f2f24f2c (diff)
downloadabc-d2d6bbd9f86f61fc9b5cc7d703e1386bbd6ad6a2.tar.gz
abc-d2d6bbd9f86f61fc9b5cc7d703e1386bbd6ad6a2.tar.bz2
abc-d2d6bbd9f86f61fc9b5cc7d703e1386bbd6ad6a2.zip
Merge remote-tracking branch 'upstream/master' into yosys-experimental
Diffstat (limited to 'src/base/main')
-rw-r--r--src/base/main/abcapis.h3
-rw-r--r--src/base/main/main.h5
-rw-r--r--src/base/main/mainFrame.c8
-rw-r--r--src/base/main/mainInit.c5
-rw-r--r--src/base/main/mainInt.h2
-rw-r--r--src/base/main/mainUtils.c7
6 files changed, 28 insertions, 2 deletions
diff --git a/src/base/main/abcapis.h b/src/base/main/abcapis.h
index e384896d..d34306ba 100644
--- a/src/base/main/abcapis.h
+++ b/src/base/main/abcapis.h
@@ -78,8 +78,11 @@ extern ABC_DLL void Abc_NtkSetFlopNum( Abc_Frame_t * pAbc, int nFlops );
// procedures to input/output 'mini LUT'
extern ABC_DLL void Abc_FrameGiaInputMiniLut( Abc_Frame_t * pAbc, void * pMiniLut );
+extern ABC_DLL void Abc_FrameGiaInputMiniLut2( Abc_Frame_t * pAbc, void * pMiniLut );
extern ABC_DLL void * Abc_FrameGiaOutputMiniLut( Abc_Frame_t * pAbc );
extern ABC_DLL char * Abc_FrameGiaOutputMiniLutAttr( Abc_Frame_t * pAbc, void * pMiniLut );
+extern ABC_DLL int * Abc_FrameReadMiniLutSwitching( Abc_Frame_t * pAbc );
+extern ABC_DLL int * Abc_FrameReadMiniLutSwitchingPo( Abc_Frame_t * pAbc );
// procedures to input/output NDR data-structure
extern ABC_DLL void Abc_FrameInputNdr( Abc_Frame_t * pAbc, void * pData );
diff --git a/src/base/main/main.h b/src/base/main/main.h
index 2efb3358..f3457e27 100644
--- a/src/base/main/main.h
+++ b/src/base/main/main.h
@@ -105,10 +105,13 @@ extern ABC_DLL void * Abc_FrameReadManDd();
extern ABC_DLL void * Abc_FrameReadManDec();
extern ABC_DLL void * Abc_FrameReadManDsd();
extern ABC_DLL void * Abc_FrameReadManDsd2();
+extern ABC_DLL Vec_Ptr_t * Abc_FrameReadSignalNames();
+extern ABC_DLL char * Abc_FrameReadSpecName();
extern ABC_DLL char * Abc_FrameReadFlag( char * pFlag );
extern ABC_DLL int Abc_FrameIsFlagEnabled( char * pFlag );
extern ABC_DLL int Abc_FrameIsBatchMode();
+extern ABC_DLL void Abc_FrameSetBatchMode( int Mode );
extern ABC_DLL int Abc_FrameIsBridgeMode();
extern ABC_DLL void Abc_FrameSetBridgeMode();
@@ -147,6 +150,8 @@ extern ABC_DLL void Abc_FrameSetCnf( Vec_Int_t * vInv );
extern ABC_DLL void Abc_FrameSetStr( Vec_Str_t * vInv );
extern ABC_DLL void Abc_FrameSetJsonStrs( Abc_Nam_t * pStrs );
extern ABC_DLL void Abc_FrameSetJsonObjs( Vec_Wec_t * vObjs );
+extern ABC_DLL void Abc_FrameSetSignalNames( Vec_Ptr_t * vNames );
+extern ABC_DLL void Abc_FrameSetSpecName( char * pFileName );
extern ABC_DLL int Abc_FrameCheckPoConst( Abc_Frame_t * p, int iPoNum );
diff --git a/src/base/main/mainFrame.c b/src/base/main/mainFrame.c
index 1d54f4e4..ba41d4c1 100644
--- a/src/base/main/mainFrame.c
+++ b/src/base/main/mainFrame.c
@@ -67,6 +67,8 @@ void * Abc_FrameReadManDec() { if ( s_GlobalFram
void * Abc_FrameReadManDsd() { return s_GlobalFrame->pManDsd; }
void * Abc_FrameReadManDsd2() { return s_GlobalFrame->pManDsd2; }
char * Abc_FrameReadFlag( char * pFlag ) { return Cmd_FlagReadByName( s_GlobalFrame, pFlag ); }
+Vec_Ptr_t * Abc_FrameReadSignalNames() { return s_GlobalFrame->vSignalNames; }
+char * Abc_FrameReadSpecName() { return s_GlobalFrame->pSpecName; }
int Abc_FrameReadBmcFrames( Abc_Frame_t * p ) { return s_GlobalFrame->nFrames; }
int Abc_FrameReadProbStatus( Abc_Frame_t * p ) { return s_GlobalFrame->Status; }
@@ -102,8 +104,11 @@ void Abc_FrameSetManDsd2( void * pMan ) { if (s_GlobalFrame
void Abc_FrameSetInv( Vec_Int_t * vInv ) { Vec_IntFreeP(&s_GlobalFrame->pAbcWlcInv); s_GlobalFrame->pAbcWlcInv = vInv; }
void Abc_FrameSetJsonStrs( Abc_Nam_t * pStrs ) { Abc_NamDeref( s_GlobalFrame->pJsonStrs ); s_GlobalFrame->pJsonStrs = pStrs; }
void Abc_FrameSetJsonObjs( Vec_Wec_t * vObjs ) { Vec_WecFreeP(&s_GlobalFrame->vJsonObjs ); s_GlobalFrame->vJsonObjs = vObjs; }
+void Abc_FrameSetSignalNames( Vec_Ptr_t * vNames ) { if ( s_GlobalFrame->vSignalNames ) Vec_PtrFreeFree( s_GlobalFrame->vSignalNames ); s_GlobalFrame->vSignalNames = vNames; }
+void Abc_FrameSetSpecName( char * pFileName ) { ABC_FREE( s_GlobalFrame->pSpecName ); s_GlobalFrame->pSpecName = pFileName; }
int Abc_FrameIsBatchMode() { return s_GlobalFrame ? s_GlobalFrame->fBatchMode : 0; }
+void Abc_FrameSetBatchMode( int Mode ) { if ( s_GlobalFrame ) s_GlobalFrame->fBatchMode = Mode; }
int Abc_FrameIsBridgeMode() { return s_GlobalFrame ? s_GlobalFrame->fBridgeMode : 0; }
void Abc_FrameSetBridgeMode() { if ( s_GlobalFrame ) s_GlobalFrame->fBridgeMode = 1; }
@@ -231,6 +236,9 @@ void Abc_FrameDeallocate( Abc_Frame_t * p )
}
Vec_IntFreeP( &p->vIndFlops );
Vec_PtrFreeP( &p->vLTLProperties_global );
+ if ( p->vSignalNames )
+ Vec_PtrFreeFree( p->vSignalNames );
+ ABC_FREE( p->pSpecName );
Abc_FrameDeleteAllNetworks( p );
ABC_FREE( p->pDrivingCell );
ABC_FREE( p->pCex2 );
diff --git a/src/base/main/mainInit.c b/src/base/main/mainInit.c
index d85d7b67..693cea90 100644
--- a/src/base/main/mainInit.c
+++ b/src/base/main/mainInit.c
@@ -65,6 +65,8 @@ extern void Abc85_Init( Abc_Frame_t * pAbc );
extern void Abc85_End( Abc_Frame_t * pAbc );
extern void Glucose_Init( Abc_Frame_t *pAbc );
extern void Glucose_End( Abc_Frame_t * pAbc );
+extern void Glucose2_Init( Abc_Frame_t *pAbc );
+extern void Glucose2_End( Abc_Frame_t * pAbc );
static Abc_FrameInitializer_t* s_InitializerStart = NULL;
static Abc_FrameInitializer_t* s_InitializerEnd = NULL;
@@ -117,9 +119,9 @@ void Abc_FrameInit( Abc_Frame_t * pAbc )
Bac_Init( pAbc );
Cba_Init( pAbc );
Pla_Init( pAbc );
- Sim_Init( pAbc );
Test_Init( pAbc );
Glucose_Init( pAbc );
+ Glucose2_Init( pAbc );
for( p = s_InitializerStart ; p ; p = p->next )
if(p->init)
p->init(pAbc);
@@ -157,7 +159,6 @@ void Abc_FrameEnd( Abc_Frame_t * pAbc )
Bac_End( pAbc );
Cba_End( pAbc );
Pla_End( pAbc );
- Sim_End( pAbc );
Test_End( pAbc );
Glucose_End( pAbc );
}
diff --git a/src/base/main/mainInt.h b/src/base/main/mainInt.h
index bc57ad2a..e860878e 100644
--- a/src/base/main/mainInt.h
+++ b/src/base/main/mainInt.h
@@ -133,6 +133,8 @@ struct Abc_Frame_t_
int nFrames; // the number of time frames completed by BMC
Vec_Ptr_t * vPlugInComBinPairs; // pairs of command and its binary name
Vec_Ptr_t * vLTLProperties_global; // related to LTL
+ Vec_Ptr_t * vSignalNames; // temporary storage for signal names
+ char * pSpecName;
void * pSave1;
void * pSave2;
void * pSave3;
diff --git a/src/base/main/mainUtils.c b/src/base/main/mainUtils.c
index d1fe1d20..377299fd 100644
--- a/src/base/main/mainUtils.c
+++ b/src/base/main/mainUtils.c
@@ -52,7 +52,14 @@ static char * DateReadFromDateString( char * datestr );
char * Abc_UtilsGetVersion( Abc_Frame_t * pAbc )
{
static char Version[1000];
+#if __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wdate-time"
+#endif
sprintf(Version, "%s (compiled %s %s)", ABC_VERSION, __DATE__, __TIME__);
+#if __GNUC__
+ #pragma GCC diagnostic pop
+#endif
return Version;
}