#include <string.h>#include <fnmatch.h>#include "misc/zlib/zlib.h"#include "sclLib.h"#include "misc/st/st.h"#include "map/mio/mio.h"
Go to the source code of this file.
Classes | |
| struct | Scl_Pair_t_ |
| struct | Scl_Item_t_ |
| struct | Scl_Tree_t_ |
Macros | |
| #define | Scl_ItemForEachChild(p, pItem, pChild) |
| #define | Scl_ItemForEachChildName(p, pItem, pChild, pName) |
Typedefs | |
| typedef struct Scl_Pair_t_ | Scl_Pair_t |
| typedef struct Scl_Item_t_ | Scl_Item_t |
| typedef struct Scl_Tree_t_ | Scl_Tree_t |
Enumerations | |
| enum | Scl_LibertyType_t { SCL_LIBERTY_NONE = 0 , SCL_LIBERTY_PROC , SCL_LIBERTY_EQUA , SCL_LIBERTY_LIST } |
| DECLARATIONS ///. More... | |
| #define Scl_ItemForEachChild | ( | p, | |
| pItem, | |||
| pChild ) |
Definition at line 99 of file sclLiberty.c.
| #define Scl_ItemForEachChildName | ( | p, | |
| pItem, | |||
| pChild, | |||
| pName ) |
Definition at line 101 of file sclLiberty.c.
| typedef struct Scl_Item_t_ Scl_Item_t |
Definition at line 57 of file sclLiberty.c.
| typedef struct Scl_Pair_t_ Scl_Pair_t |
Definition at line 50 of file sclLiberty.c.
| typedef struct Scl_Tree_t_ Scl_Tree_t |
Definition at line 69 of file sclLiberty.c.
| enum Scl_LibertyType_t |
DECLARATIONS ///.
CFile****************************************************************
FileName [sclLiberty.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Standard-cell library representation.]
Synopsis [Liberty parser.]
Author [Alan Mishchenko, Niklas Een]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - August 24, 2012.]
Revision [
]
| Enumerator | |
|---|---|
| SCL_LIBERTY_NONE | |
| SCL_LIBERTY_PROC | |
| SCL_LIBERTY_EQUA | |
| SCL_LIBERTY_LIST | |
Definition at line 43 of file sclLiberty.c.
| SC_Lib * Abc_SclReadLiberty | ( | char * | pFileName, |
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| SC_DontUse | dont_use, | ||
| int | fSkipMultiOuts ) |
Definition at line 1768 of file sclLiberty.c.


| long Scl_LibertyBuildItem | ( | Scl_Tree_t * | p, |
| char ** | ppPos, | ||
| char * | pEnd ) |
Function*************************************************************
Synopsis [Returns free item.]
Description []
SideEffects []
SeeAlso []
Definition at line 411 of file sclLiberty.c.


| int Scl_LibertyComputeWorstCase | ( | Vec_Ptr_t * | vTables, |
| Vec_Flt_t ** | pvInd0, | ||
| Vec_Flt_t ** | pvInd1, | ||
| Vec_Flt_t ** | pvValues ) |
Definition at line 1240 of file sclLiberty.c.

| long Scl_LibertyCountItems | ( | char * | pBeg, |
| char * | pEnd ) |
Function*************************************************************
Synopsis [Gets the name to write.]
Description []
SideEffects []
SeeAlso []
Definition at line 185 of file sclLiberty.c.

| void Scl_LibertyDumpTables | ( | Vec_Str_t * | vOut, |
| Vec_Flt_t * | vInd1, | ||
| Vec_Flt_t * | vInd2, | ||
| Vec_Flt_t * | vValues ) |
Definition at line 1087 of file sclLiberty.c.

| char * Scl_LibertyFileContents | ( | char * | pFileName, |
| long * | nContents ) |
Definition at line 580 of file sclLiberty.c.


| long Scl_LibertyFileSize | ( | char * | pFileName | ) |
Definition at line 541 of file sclLiberty.c.

| void Scl_LibertyFixFileName | ( | char * | pFileName | ) |
Function*************************************************************
Synopsis [File management.]
Description []
SideEffects []
SeeAlso []
Definition at line 534 of file sclLiberty.c.

| long Scl_LibertyItemNum | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pRoot, | ||
| char * | pName ) |
Definition at line 391 of file sclLiberty.c.

| Scl_Tree_t * Scl_LibertyParse | ( | char * | pFileName, |
| int | fVerbose ) |
Definition at line 673 of file sclLiberty.c.


| int Scl_LibertyParseDump | ( | Scl_Tree_t * | p, |
| char * | pFileName ) |
Definition at line 153 of file sclLiberty.c.

| void Scl_LibertyParseDumpItem | ( | FILE * | pFile, |
| Scl_Tree_t * | p, | ||
| Scl_Item_t * | pItem, | ||
| int | nOffset ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Prints parse tree in Liberty format.]
Description []
SideEffects []
SeeAlso []
Definition at line 119 of file sclLiberty.c.


| void Scl_LibertyPrintTemplates | ( | Vec_Ptr_t * | vRes | ) |
Definition at line 1432 of file sclLiberty.c.
| char * Scl_LibertyReadCellArea | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pCell ) |
Definition at line 731 of file sclLiberty.c.


| int Scl_LibertyReadCellIsDontUse | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pCell, | ||
| SC_DontUse | dont_use ) |
Definition at line 715 of file sclLiberty.c.


| int Scl_LibertyReadCellIsFlop | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pCell ) |
Function*************************************************************
Synopsis [Fetching attributes.]
Description []
SideEffects []
SeeAlso []
Definition at line 706 of file sclLiberty.c.

| int Scl_LibertyReadCellIsThreeState | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pCell ) |
Definition at line 762 of file sclLiberty.c.

| char * Scl_LibertyReadCellLeakage | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pCell ) |
Definition at line 738 of file sclLiberty.c.


| long Scl_LibertyReadCellOutputNum | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pCell ) |
Definition at line 770 of file sclLiberty.c.


| float Scl_LibertyReadDefaultMaxTrans | ( | Scl_Tree_t * | p | ) |
Definition at line 908 of file sclLiberty.c.


| char * Scl_LibertyReadDefaultWireLoad | ( | Scl_Tree_t * | p | ) |
Function*************************************************************
Synopsis [Parsing Liberty into internal data representation.]
Description []
SideEffects []
SeeAlso []
Definition at line 894 of file sclLiberty.c.


| char * Scl_LibertyReadDefaultWireLoadSel | ( | Scl_Tree_t * | p | ) |
Definition at line 901 of file sclLiberty.c.


| int Scl_LibertyReadDeriveStrength | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pCell ) |
Definition at line 1012 of file sclLiberty.c.


| Vec_Flt_t * Scl_LibertyReadFloatVec | ( | char * | pName | ) |
Definition at line 1078 of file sclLiberty.c.


| Vec_Str_t * Scl_LibertyReadGenlibStr | ( | Scl_Tree_t * | p, |
| int | fVerbose, | ||
| SC_DontUse | dont_use ) |
Function*************************************************************
Synopsis [Parses the standard cell library in Liberty format.]
Description [Writes the resulting file in Genlib format.]
SideEffects []
SeeAlso []
Definition at line 791 of file sclLiberty.c.

| void Scl_LibertyReadLoadUnit | ( | Scl_Tree_t * | p, |
| Vec_Str_t * | vOut ) |
Definition at line 935 of file sclLiberty.c.


| float Scl_LibertyReadPinCap | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pPin, | ||
| char * | pName ) |
Definition at line 1035 of file sclLiberty.c.


| int Scl_LibertyReadPinDirection | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pPin ) |
Definition at line 1019 of file sclLiberty.c.


| char * Scl_LibertyReadPinFormula | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pPin ) |
Definition at line 755 of file sclLiberty.c.


| Scl_Item_t * Scl_LibertyReadPinTiming | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pPinOut, | ||
| char * | pNameIn ) |
Definition at line 1042 of file sclLiberty.c.


| Vec_Ptr_t * Scl_LibertyReadPinTimingAll | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pPinOut, | ||
| char * | pNameIn ) |
Definition at line 1051 of file sclLiberty.c.


| Vec_Str_t * Scl_LibertyReadSclStr | ( | Scl_Tree_t * | p, |
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| SC_DontUse | dont_use, | ||
| int | fSkipMultiOuts ) |
Definition at line 1503 of file sclLiberty.c.


| char * Scl_LibertyReadString | ( | Scl_Tree_t * | p, |
| Scl_Pair_t | Pair ) |
Function*************************************************************
Synopsis [Gets the name to write.]
Description []
SideEffects []
SeeAlso []
Definition at line 374 of file sclLiberty.c.


| int Scl_LibertyReadTable | ( | Scl_Tree_t * | p, |
| Vec_Str_t * | vOut, | ||
| Scl_Item_t * | pTiming, | ||
| char * | pName, | ||
| Vec_Ptr_t * | vTemples ) |
Definition at line 1283 of file sclLiberty.c.


| Vec_Ptr_t * Scl_LibertyReadTemplates | ( | Scl_Tree_t * | p | ) |
Definition at line 1449 of file sclLiberty.c.


| int Scl_LibertyReadTimeUnit | ( | Scl_Tree_t * | p | ) |
Definition at line 915 of file sclLiberty.c.


| int Scl_LibertyReadTimingSense | ( | Scl_Tree_t * | p, |
| Scl_Item_t * | pPin ) |
Definition at line 1062 of file sclLiberty.c.


| void Scl_LibertyReadWireLoad | ( | Scl_Tree_t * | p, |
| Vec_Str_t * | vOut ) |
Definition at line 956 of file sclLiberty.c.


| void Scl_LibertyReadWireLoadSelect | ( | Scl_Tree_t * | p, |
| Vec_Str_t * | vOut ) |
Definition at line 984 of file sclLiberty.c.


| int Scl_LibertyScanTable | ( | Scl_Tree_t * | p, |
| Vec_Ptr_t * | vOut, | ||
| Scl_Item_t * | pTiming, | ||
| char * | pName, | ||
| Vec_Ptr_t * | vTemples ) |
Definition at line 1120 of file sclLiberty.c.


| Scl_Tree_t * Scl_LibertyStart | ( | char * | pFileName | ) |
Function*************************************************************
Synopsis [Starts the parsing manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 635 of file sclLiberty.c.


| void Scl_LibertyStop | ( | Scl_Tree_t * | p, |
| int | fVerbose ) |
Definition at line 659 of file sclLiberty.c.

| void Scl_LibertyStringDump | ( | char * | pFileName, |
| Vec_Str_t * | vStr ) |
Definition at line 611 of file sclLiberty.c.

| void Scl_LibertyTest | ( | ) |
Function*************************************************************
Synopsis [Experiments with Liberty parsing.]
Description []
SideEffects []
SeeAlso []
Definition at line 1804 of file sclLiberty.c.

| void Scl_LibertyWipeOutComments | ( | char * | pBeg, |
| char * | pEnd ) |
Definition at line 208 of file sclLiberty.c.
