Limbo
|
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>
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 |
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.
double LefParser::LefDataBase::current_version | ( | ) | const |
void LefParser::LefDataBase::current_version | ( | double | cv | ) |
set current version
cv | current version |
|
virtual |
antenna inout callback
v | antenna inout |
|
virtual |
antenna input callback
v | antenna input |
|
virtual |
antenna output callback
v | antenna output |
|
virtual |
array callback
v | an object for array |
|
virtual |
|
virtual |
set case sensitive flag
v | case sensitive flag |
|
virtual |
set clearance measure
v | clearance measure |
|
virtual |
correction table callback
v | an object for correction table |
|
virtual |
density callback
v | an object for density |
|
virtual |
dielectric callback
v | an object for dielectric |
|
virtual |
|
virtual |
edge rate scale factor
v | edge rate scale factor |
|
virtual |
edge rate threshold 1
v | edge rate threshold 1 |
|
virtual |
edge rate threshold 2
v | edge rate threshold 2 |
|
virtual |
extension callback
v | extension |
|
virtual |
inout antenna callback
v | inout antenna |
|
virtual |
input antenna callback
v | input antenna |
|
virtual |
IR drop callback.
v | an object for IR drop |
|
virtual |
add layer
v | an object for layer |
|
virtual |
macro callback, describe standard cell type
v | an object for macro |
|
virtual |
macro begin callback, describe standard cell type
v | name of macro |
Reimplemented in LefDataBase.
|
virtual |
|
virtual |
max stack via
v | an object for max stack via |
|
virtual |
min feature callback
v | an object for min feature |
|
virtual |
noise margin callback
v | an object for noise margin |
|
virtual |
noise table callback
v | an object for noise table |
|
virtual |
non-default rule callback
v | an object for non-default rule |
|
virtual |
set no wire extension flag
v | no wire extension flag |
|
virtual |
obstruction callback, describe obstructions in a standard cell
v | an object for obstruction |
|
virtual |
output antenna callback
v | output antenna |
|
virtual |
pin callback, describe pins in a standard cell
v | an object for pin |
Reimplemented in LefDataBase.
|
virtual |
property callback
v | an object for property |
|
virtual |
site callback
v | an object for site |
|
virtual |
spacing callback
v | an object for spacing |
|
virtual |
timing callback
v | an object for timing |
|
virtual |
set unit
v | an object for unit |
|
virtual |
set use min space
v | an object for use min space |
|
virtual |
|
virtual |
|
virtual |
add via
v | an object for via |
|
virtual |
add via rule
v | an object for via rule |
|
static |
case sensitive or not, mimic global variable lefNamesCaseSensitive
Definition at line 265 of file LefDataBase.h.
|
static |
shift to upper case or not
Definition at line 266 of file LefDataBase.h.
|
protected |
default current lef version, use static variable to mimic definitions
Definition at line 263 of file LefDataBase.h.