Crate libertyparse

Source
Expand description

A liberty cell library parser written in Rust

See Liberty::parse_str, Liberty, Lib, etc.

Structs§

Cell
A library cell consisting of pin definitions and sequential functionality definitions.
FFDef
LUT
A LUT with associated template.
LUTTemplate
A LUT template.
LatchDef
Lib
A liberty library wrapped inside library(...) {...}.
Liberty
A liberty file with multiple libraries. This is the main entry of parsing.
LogicExpr
Pin
A library pin (macro pin) with metadata (direction, function, caps, etc) and timing arcs (delay, slew & constraints).
StateTableDef
Timing
A timing arc definition. It contains arc type, timing sense, and delay/slew/constraint LUTs.
Units
All units are stored as ratio to the standard units (s, F, Ohm, A, …)
Unparsed
A warning record of unparsed (but semantically valid) Liberty content.

Enums§

ClearPresetVar
Clear & preset behavior definition.
LUTVariable
LogicExprInst
The element of the stack language can be:
PinDirection
SequentialDef
A sequential element specification. Optionally defines a number of internal states.
StateTableValue
All possible state table items Note that we merged the “-” and “N” in next internal nodes into a single “N”. According to the hints in Liberty docs, they are actually different in event generation? No difference in our applications yet.
TimingSense
TimingType