From 1c0ea1022f0dcb25b7985750a4b091b1a1c3b62a Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Mon, 11 May 2020 17:08:00 -0700 Subject: Adding new utility procedures. --- src/base/main/main.h | 3 +++ src/base/main/mainFrame.c | 5 +++++ src/base/main/mainInt.h | 2 ++ 3 files changed, 10 insertions(+) (limited to 'src/base/main') diff --git a/src/base/main/main.h b/src/base/main/main.h index 2efb3358..9ef8b6ff 100644 --- a/src/base/main/main.h +++ b/src/base/main/main.h @@ -105,6 +105,8 @@ 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 int * Abc_FrameReadGateCounts(); extern ABC_DLL char * Abc_FrameReadFlag( char * pFlag ); extern ABC_DLL int Abc_FrameIsFlagEnabled( char * pFlag ); @@ -147,6 +149,7 @@ 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 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..2743a90a 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; } +int * Abc_FrameReadGateCounts() { return s_GlobalFrame->pGateCounts; } int Abc_FrameReadBmcFrames( Abc_Frame_t * p ) { return s_GlobalFrame->nFrames; } int Abc_FrameReadProbStatus( Abc_Frame_t * p ) { return s_GlobalFrame->Status; } @@ -102,6 +104,7 @@ 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; } int Abc_FrameIsBatchMode() { return s_GlobalFrame ? s_GlobalFrame->fBatchMode : 0; } @@ -231,6 +234,8 @@ void Abc_FrameDeallocate( Abc_Frame_t * p ) } Vec_IntFreeP( &p->vIndFlops ); Vec_PtrFreeP( &p->vLTLProperties_global ); + if ( p->vSignalNames ) + Vec_PtrFreeFree( p->vSignalNames ); Abc_FrameDeleteAllNetworks( p ); ABC_FREE( p->pDrivingCell ); ABC_FREE( p->pCex2 ); diff --git a/src/base/main/mainInt.h b/src/base/main/mainInt.h index bc57ad2a..9eaa03d1 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 + int pGateCounts[5];// temporary gate counts void * pSave1; void * pSave2; void * pSave3; -- cgit v1.2.3 From 083c1218e5a1742e881d0ce9e90c8cd0b53748a7 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 17 Sep 2020 13:04:09 -0700 Subject: Improving MFFC computation code. --- src/base/main/main.h | 3 ++- src/base/main/mainFrame.c | 4 +++- src/base/main/mainInt.h | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src/base/main') diff --git a/src/base/main/main.h b/src/base/main/main.h index 9ef8b6ff..a310972d 100644 --- a/src/base/main/main.h +++ b/src/base/main/main.h @@ -106,7 +106,7 @@ 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 int * Abc_FrameReadGateCounts(); +extern ABC_DLL char * Abc_FrameReadSpecName(); extern ABC_DLL char * Abc_FrameReadFlag( char * pFlag ); extern ABC_DLL int Abc_FrameIsFlagEnabled( char * pFlag ); @@ -150,6 +150,7 @@ 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 2743a90a..b7d76e93 100644 --- a/src/base/main/mainFrame.c +++ b/src/base/main/mainFrame.c @@ -68,7 +68,7 @@ void * Abc_FrameReadManDsd() { return s_GlobalFr 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; } -int * Abc_FrameReadGateCounts() { return s_GlobalFrame->pGateCounts; } +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; } @@ -105,6 +105,7 @@ void Abc_FrameSetInv( Vec_Int_t * vInv ) { Vec_IntFreeP(&s_G 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; } @@ -236,6 +237,7 @@ void Abc_FrameDeallocate( Abc_Frame_t * p ) 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/mainInt.h b/src/base/main/mainInt.h index 9eaa03d1..e860878e 100644 --- a/src/base/main/mainInt.h +++ b/src/base/main/mainInt.h @@ -134,7 +134,7 @@ struct Abc_Frame_t_ 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 - int pGateCounts[5];// temporary gate counts + char * pSpecName; void * pSave1; void * pSave2; void * pSave3; -- cgit v1.2.3 From b3d3f7dd3aeb5c7648caf9c424f6dc341ad27ac0 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 12 Nov 2020 23:57:46 -0800 Subject: Duplicating Glucose package. --- src/base/main/mainInit.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/base/main') diff --git a/src/base/main/mainInit.c b/src/base/main/mainInit.c index d85d7b67..d7ab7ae2 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; @@ -120,6 +122,7 @@ void Abc_FrameInit( Abc_Frame_t * 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); -- cgit v1.2.3 From cd8843c06ce2a37067edb5116f0c735ce3e3b7c7 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 9 Jan 2021 13:06:45 -0800 Subject: Preventing command history from being overwritten by internal scripts. --- src/base/main/main.h | 1 + src/base/main/mainFrame.c | 1 + 2 files changed, 2 insertions(+) (limited to 'src/base/main') diff --git a/src/base/main/main.h b/src/base/main/main.h index a310972d..f3457e27 100644 --- a/src/base/main/main.h +++ b/src/base/main/main.h @@ -111,6 +111,7 @@ 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(); diff --git a/src/base/main/mainFrame.c b/src/base/main/mainFrame.c index b7d76e93..ba41d4c1 100644 --- a/src/base/main/mainFrame.c +++ b/src/base/main/mainFrame.c @@ -108,6 +108,7 @@ void Abc_FrameSetSignalNames( Vec_Ptr_t * vNames ) { if ( s_GlobalFram 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; } -- cgit v1.2.3 From ed9c16d4f5e1484bb287c30a6af50832a62d35ec Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Fri, 3 Sep 2021 18:14:10 -0700 Subject: Additional MiniLUT API. --- src/base/main/abcapis.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/base/main') diff --git a/src/base/main/abcapis.h b/src/base/main/abcapis.h index e384896d..1523baad 100644 --- a/src/base/main/abcapis.h +++ b/src/base/main/abcapis.h @@ -80,6 +80,7 @@ extern ABC_DLL void Abc_NtkSetFlopNum( Abc_Frame_t * pAbc, int nFlops ); extern ABC_DLL void Abc_FrameGiaInputMiniLut( 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 ); // procedures to input/output NDR data-structure extern ABC_DLL void Abc_FrameInputNdr( Abc_Frame_t * pAbc, void * pData ); -- cgit v1.2.3 From 997e1a2ddceacf8eaeb32ab1d28143da095b63ce Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 16 Sep 2021 17:48:57 -0700 Subject: Further debugging of MiniLUT APIs. --- src/base/main/abcapis.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/base/main') diff --git a/src/base/main/abcapis.h b/src/base/main/abcapis.h index 1523baad..1bf52a89 100644 --- a/src/base/main/abcapis.h +++ b/src/base/main/abcapis.h @@ -78,6 +78,7 @@ 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 ); -- cgit v1.2.3 From a36325609845c7114541dd23ccb7dae3137f3fd4 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 21 Sep 2021 10:08:04 -0700 Subject: Removing unused command. --- src/base/main/mainInit.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/base/main') diff --git a/src/base/main/mainInit.c b/src/base/main/mainInit.c index d7ab7ae2..693cea90 100644 --- a/src/base/main/mainInit.c +++ b/src/base/main/mainInit.c @@ -119,7 +119,6 @@ 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 ); @@ -160,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 ); } -- cgit v1.2.3 From a8b5da820df6c008fd02f514a8c93a48ecfe3620 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sun, 26 Sep 2021 11:58:42 -0700 Subject: Other compiler changes. --- src/base/main/mainUtils.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/base/main') 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; } -- cgit v1.2.3 From d13e33cdd8451ad4ecfcb9093fbaa628f0e6659d Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 26 Oct 2021 16:58:59 -0700 Subject: New API for external calls. --- src/base/main/abcapis.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/base/main') diff --git a/src/base/main/abcapis.h b/src/base/main/abcapis.h index 1bf52a89..d34306ba 100644 --- a/src/base/main/abcapis.h +++ b/src/base/main/abcapis.h @@ -82,6 +82,7 @@ extern ABC_DLL void Abc_FrameGiaInputMiniLut2( Abc_Frame_t * pAbc, void * pMin 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 ); -- cgit v1.2.3