|
Limbo 3.5.4
|
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 | |
| 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_casesensitive_cbk (int v) |
| set case sensitive flag | |
| virtual void | lef_nowireextension_cbk (string const &v) |
| set no wire extension flag | |
| 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_units_cbk (lefiUnits const &v) |
| set unit | |
| virtual void | lef_busbitchars_cbk (string const &v) |
| set bus bit characters | |
| 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_macrobegin_cbk (std::string const &v) |
| macro begin callback, describe standard cell type | |
| virtual void | lef_macro_cbk (lefiMacro const &v) |
| macro callback, describe standard cell type | |
| virtual void | lef_pin_cbk (lefiPin const &v) |
| pin callback, describe pins in a standard cell | |
| 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 | |
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.
I leave the callbacks with string parameters in the header for robustness with C++ ABI
Definition at line 125 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 |
|
inlinevirtual |
set bus bit characters
| v | but bit characters |
Reimplemented in LefDataBase.
Definition at line 186 of file LefDataBase.h.
|
virtual |
set case sensitive flag
| v | case sensitive flag |
|
inlinevirtual |
set clearance measure
| v | clearance measure |
Reimplemented in LefDataBase.
Definition at line 176 of file LefDataBase.h.
|
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 |
|
inlinevirtual |
set divider characters
| v | divider characters |
Reimplemented in LefDataBase.
Definition at line 153 of file LefDataBase.h.
|
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 |
|
inlinevirtual |
|
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 |
|
inlinevirtual |
macro begin callback, describe standard cell type
| v | name of macro |
Reimplemented in LefDataBase.
Definition at line 223 of file LefDataBase.h.
|
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 |
|
inlinevirtual |
set no wire extension flag
| v | no wire extension flag |
Definition at line 163 of file LefDataBase.h.
|
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 |
|
virtual |
|
inlinevirtual |
set LEF version
| v | string of LEF version |
Reimplemented in LefDataBase.
Definition at line 143 of file LefDataBase.h.
|
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 295 of file LefDataBase.h.
|
static |
shift to upper case or not
Definition at line 296 of file LefDataBase.h.
|
protected |
default current lef version, use static variable to mimic definitions
Definition at line 293 of file LefDataBase.h.