diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-09-17 14:47:34 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-09-17 14:47:34 -0700 |
commit | 73a997a8bd303b4398e64de2d3a0bfb3f85a3acf (patch) | |
tree | 0cd6215b82a53b18caae1739eeac883ca2c9fbd0 /src/base | |
parent | ca39b892f0c035f571e5ac62e08a3d1166697ac7 (diff) | |
download | abc-73a997a8bd303b4398e64de2d3a0bfb3f85a3acf.tar.gz abc-73a997a8bd303b4398e64de2d3a0bfb3f85a3acf.tar.bz2 abc-73a997a8bd303b4398e64de2d3a0bfb3f85a3acf.zip |
Adding commands to set and print timing constraints.
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/main/main.h | 5 | ||||
-rw-r--r-- | src/base/main/mainFrame.c | 6 | ||||
-rw-r--r-- | src/base/main/mainInt.h | 3 |
3 files changed, 14 insertions, 0 deletions
diff --git a/src/base/main/main.h b/src/base/main/main.h index 7d9b7292..a55ff06c 100644 --- a/src/base/main/main.h +++ b/src/base/main/main.h @@ -146,6 +146,11 @@ extern ABC_DLL void Abc_FrameReplaceCexVec( Abc_Frame_t * pAbc, Vec_P 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 ); +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 ); + ABC_NAMESPACE_HEADER_END #endif diff --git a/src/base/main/mainFrame.c b/src/base/main/mainFrame.c index ee4b665e..796c04de 100644 --- a/src/base/main/mainFrame.c +++ b/src/base/main/mainFrame.c @@ -91,6 +91,11 @@ int Abc_FrameIsBatchMode() { return s_GlobalFr int Abc_FrameIsBridgeMode() { return s_GlobalFrame ? s_GlobalFrame->fBridgeMode : 0; } void Abc_FrameSetBridgeMode() { if ( s_GlobalFrame ) s_GlobalFrame->fBridgeMode = 1; } +char * Abc_FrameReadDrivingCell() { return s_GlobalFrame->pDrivingCell; } +float Abc_FrameReadMaxLoad() { return s_GlobalFrame->MaxLoad; } +void Abc_FrameSetDrivingCell( char * pName ) { ABC_FREE(s_GlobalFrame->pDrivingCell); s_GlobalFrame->pDrivingCell = pName; } +void Abc_FrameSetMaxLoad( float Load ) { s_GlobalFrame->MaxLoad = Load; } + /**Function************************************************************* Synopsis [Returns 1 if the flag is enabled without value or with value 1.] @@ -199,6 +204,7 @@ void Abc_FrameDeallocate( Abc_Frame_t * p ) } Vec_PtrFreeP( &p->vLTLProperties_global ); Abc_FrameDeleteAllNetworks( p ); + ABC_FREE( p->pDrivingCell ); ABC_FREE( p->pCex2 ); ABC_FREE( p->pCex ); ABC_FREE( p ); diff --git a/src/base/main/mainInt.h b/src/base/main/mainInt.h index acd8bbd3..cf1a9376 100644 --- a/src/base/main/mainInt.h +++ b/src/base/main/mainInt.h @@ -93,6 +93,9 @@ struct Abc_Frame_t_ void * pLibSuper; // the current supergate library void * pLibVer; // the current Verilog library void * pLibScl; // the current Liberty library + // timing constraints + char * pDrivingCell; // name of the driving cell + float MaxLoad; // maximum output load // new code Gia_Man_t * pGia; // alternative current network as a light-weight AIG |