Limbo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
LefParser::LefDataBase Class Reference

Base class for lef database. Only pure virtual functions are defined. User needs to inheritate this class and derive a custom database type with all callback functions defined. More...

#include <LefDataBase.h>

Inheritance diagram for LefParser::LefDataBase:
LefDataBase

Public Member Functions

 LefDataBase ()
 constructor
 
double current_version () const
 
void current_version (double cv)
 set current version More...
 
virtual void lef_version_cbk (string const &v)
 set LEF version More...
 
virtual void lef_version_cbk (double v)
 set LEF version More...
 
virtual void lef_dividerchar_cbk (string const &v)
 set divider characters More...
 
virtual void lef_casesensitive_cbk (int v)
 set case sensitive flag More...
 
virtual void lef_nowireextension_cbk (string const &v)
 set no wire extension flag More...
 
virtual void lef_manufacturing_cbk (double v)
 set manufacturing entry More...
 
virtual void lef_useminspacing_cbk (lefiUseMinSpacing const &v)
 set use min space More...
 
virtual void lef_clearancemeasure_cbk (string const &v)
 set clearance measure More...
 
virtual void lef_units_cbk (lefiUnits const &v)
 set unit More...
 
virtual void lef_busbitchars_cbk (string const &v)
 set bus bit characters More...
 
virtual void lef_layer_cbk (lefiLayer const &v)
 add layer More...
 
virtual void lef_maxstackvia_cbk (lefiMaxStackVia const &v)
 max stack via More...
 
virtual void lef_via_cbk (lefiVia const &v)
 add via More...
 
virtual void lef_viarule_cbk (lefiViaRule const &v)
 add via rule More...
 
virtual void lef_spacing_cbk (lefiSpacing const &v)
 spacing callback More...
 
virtual void lef_irdrop_cbk (lefiIRDrop const &v)
 IR drop callback. More...
 
virtual void lef_minfeature_cbk (lefiMinFeature const &v)
 min feature callback More...
 
virtual void lef_dielectric_cbk (double v)
 dielectric callback More...
 
virtual void lef_nondefault_cbk (lefiNonDefault const &v)
 non-default rule callback More...
 
virtual void lef_site_cbk (lefiSite const &v)
 site callback More...
 
virtual void lef_macrobegin_cbk (std::string const &v)
 macro begin callback, describe standard cell type More...
 
virtual void lef_macro_cbk (lefiMacro const &v)
 macro callback, describe standard cell type More...
 
virtual void lef_pin_cbk (lefiPin const &v)
 pin callback, describe pins in a standard cell More...
 
virtual void lef_obstruction_cbk (lefiObstruction const &v)
 obstruction callback, describe obstructions in a standard cell More...
 
virtual void lef_density_cbk (lefiDensity const &v)
 density callback More...
 
virtual void lef_timing_cbk (lefiTiming const &v)
 timing callback More...
 
virtual void lef_array_cbk (lefiArray const &v)
 array callback More...
 
virtual void lef_prop_cbk (lefiProp const &v)
 property callback More...
 
virtual void lef_noisemargin_cbk (lefiNoiseMargin const &v)
 noise margin callback More...
 
virtual void lef_edgeratethreshold1_cbk (double v)
 edge rate threshold 1 More...
 
virtual void lef_edgeratethreshold2_cbk (double v)
 edge rate threshold 2 More...
 
virtual void lef_edgeratescalefactor_cbk (double v)
 edge rate scale factor More...
 
virtual void lef_noisetable_cbk (lefiNoiseTable const &v)
 noise table callback More...
 
virtual void lef_correctiontable_cbk (lefiCorrectionTable const &v)
 correction table callback More...
 
virtual void lef_inputantenna_cbk (double v)
 input antenna callback More...
 
virtual void lef_outputantenna_cbk (double v)
 output antenna callback More...
 
virtual void lef_inoutantenna_cbk (double v)
 inout antenna callback More...
 
virtual void lef_antennainput_cbk (double v)
 antenna input callback More...
 
virtual void lef_antennaoutput_cbk (double v)
 antenna output callback More...
 
virtual void lef_antennainout_cbk (double v)
 antenna inout callback More...
 
virtual void lef_extension_cbk (string const &v)
 extension callback More...
 

Static Public Attributes

static int lefNamesCaseSensitive
 
static int lefrShiftCase
 

Protected Attributes

double m_current_version
 

Detailed Description

Base class for lef database. Only pure virtual functions are defined. User needs to inheritate this class and derive a custom database type with all callback functions defined.

Although it is true that I can use pure virtual functions for all callbacks, run-time information is better than compile-time errors. Because most LEF files are so simple that we only need several callbacks. Then user does not need to provide some callbacks.

Definition at line 123 of file LefDataBase.h.

Member Function Documentation

double LefParser::LefDataBase::current_version ( ) const
Returns
current version
void LefParser::LefDataBase::current_version ( double  cv)

set current version

Parameters
cvcurrent version
virtual void LefParser::LefDataBase::lef_antennainout_cbk ( double  v)
virtual

antenna inout callback

Parameters
vantenna inout
virtual void LefParser::LefDataBase::lef_antennainput_cbk ( double  v)
virtual

antenna input callback

Parameters
vantenna input
virtual void LefParser::LefDataBase::lef_antennaoutput_cbk ( double  v)
virtual

antenna output callback

Parameters
vantenna output
virtual void LefParser::LefDataBase::lef_array_cbk ( lefiArray const &  v)
virtual

array callback

Parameters
van object for array
virtual void LefParser::LefDataBase::lef_busbitchars_cbk ( string const &  v)
virtual

set bus bit characters

Parameters
vbut bit characters

Reimplemented in LefDataBase.

virtual void LefParser::LefDataBase::lef_casesensitive_cbk ( int  v)
virtual

set case sensitive flag

Parameters
vcase sensitive flag
virtual void LefParser::LefDataBase::lef_clearancemeasure_cbk ( string const &  v)
virtual

set clearance measure

Parameters
vclearance measure
virtual void LefParser::LefDataBase::lef_correctiontable_cbk ( lefiCorrectionTable const &  v)
virtual

correction table callback

Parameters
van object for correction table
virtual void LefParser::LefDataBase::lef_density_cbk ( lefiDensity const &  v)
virtual

density callback

Parameters
van object for density
virtual void LefParser::LefDataBase::lef_dielectric_cbk ( double  v)
virtual

dielectric callback

Parameters
van object for dielectric
virtual void LefParser::LefDataBase::lef_dividerchar_cbk ( string const &  v)
virtual

set divider characters

Parameters
vdivider characters

Reimplemented in LefDataBase.

virtual void LefParser::LefDataBase::lef_edgeratescalefactor_cbk ( double  v)
virtual

edge rate scale factor

Parameters
vedge rate scale factor
virtual void LefParser::LefDataBase::lef_edgeratethreshold1_cbk ( double  v)
virtual

edge rate threshold 1

Parameters
vedge rate threshold 1
virtual void LefParser::LefDataBase::lef_edgeratethreshold2_cbk ( double  v)
virtual

edge rate threshold 2

Parameters
vedge rate threshold 2
virtual void LefParser::LefDataBase::lef_extension_cbk ( string const &  v)
virtual

extension callback

Parameters
vextension
virtual void LefParser::LefDataBase::lef_inoutantenna_cbk ( double  v)
virtual

inout antenna callback

Parameters
vinout antenna
virtual void LefParser::LefDataBase::lef_inputantenna_cbk ( double  v)
virtual

input antenna callback

Parameters
vinput antenna
virtual void LefParser::LefDataBase::lef_irdrop_cbk ( lefiIRDrop const &  v)
virtual

IR drop callback.

Parameters
van object for IR drop
virtual void LefParser::LefDataBase::lef_layer_cbk ( lefiLayer const &  v)
virtual

add layer

Parameters
van object for layer
virtual void LefParser::LefDataBase::lef_macro_cbk ( lefiMacro const &  v)
virtual

macro callback, describe standard cell type

Parameters
van object for macro
virtual void LefParser::LefDataBase::lef_macrobegin_cbk ( std::string const &  v)
virtual

macro begin callback, describe standard cell type

Parameters
vname of macro

Reimplemented in LefDataBase.

virtual void LefParser::LefDataBase::lef_manufacturing_cbk ( double  v)
virtual

set manufacturing entry

Parameters
vmanufacturing entry

Reimplemented in LefDataBase.

virtual void LefParser::LefDataBase::lef_maxstackvia_cbk ( lefiMaxStackVia const &  v)
virtual

max stack via

Parameters
van object for max stack via
virtual void LefParser::LefDataBase::lef_minfeature_cbk ( lefiMinFeature const &  v)
virtual

min feature callback

Parameters
van object for min feature
virtual void LefParser::LefDataBase::lef_noisemargin_cbk ( lefiNoiseMargin const &  v)
virtual

noise margin callback

Parameters
van object for noise margin
virtual void LefParser::LefDataBase::lef_noisetable_cbk ( lefiNoiseTable const &  v)
virtual

noise table callback

Parameters
van object for noise table
virtual void LefParser::LefDataBase::lef_nondefault_cbk ( lefiNonDefault const &  v)
virtual

non-default rule callback

Parameters
van object for non-default rule
virtual void LefParser::LefDataBase::lef_nowireextension_cbk ( string const &  v)
virtual

set no wire extension flag

Parameters
vno wire extension flag
virtual void LefParser::LefDataBase::lef_obstruction_cbk ( lefiObstruction const &  v)
virtual

obstruction callback, describe obstructions in a standard cell

Parameters
van object for obstruction
virtual void LefParser::LefDataBase::lef_outputantenna_cbk ( double  v)
virtual

output antenna callback

Parameters
voutput antenna
virtual void LefParser::LefDataBase::lef_pin_cbk ( lefiPin const &  v)
virtual

pin callback, describe pins in a standard cell

Parameters
van object for pin

Reimplemented in LefDataBase.

virtual void LefParser::LefDataBase::lef_prop_cbk ( lefiProp const &  v)
virtual

property callback

Parameters
van object for property
virtual void LefParser::LefDataBase::lef_site_cbk ( lefiSite const &  v)
virtual

site callback

Parameters
van object for site
virtual void LefParser::LefDataBase::lef_spacing_cbk ( lefiSpacing const &  v)
virtual

spacing callback

Parameters
van object for spacing
virtual void LefParser::LefDataBase::lef_timing_cbk ( lefiTiming const &  v)
virtual

timing callback

Parameters
van object for timing
virtual void LefParser::LefDataBase::lef_units_cbk ( lefiUnits const &  v)
virtual

set unit

Parameters
van object for unit
virtual void LefParser::LefDataBase::lef_useminspacing_cbk ( lefiUseMinSpacing const &  v)
virtual

set use min space

Parameters
van object for use min space
virtual void LefParser::LefDataBase::lef_version_cbk ( string const &  v)
virtual

set LEF version

Parameters
vstring of LEF version

Reimplemented in LefDataBase.

virtual void LefParser::LefDataBase::lef_version_cbk ( double  v)
virtual

set LEF version

Parameters
vfloating point number of LEF version

Reimplemented in LefDataBase.

virtual void LefParser::LefDataBase::lef_via_cbk ( lefiVia const &  v)
virtual

add via

Parameters
van object for via
virtual void LefParser::LefDataBase::lef_viarule_cbk ( lefiViaRule const &  v)
virtual

add via rule

Parameters
van object for via rule

Member Data Documentation

int LefParser::LefDataBase::lefNamesCaseSensitive
static

case sensitive or not, mimic global variable lefNamesCaseSensitive

Definition at line 265 of file LefDataBase.h.

int LefParser::LefDataBase::lefrShiftCase
static

shift to upper case or not

Definition at line 266 of file LefDataBase.h.

double LefParser::LefDataBase::m_current_version
protected

default current lef version, use static variable to mimic definitions

Definition at line 263 of file LefDataBase.h.


The documentation for this class was generated from the following file: