summaryrefslogtreecommitdiffstats
path: root/src/map/scl/sclInt.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/scl/sclInt.h')
-rw-r--r--src/map/scl/sclInt.h16
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