#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <math.h>#include "misc/vec/vec.h"

Go to the source code of this file.
Classes | |
| struct | SC_DontUse_ |
| struct | SC_Pair_ |
| struct | SC_PairI_ |
| struct | SC_SizePars_ |
| struct | SC_BusPars_ |
| struct | SC_WireLoad_ |
| struct | SC_WireLoadSel_ |
| struct | SC_TableTempl_ |
| struct | SC_Surface_ |
| struct | SC_Timing_ |
| struct | SC_Timings_ |
| struct | SC_Pin_ |
| struct | SC_Cell_ |
| struct | SC_Lib_ |
Macros | |
| #define | ABC_SCL_CUR_VERSION 8 |
| INCLUDES ///. | |
| #define | SC_LibForEachCell(p, pCell, i) |
| #define | SC_LibForEachCellClass(p, pCell, i) |
| #define | SC_LibForEachWireLoad(p, pWL, i) |
| #define | SC_LibForEachWireLoadSel(p, pWLS, i) |
| #define | SC_LibForEachTempl(p, pTempl, i) |
| #define | SC_CellForEachPin(p, pPin, i) |
| #define | SC_CellForEachPinIn(p, pPin, i) |
| #define | SC_CellForEachPinOut(p, pPin, i) |
| #define | SC_RingForEachCell(pRing, pCell, i) |
| #define | SC_RingForEachCellRev(pRing, pCell, i) |
| #define | SC_PinForEachRTiming(p, pRTime, i) |
Typedefs | |
| typedef struct SC_DontUse_ | SC_DontUse |
| typedef struct SC_Pair_ | SC_Pair |
| typedef struct SC_PairI_ | SC_PairI |
| typedef struct SC_SizePars_ | SC_SizePars |
| typedef struct SC_BusPars_ | SC_BusPars |
| typedef struct SC_WireLoad_ | SC_WireLoad |
| STRUCTURE DEFINITIONS ///. | |
| typedef struct SC_WireLoadSel_ | SC_WireLoadSel |
| typedef struct SC_TableTempl_ | SC_TableTempl |
| typedef struct SC_Surface_ | SC_Surface |
| typedef struct SC_Timing_ | SC_Timing |
| typedef struct SC_Timings_ | SC_Timings |
| typedef struct SC_Pin_ | SC_Pin |
| typedef struct SC_Cell_ | SC_Cell |
| typedef struct SC_Lib_ | SC_Lib |
Enumerations | |
| enum | SC_Dir { sc_dir_NULL , sc_dir_Input , sc_dir_Output , sc_dir_InOut , sc_dir_Internal } |
| enum | SC_TSense { sc_ts_NULL , sc_ts_Pos , sc_ts_Neg , sc_ts_Non } |
Functions | |
| SC_Lib * | Abc_SclReadLiberty (char *pFileName, int fVerbose, int fVeryVerbose, SC_DontUse dont_use, int fSkipMultiOuts) |
| SC_Lib * | Abc_SclReadFromGenlib (void *pLib) |
| SC_Lib * | Abc_SclReadFromStr (Vec_Str_t *vOut) |
| SC_Lib * | Abc_SclReadFromFile (char *pFileName) |
| void | Abc_SclWriteScl (char *pFileName, SC_Lib *p) |
| void | Abc_SclWriteLiberty (char *pFileName, SC_Lib *p) |
| SC_Lib * | Abc_SclMergeLibraries (SC_Lib *pLib1, SC_Lib *pLib2, int fUsePrefix) |
| void | Abc_SclHashCells (SC_Lib *p) |
| int | Abc_SclCellFind (SC_Lib *p, char *pName) |
| int | Abc_SclClassCellNum (SC_Cell *pClass) |
| void | Abc_SclShortNames (SC_Lib *p) |
| int | Abc_SclLibClassNum (SC_Lib *pLib) |
| void | Abc_SclLinkCells (SC_Lib *p) |
| void | Abc_SclPrintCells (SC_Lib *p, float Slew, float Gain, int fInvOnly, int fShort) |
| void | Abc_SclConvertLeakageIntoArea (SC_Lib *p, float A, float B) |
| void | Abc_SclLibNormalize (SC_Lib *p) |
| SC_Cell * | Abc_SclFindInvertor (SC_Lib *p, int fFindBuff) |
| SC_Cell * | Abc_SclFindSmallestGate (SC_Cell *p, float CinMin) |
| SC_WireLoad * | Abc_SclFindWireLoadModel (SC_Lib *p, float Area) |
| SC_WireLoad * | Abc_SclFetchWireLoadModel (SC_Lib *p, char *pName) |
| int | Abc_SclHasDelayInfo (void *pScl) |
| float | Abc_SclComputeAverageSlew (SC_Lib *p) |
| void | Abc_SclDumpGenlib (char *pFileName, SC_Lib *p, float Slew, float Gain, int nGatesMin) |
| void | Abc_SclInstallGenlib (void *pScl, float Slew, float Gain, int fUseAll, int nGatesMin) |
| #define ABC_SCL_CUR_VERSION 8 |
INCLUDES ///.
CFile****************************************************************
FileName [sclLib.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Standard-cell library representation.]
Synopsis [Simplified library representation for STA.]
Author [Alan Mishchenko, Niklas Een]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - August 24, 2012.]
Revision [
] PARAMETERS ///
| #define SC_CellForEachPin | ( | p, | |
| pPin, | |||
| i ) |
| #define SC_CellForEachPinIn | ( | p, | |
| pPin, | |||
| i ) |
| #define SC_CellForEachPinOut | ( | p, | |
| pPin, | |||
| i ) |
| #define SC_LibForEachCell | ( | p, | |
| pCell, | |||
| i ) |
| #define SC_LibForEachCellClass | ( | p, | |
| pCell, | |||
| i ) |
| #define SC_LibForEachTempl | ( | p, | |
| pTempl, | |||
| i ) |
| #define SC_LibForEachWireLoad | ( | p, | |
| pWL, | |||
| i ) |
| #define SC_LibForEachWireLoadSel | ( | p, | |
| pWLS, | |||
| i ) |
| #define SC_PinForEachRTiming | ( | p, | |
| pRTime, | |||
| i ) |
| #define SC_RingForEachCell | ( | pRing, | |
| pCell, | |||
| i ) |
| #define SC_RingForEachCellRev | ( | pRing, | |
| pCell, | |||
| i ) |
| typedef struct SC_BusPars_ SC_BusPars |
| typedef struct SC_DontUse_ SC_DontUse |
| typedef struct SC_SizePars_ SC_SizePars |
| typedef struct SC_Surface_ SC_Surface |
| typedef struct SC_TableTempl_ SC_TableTempl |
| typedef struct SC_Timing_ SC_Timing |
| typedef struct SC_Timings_ SC_Timings |
| typedef struct SC_WireLoad_ SC_WireLoad |
| typedef struct SC_WireLoadSel_ SC_WireLoadSel |
| enum SC_Dir |
| Enumerator | |
|---|---|
| sc_dir_NULL | |
| sc_dir_Input | |
| sc_dir_Output | |
| sc_dir_InOut | |
| sc_dir_Internal | |
Definition at line 45 of file sclLib.h.
| enum SC_TSense |
|
extern |
Definition at line 81 of file sclLibUtil.c.


|
extern |
Definition at line 86 of file sclLibUtil.c.

|
extern |
Function*************************************************************
Synopsis [Returns "average" slew.]
Description []
SideEffects []
SeeAlso []
Definition at line 452 of file sclLibUtil.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 719 of file sclLibUtil.c.
|
extern |
Definition at line 1055 of file sclLibUtil.c.

|
extern |
Function*************************************************************
Synopsis [Returns the wireload model for the given area.]
Description []
SideEffects []
SeeAlso []
Definition at line 365 of file sclLibUtil.c.


Function*************************************************************
Synopsis [Returns the largest inverter.]
Description []
SideEffects []
SeeAlso []
Definition at line 332 of file sclLibUtil.c.

Definition at line 343 of file sclLibUtil.c.

|
extern |
Definition at line 382 of file sclLibUtil.c.


|
extern |
Function*************************************************************
Synopsis [Returns 1 if the library has delay info.]
Description []
SideEffects []
SeeAlso []
Definition at line 427 of file sclLibUtil.c.


|
extern |
Definition at line 65 of file sclLibUtil.c.


|
extern |
Function*************************************************************
Synopsis [Install library.]
Description []
SideEffects []
SeeAlso []
Definition at line 1109 of file sclLibUtil.c.

|
extern |
Definition at line 95 of file sclLibUtil.c.

|
extern |
Definition at line 750 of file sclLibUtil.c.


|
extern |
Definition at line 264 of file sclLibUtil.c.

Function*************************************************************
Synopsis [Appends cells of pLib2 to those of pLib1.]
Description []
SideEffects []
SeeAlso []
Definition at line 869 of file sclLibScl.c.

|
extern |
Definition at line 638 of file sclLibUtil.c.

|
extern |
Definition at line 417 of file sclLibScl.c.

|
extern |
Definition at line 169 of file sclLibScl.c.

Definition at line 403 of file sclLibScl.c.


|
extern |
Definition at line 1768 of file sclLiberty.c.


|
extern |
Definition at line 195 of file sclLibUtil.c.

|
extern |
Definition at line 845 of file sclLibScl.c.
|
extern |
Definition at line 629 of file sclLibScl.c.