pub enum LefKey {
Show 56 variants
Library,
Version,
Foreign,
Origin,
Source,
NamesCaseSensitive,
NoWireExtensionAtPin,
Macro,
End,
Pin,
Port,
Obs,
Layer,
Direction,
Use,
Shape,
Path,
Polygon,
Rect,
Via,
Width,
Class,
Symmetry,
RowPattern,
Site,
Size,
By,
BusBitChars,
DividerChar,
Units,
BeginExtension,
Tristate,
Input,
Output,
Inout,
FeedThru,
ExceptPgNet,
DesignRuleWidth,
Spacing,
Bump,
AntennaModel,
AntennaDiffArea,
AntennaGateArea,
AntennaPartialMetalArea,
AntennaPartialMetalSideArea,
AntennaPartialCutArea,
AntennaPartialDiffArea,
AntennaMaxAreaCar,
AntennaMaxSideAreaCar,
AntennaMaxCutCar,
TaperRule,
NetExpr,
SupplySensitivity,
GroundSensitivity,
MustJoin,
Property,
}
Expand description
§Lef Key(Word)s
Enumerated “key(word)s” used in LEF parsing and generation.
Unlike typical programming languages, LEF does not really have keywords in the sense of being reserved at all points in the program. Legality of LefKeys is instead context-dependent, more as in a YAML or JSON schema. For example a LefMacro is free to use the name “MACRO” for one of its pins, whereas while during LefLibrary definition, “MACRO” is a key with special meaning.
LEF syntax is case-insensitive. LefKeys are always written in the (conventional) upper-case form, but are parsed case-insensitively.
Variants§
Library
LIBRARY
Version
VERSION
Foreign
FOREIGN
Origin
ORIGIN
Source
SOURCE
NamesCaseSensitive
NAMESCASESENSITIVE
NoWireExtensionAtPin
NOWIREEXTENSIONATPIN
Macro
MACRO
End
END
Pin
PIN
Port
PORT
Obs
OBS
Layer
LAYER
Direction
DIRECTION
Use
USE
Shape
SHAPE
Path
PATH
Polygon
POLYGON
Rect
RECT
Via
VIA
Width
WIDTH
Class
CLASS
Symmetry
SYMMETRY
RowPattern
ROWPATTERN
Site
SITE
Size
SIZE
By
BY
BusBitChars
BUSBITCHARS
DividerChar
DIVIDERCHAR
Units
UNITS
BeginExtension
BEGINEXT
Tristate
TRISTATE
Input
INPUT
Output
OUTPUT
Inout
INOUT
FeedThru
FEEDTHRU
ExceptPgNet
EXCEPTPGNET
DesignRuleWidth
DESIGNRULEWIDTH
Spacing
SPACING
Bump
BUMP
AntennaModel
ANTENNAMODEL
AntennaDiffArea
ANTENNADIFFAREA
AntennaGateArea
ANTENNAGATEAREA
AntennaPartialMetalArea
ANTENNAPARTIALMETALAREA
AntennaPartialMetalSideArea
ANTENNAPARTIALMETALSIDEAREA
AntennaPartialCutArea
ANTENNAPARTIALCUTAREA
AntennaPartialDiffArea
ANTENNAPARTIALDIFFAREA
AntennaMaxAreaCar
ANTENNAMAXAREACAR
AntennaMaxSideAreaCar
ANTENNAMAXSIDEAREACAR
AntennaMaxCutCar
ANTENNAMAXCUTCAR
TaperRule
TAPERRULE
NetExpr
NETEXPR
SupplySensitivity
SUPPLYSENSITIVITY
GroundSensitivity
GROUNDSENSITIVITY
MustJoin
MUSTJOIN
Property
PROPERTY
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LefKey
impl<'de> Deserialize<'de> for LefKey
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Copy for LefKey
impl Eq for LefKey
impl StructuralPartialEq for LefKey
Auto Trait Implementations§
impl Freeze for LefKey
impl RefUnwindSafe for LefKey
impl Send for LefKey
impl Sync for LefKey
impl Unpin for LefKey
impl UnwindSafe for LefKey
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.