Limbo 3.5.4
Loading...
Searching...
No Matches
LefDataBase Class Reference

Custom class that inheritates LefParser::LefDataBase with all the required callbacks defined. This is an recommended API for LefParser, which also matches to potential bison version in the future. Actually spirit version of parser is based on template, so user does not necessarily need to inherit LefDataBase. More...

Inheritance diagram for LefDataBase:
LefParser::LefDataBase

Public Types

typedef LefParser::LefDataBase base_type
 base type

Public Member Functions

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

Additional Inherited Members

Static Public Attributes inherited from LefParser::LefDataBase
static int lefNamesCaseSensitive
static int lefrShiftCase
Protected Attributes inherited from LefParser::LefDataBase
double m_current_version

Detailed Description

Custom class that inheritates LefParser::LefDataBase with all the required callbacks defined. This is an recommended API for LefParser, which also matches to potential bison version in the future. Actually spirit version of parser is based on template, so user does not necessarily need to inherit LefDataBase.

With the runtime reminder scheme, not all callbacks need to be defined in the derived database because most benchmarks only use a few keywords. If the parser detects any keyword whose callback function is not defined, it produces runtime assertion failure to remind the developer.

Definition at line 25 of file test_adapt.cpp.

Member Typedef Documentation

◆ base_type

base type

Definition at line 29 of file test_adapt.cpp.

Constructor & Destructor Documentation

◆ LefDataBase()

LefDataBase::LefDataBase ( )
inline

constructor

Definition at line 32 of file test_adapt.cpp.

Member Function Documentation

◆ lef_busbitchars_cbk()

virtual void LefDataBase::lef_busbitchars_cbk ( string const & v)
inlinevirtual

set bus bit characters

Parameters
vbut bit characters

Reimplemented from LefParser::LefDataBase.

Definition at line 81 of file test_adapt.cpp.

◆ lef_clearancemeasure_cbk()

virtual void LefDataBase::lef_clearancemeasure_cbk ( string const & v)
inlinevirtual

set clearance measure

Parameters
vclearance measure

Reimplemented from LefParser::LefDataBase.

Definition at line 75 of file test_adapt.cpp.

◆ lef_dividerchar_cbk()

virtual void LefDataBase::lef_dividerchar_cbk ( string const & v)
inlinevirtual

set divider characters

Parameters
vdivider characters

Reimplemented from LefParser::LefDataBase.

Definition at line 51 of file test_adapt.cpp.

◆ lef_layer_cbk()

virtual void LefDataBase::lef_layer_cbk ( LefParser::lefiLayer const & v)
inlinevirtual

add layer

Parameters
van object for layer

Definition at line 87 of file test_adapt.cpp.

◆ lef_macro_cbk()

virtual void LefDataBase::lef_macro_cbk ( LefParser::lefiMacro const & v)
inlinevirtual

macro callback, describe standard cell type

Parameters
van object for macro

Definition at line 123 of file test_adapt.cpp.

◆ lef_macrobegin_cbk()

virtual void LefDataBase::lef_macrobegin_cbk ( std::string const & v)
inlinevirtual

macro begin callback, describe standard cell type

Parameters
vname of macro

Reimplemented from LefParser::LefDataBase.

Definition at line 117 of file test_adapt.cpp.

◆ lef_manufacturing_cbk()

virtual void LefDataBase::lef_manufacturing_cbk ( double v)
inlinevirtual

set manufacturing entry

Parameters
vmanufacturing entry

Reimplemented from LefParser::LefDataBase.

Definition at line 63 of file test_adapt.cpp.

◆ lef_maxstackvia_cbk()

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

noise margin callback

Parameters
van object for noise margin

Definition at line 135 of file test_adapt.cpp.

◆ lef_obstruction_cbk()

virtual void LefDataBase::lef_obstruction_cbk ( LefParser::lefiObstruction const & v)
inlinevirtual

obstruction callback

Parameters
van object for obstruction

Definition at line 141 of file test_adapt.cpp.

◆ lef_pin_cbk()

virtual void LefDataBase::lef_pin_cbk ( lefiPin const & v)
inlinevirtual

pin callback, describe pins in a standard cell

Parameters
van object for pin

Reimplemented from LefParser::LefDataBase.

Definition at line 147 of file test_adapt.cpp.

◆ lef_prop_cbk()

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

property callback

Parameters
van object for property

Definition at line 129 of file test_adapt.cpp.

◆ lef_site_cbk()

virtual void LefDataBase::lef_site_cbk ( LefParser::lefiSite const & v)
inlinevirtual

site callback

Parameters
van object for site

Definition at line 111 of file test_adapt.cpp.

◆ lef_spacing_cbk()

virtual void LefDataBase::lef_spacing_cbk ( LefParser::lefiSpacing const & v)
inlinevirtual

spacing callback

Parameters
van object for spacing

Definition at line 105 of file test_adapt.cpp.

◆ lef_units_cbk()

virtual void LefDataBase::lef_units_cbk ( LefParser::lefiUnits const & v)
inlinevirtual

set unit

Parameters
van object for unit

Definition at line 57 of file test_adapt.cpp.

◆ lef_useminspacing_cbk()

virtual void LefDataBase::lef_useminspacing_cbk ( lefiUseMinSpacing const & v)
inlinevirtual

set use min space

Parameters
van object for use min space

Reimplemented from LefParser::LefDataBase.

Definition at line 69 of file test_adapt.cpp.

◆ lef_version_cbk() [1/2]

virtual void LefDataBase::lef_version_cbk ( double v)
inlinevirtual

set LEF version

Parameters
vfloating point number of LEF version

Reimplemented from LefParser::LefDataBase.

Definition at line 45 of file test_adapt.cpp.

◆ lef_version_cbk() [2/2]

virtual void LefDataBase::lef_version_cbk ( string const & v)
inlinevirtual

set LEF version

required callbacks from abstract LefParser::LefDataBase ///////////////////

Parameters
vstring of LEF version

Reimplemented from LefParser::LefDataBase.

Definition at line 39 of file test_adapt.cpp.

◆ lef_via_cbk()

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

add via

Parameters
van object for via

Definition at line 93 of file test_adapt.cpp.

◆ lef_viarule_cbk()

virtual void LefDataBase::lef_viarule_cbk ( LefParser::lefiViaRule const & v)
inlinevirtual

add via rule

Parameters
van object for via rule

Definition at line 99 of file test_adapt.cpp.


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