diff options
Diffstat (limited to 'src/map/scl/sclInt.h')
-rw-r--r-- | src/map/scl/sclInt.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/map/scl/sclInt.h b/src/map/scl/sclInt.h index b11ebc9e..192317f7 100644 --- a/src/map/scl/sclInt.h +++ b/src/map/scl/sclInt.h @@ -159,7 +159,9 @@ struct SC_Lib_ Vec_Ptr_t * vWireLoads; // NamedSet<SC_WireLoad> Vec_Ptr_t * vWireLoadSels; // NamedSet<SC_WireLoadSel> Vec_Ptr_t * vTempls; // NamedSet<SC_TableTempl> - Vec_Ptr_t * vCells; // NamedSet<SC_Cell> + Vec_Ptr_t * vCells; // NamedSet<SC_Cell> + int * pBins; // hashing gateName -> gateId + int nBins; }; //////////////////////////////////////////////////////////////////////// @@ -170,6 +172,9 @@ struct SC_Lib_ /// MACRO DEFINITIONS /// //////////////////////////////////////////////////////////////////////// +static inline SC_Cell * SC_LibCell( SC_Lib * p, int i ) { return (SC_Cell *)Vec_PtrEntry(p->vCells, i); } +static inline SC_Pin * SC_CellPin( SC_Cell * p, int i ) { return (SC_Pin *)Vec_PtrEntry(p->vPins, i); } + //////////////////////////////////////////////////////////////////////// /// FUNCTION DEFINITIONS /// //////////////////////////////////////////////////////////////////////// @@ -351,11 +356,18 @@ static inline void Abc_SclLibFree( SC_Lib * p ) ABC_FREE( p->lib_name ); ABC_FREE( p->default_wire_load ); ABC_FREE( p->default_wire_load_sel ); + ABC_FREE( p->pBins ); ABC_FREE( p ); } -/*=== scl.c =============================================================*/ +/*=== sclFile.c =============================================================*/ +extern SC_Lib * Abc_SclRead( char * pFileName ); +extern void Abc_SclWrite( char * pFileName, SC_Lib * p ); +extern void Abc_SclWriteText( char * pFileName, SC_Lib * p ); + +extern int Abc_SclCellFind( SC_Lib * p, char * pName ); + ABC_NAMESPACE_HEADER_END |