pub struct Library<C: Ctx> {Show 74 fields
pub name: Vec<String>,
pub extra_ctx: C::Library,
pub attributes: Attributes,
pub define: GroupSet<Define>,
pub technology: Option<Technology>,
pub delay_model: DelayModel,
pub date: String,
pub comment: Option<String>,
pub revision: Option<String>,
pub simulation: Option<bool>,
pub nom_process: Option<f64>,
pub nom_temperature: Option<f64>,
pub nom_voltage: Option<f64>,
pub receiver_capacitance_rise_threshold_pct: Vec<f64>,
pub receiver_capacitance_fall_threshold_pct: Vec<f64>,
pub type: GroupSet<BusType<C>>,
pub operating_conditions: GroupSet<OperatingConditions<C>>,
pub default_operating_conditions: Option<String>,
pub default_threshold_voltage_group: Option<String>,
pub define_group: GroupSet<DefineGroup>,
pub define_cell_area: GroupSet<DefineCellArea>,
pub library_features: Vec<String>,
pub default_leakage_power_density: Option<f64>,
pub default_cell_leakage_power: Option<f64>,
pub default_connection_class: Option<String>,
pub default_fanout_load: Option<f64>,
pub default_inout_pin_cap: Option<f64>,
pub default_input_pin_cap: Option<f64>,
pub default_max_capacitance: Option<f64>,
pub default_max_fanout: Option<f64>,
pub default_max_transition: Option<f64>,
pub default_output_pin_cap: Option<f64>,
pub default_wire_load_area: Option<f64>,
pub default_wire_load_capacitance: Option<f64>,
pub default_wire_load_mode: Option<String>,
pub default_wire_load_resistance: Option<f64>,
pub default_wire_load_selection: Option<String>,
pub em_temp_degradation_factor: Option<f64>,
pub time_unit: TimeUnit,
pub capacitive_load_unit: Option<CapacitiveLoadUnit>,
pub voltage_unit: VoltageUnit,
pub current_unit: Option<CurrentUnit>,
pub pulling_resistance_unit: Option<PullingResistanceUnit>,
pub leakage_power_unit: Option<LeakagePowerUnit>,
pub voltage_map: GroupSet<VoltageMap>,
pub input_voltage: GroupSet<InputVoltage<C>>,
pub output_voltage: GroupSet<OutputVoltage<C>>,
pub slew_upper_threshold_pct_rise: f64,
pub slew_lower_threshold_pct_rise: f64,
pub slew_derate_from_library: f64,
pub slew_lower_threshold_pct_fall: f64,
pub slew_upper_threshold_pct_fall: f64,
pub input_threshold_pct_fall: f64,
pub input_threshold_pct_rise: f64,
pub output_threshold_pct_rise: f64,
pub output_threshold_pct_fall: f64,
pub is_soi: Option<bool>,
pub soft_error_rate_confidence: Option<f64>,
pub char_config: Option<CharConfig<C>>,
pub output_current_template: GroupSet<TableTemple<C>>,
pub power_lut_template: GroupSet<TableTemple<C>>,
pub lu_table_template: GroupSet<TableTemple<C>>,
pub base_curves: GroupSet<BaseCurves<C>>,
pub compact_lut_template: GroupSet<CompactLutTemplate<C>>,
pub normalized_driver_waveform: GroupSet<DriverWaveform<C>>,
pub wire_load: GroupSet<WireLoad<C>>,
pub wire_load_selection: GroupSet<WireLoadSection<C>>,
pub default_wire_load: Option<String>,
pub in_place_swap_mode: Option<String>,
pub fpga_isd: GroupSet<FpgaIsd<C>>,
pub default_fpga_isd: Option<String>,
pub sensitization: GroupSet<Sensitization<C>>,
pub model: GroupSet<Model<C>>,
pub cell: GroupSet<Cell<C>>,
/* private fields */
}
Expand description
The first line of the library group statement names the library.
It is the first executable line in your library. Reference
Fields§
§name: Vec<String>
library name
extra_ctx: C::Library
§attributes: Attributes
group undefined attributes
define: GroupSet<Define>
Use this attribute to define new, temporary, or user-defined attributes
for use in symbol and technology libraries.
You can use either a space or a comma to separate the arguments.
The following example shows how to define a new string attribute called bork
,
which is valid in a pin
group:
§Example
define ("bork", "pin", "string") ;
You give the new library attribute a value by using the simple attribute syntax:
bork : "nimo" ;
technology: Option<Technology>
The technology
attribute statement specifies the technology
family being used in the library.
When you define the technology attribute,
it must be the first attribute you use and it must be placed at the top of the listing.
Reference
delay_model: DelayModel
Use the delay_model
attribute to specify which delay model
to use in the delay calculations.
The delay_model
attribute must be the first attribute in the library
if a technology attribute is not present.
Otherwise, it should follow the technology attribute.
Reference
date: String
You can use any format within the quotation marks to report the date Reference
comment: Option<String>
You use the comment
attribute to include copyright
or other product information in the library report. You can include only one comment line in a library
Reference
revision: Option<String>
The optional revision
attribute defines a revision number for your library.
Reference
simulation: Option<bool>
Used in TSMC PDK
nom_process: Option<f64>
The nom_process
attribute defines process scaling,
one of the nominal operating conditions for a library.
A floating-point number that represents the degree of process scaling in the cells of the library. Reference
nom_temperature: Option<f64>
The nom_temperature
attribute defines the temperature (in centigrade),
one of the nominal operating conditions for a library.
A floating-point number that represents the temperature of the cells in the library Reference
nom_voltage: Option<f64>
The nom_voltage
attribute defines voltage, one of the nominal operating conditions for a library.
Reference
receiver_capacitance_rise_threshold_pct: Vec<f64>
The receiver_capacitance_rise_threshold_pct
attribute specifies the points that
separate the voltage rise segments in the multi-segment receiver capacitance model.
Specify the points as percentage of the rail voltage between 0.0 and 100.0.
Specify monotonically increasing values with the
receiver_capacitance_rise_threshold_pct
attribute.
§Syntax
receiver_capacitance_rise_threshold_pct ("float, float,...");
§Example
receiver_capacitance_rise_threshold_pct ("0, 30, 50, 60, 70, 80, 100");
In this example, six segments are defined and the first segment is from zero percent to 30 percent of the rail voltage. Reference
receiver_capacitance_fall_threshold_pct: Vec<f64>
The receiver_capacitance_fall_threshold_pct
attribute specifies the points that
separate the voltage fall segments in the multi-segment receiver capacitance model.
Specify each point as a percentage of the rail voltage between 0.0 and 100.0.
Specify monotonically decreasing values with the
receiver_capacitance_fall_threshold_pct
attribute.
§Syntax
receiver_capacitance_fall_threshold_pct ("float, float,...");
§Example
receiver_capacitance_fall_threshold_pct ("100, 80, 70, 60, 50, 30, 0");
In this example, six segments are defined and the first segment is from 100 percent to 80 percent of the rail voltage. Reference
type: GroupSet<BusType<C>>
If your library contains bused pins, you must define type groups and define the structural constraints of each bus type in the library. The type group is defined at the library group level, as shown here: Reference
Example 17 Bused Pins
library (ExamBus) {
type (bus4) { /* bus name */
bit_width : 4 ; /* number of bused pins */
...
...
}
cell (bused cell) {
...
bus (A) {
...
bus_type : bus4 ; /* bus name */
...
}
}
}
operating_conditions: GroupSet<OperatingConditions<C>>
Use this group to define operating conditions;
that is, process
, voltage
, and temperature
.
You define an operating_conditions
group at the library-level, as shown here:
Reference
default_operating_conditions: Option<String>
Default operating conditions for the library Reference
default_threshold_voltage_group: Option<String>
The optional default_threshold_voltage_group
attribute specifies a cell’s category based on its threshold voltage characteristics
Reference
define_group: GroupSet<DefineGroup>
Use this special attribute to define new, temporary, or user-defined groups for use in technology libraries. Reference
define_cell_area: GroupSet<DefineCellArea>
The define_cell_area
attribute defines the area resources a cell
uses,
such as the number of pad slots.
Reference
library_features: Vec<String>
library_features (value_1, value_2, ..., value_n) ;
default_leakage_power_density: Option<f64>
Used in TSMC library
default_cell_leakage_power: Option<f64>
Default leakage power Reference
default_connection_class: Option<String>
Default connection class Reference
default_fanout_load: Option<f64>
Fanout load of input pins Reference
default_inout_pin_cap: Option<f64>
Capacitance of inout pins Reference
default_input_pin_cap: Option<f64>
Capacitance of input pins Reference
default_max_capacitance: Option<f64>
Maximum capacitance of output pins Reference
default_max_fanout: Option<f64>
Maximum fanout of all output pins Reference
default_max_transition: Option<f64>
Maximum transition of output pins Reference
default_output_pin_cap: Option<f64>
Capacitance of output pins Reference
default_wire_load_area: Option<f64>
Wire load area Reference
default_wire_load_capacitance: Option<f64>
Wire load capacitance Reference
default_wire_load_mode: Option<String>
Wire load mode Reference
default_wire_load_resistance: Option<f64>
Wire load resistance Reference
default_wire_load_selection: Option<String>
Wire load selection Reference
em_temp_degradation_factor: Option<f64>
The em_temp_degradation_factor
attribute specifies the electromigration exponential
degradation factor.
§Syntax:
em_temp_degradation_factor : valuefloat ;
value: A floating-point number in centigrade units consistent with other temperature specifications throughout the library.
§Example
em_temp_degradation_factor : 40.0 ;
Reference
time_unit: TimeUnit
Valid values are 1ps, 10ps, 100ps, and 1ns. The default is 1ns. Reference
capacitive_load_unit: Option<CapacitiveLoadUnit>
This attribute specifies the unit for all capacitance values within the logic library, including default capacitances, max_fanout capacitances, pin capacitances, and wire capacitances. Reference
voltage_unit: VoltageUnit
Valid values are 1mV, 10mV, 100mV, and 1V. The default is 1V. Reference
current_unit: Option<CurrentUnit>
The valid values are 1uA, 10uA, 100uA, 1mA, 10mA, 100mA, and 1A.
No default exists for the current_unit
attribute if the attribute is omitted.
Reference
pulling_resistance_unit: Option<PullingResistanceUnit>
Valid unit values are 1ohm, 10ohm, 100ohm, and 1kohm.
No default exists for pulling_resistance_unit
if the attribute is omitted.
Reference
leakage_power_unit: Option<LeakagePowerUnit>
This attribute indicates the units of the power values in the library. If this attribute is missing, the leakage-power values are expressed without units.
Valid values are 1W, 100mW, 10mW, 1mW, 100nW, 10nW, 1nW, 100pW, 10pW, and 1pW. Reference
voltage_map: GroupSet<VoltageMap>
Use the voltage_map
attribute to associate a voltage name
with relative voltage values referenced by the cell-level pg_pin
groups
Reference
input_voltage: GroupSet<InputVoltage<C>>
An input_voltage
group is defined in the library group to designate
a set of input voltage ranges for your cells.
Reference
output_voltage: GroupSet<OutputVoltage<C>>
You define an output_voltage
group in the library
group to designate a set of output
voltage level ranges to drive output cells.
Reference
slew_upper_threshold_pct_rise: f64
Use the slew_upper_threshold_pct_rise
attribute to set the value of the upper threshold point
that is used to model the delay of a pin rising from 0 to 1.
You can specify this attribute at the pin-level to override the default.
A floating-point number between 0.0 and 100.0 that specifies the upper threshold point used to model the delay of a pin rising from 0 to 1. The default is 80.0. Reference
slew_lower_threshold_pct_rise: f64
Use the slew_lower_threshold_pct_rise
attribute to set the default lower threshold point
that is used to model the delay of a pin rising from 0 to 1.
You can specify this attribute at the pin-level to override the default.
A floating-point number between 0.0 and 100.0 that specifies the lower threshold point used to model the delay of a pin rising from 0 to 1. The default is 20.0 Reference
slew_derate_from_library: f64
Use the slew_derate_from_library
attribute to specify how the transition times need to be derated to match the transition times between the characterization trip points
A floating-point number between 0.0 and 1.0. The default is 1.0. Reference
slew_lower_threshold_pct_fall: f64
Use the slew_lower_threshold_pct_fall
attribute to set the default lower threshold point
that is used to model the delay of a pin falling from 1 to 0.
You can specify this attribute at the pin-level to override the default.
A floating-point number between 0.0 and 100.0 that specifies the lower threshold point used to model the delay of a pin falling from 1 to 0. The default is 20.0 Reference
slew_upper_threshold_pct_fall: f64
Use the slew_upper_threshold_pct_fall
attribute to set the default upper threshold point
that is used to model the delay of a pin falling from 1 to 0.
You can specify this attribute at the pin-level to override the default.
A floating-point number between 0.0 and 100.0 that specifies the upper threshold point to model the delay of a pin falling from 1 to 0. The default is 80.0 Reference
input_threshold_pct_fall: f64
Use the input_threshold_pct_fall
attribute to set the default threshold point
on an input pin signal falling from 1 to 0.
You can specify this attribute at the pin-level to override the default.
A floating-point number between 0.0 and 100.0 that specifies the threshold point of an input pin signal falling from 1 to 0. The default is 50.0. Reference
input_threshold_pct_rise: f64
Use the input_threshold_pct_rise
attribute to set the default threshold point
on an input pin signal rising from 0 to 1.
You can specify this attribute at the pin-level to override the default.
A floating-point number between 0.0 and 100.0 that specifies the threshold point of an input pin signal rising from 0 to 1. The default is 50.0. Reference
output_threshold_pct_rise: f64
Use the output_threshold_pct_rise
attribute to set the value
of the threshold point on an output pin signal rising from 0 to 1.
A floating-point number between 0.0 and 100.0 that specifies the threshold point of an output pin signal rising from 0 to 1.The default is 50.0 Reference
output_threshold_pct_fall: f64
Use the output_threshold_pct_fall
attribute to set the value of the threshold point
on an output pin signal falling from 1 to 0.
A floating-point number between 0.0 and 100.0 that specifies the threshold point of an output pin signal falling from 1 to 0. The default is 50.0 Reference
is_soi: Option<bool>
The is_soi
attribute specifies that the cell is a
silicon-on-insulator (SOI) cell.
The default is false, which means that the cell is a
bulk-CMOS cell.
If the is_soi
attribute is specified at both the
library and cell levels,
the cell-level value overrides the library-level value
Reference
soft_error_rate_confidence: Option<f64>
The soft_error_rate_confidence
attribute specifies the confidence level
at which the cell soft error rate is sampled in the library. The value range is from 0 to 1.
Reference
char_config: Option<CharConfig<C>>
The char_config
group is a group of attributes including simple and complex attributes.
These attributes represent library characterization configuration, and specify the settings
to characterize the library. Use the char_config
group syntax to apply an attribute value
to a specific characterization model. You can specify multiple complex attributes in the
char_config
group. You can also specify a single complex attribute multiple times for
different characterization models.
You can also define the char_config
group within the cell, pin, and timing groups.
However, when you specify the same attribute in multiple char_config
groups at different
levels, such as at the library
, cell
, pin
, and timing
levels, the attribute specified at the lower
level gets priority over the ones specified at the higher levels. For example, the pin-level
char_config
group attributes have higher priority over the library-level char_config
group attributes.
§Syntax
library (library_name) {
char_config() {
/* characterization configuration attributes */
}
...
cell (cell_name) {
char_config() {
/* characterization configuration attributes */
}
...
pin(pin_name) {
char_config() {
/* characterization configuration attributes */
}
timing() {
char_config() {
/* characterization configuration attributes */
}
} /* end of timing */
...
} /* end of pin */
...
} /* end of cell */
...
}
output_current_template: GroupSet<TableTemple<C>>
Use the output_current_template
group to describe a table template
for composite current source (CCS) modeling.
Reference
power_lut_template: GroupSet<TableTemple<C>>
The power_lut_template
group is defined within the library
group, as shown here:
Reference
lu_table_template: GroupSet<TableTemple<C>>
Use the lu_table_template
group to define templates of common information
to use in lookup tables. Define the lu_table_template
group at the library level
Reference
base_curves: GroupSet<BaseCurves<C>>
The base_curves
group is a library-level group that contains
the detailed description of normalized base curves.
Syntax
library (my_compact_ccs_lib) {
…
base_curves (base_curves_name) {
…
}
}
Example
library(my_lib) {
…
base_curves (ctbct1) {
…
}
}
compact_lut_template: GroupSet<CompactLutTemplate<C>>
The compact_lut_template
group is a lookup table template used for compact CCS timing and power modeling
Reference
normalized_driver_waveform: GroupSet<DriverWaveform<C>>
The library-level normalized_driver_waveform
group represents a collection
of driver waveforms under various input slew values.
The index_1
specifies the input slew and index_2
specifies the normalized voltage.
Note that the slew index in the normalized_driver_waveform
table is
based on the slew derate and slew trip points of the library (global values).
When applied on a pin or cell with different slew or slew derate,
the new slew should be interpreted from the waveform.
Reference
wire_load: GroupSet<WireLoad<C>>
A wire_load
group is defined in a library
group, as follows.
Reference
wire_load_selection: GroupSet<WireLoadSection<C>>
A wire_load_selection
group is defined in a library
group, as follows.
Reference
default_wire_load: Option<String>
Wire load Reference
in_place_swap_mode: Option<String>
Used in TSMC library
valid: match_footprint
?
fpga_isd: GroupSet<FpgaIsd<C>>
You can define one or more fpga_isd
groups at the library level
to specify the drive current, I/O voltages, and slew rates for FPGA parts and cells
When you specify more than one fpga_isd
group, you must also define
the library-level default_fpga_isd
attribute to specify which fpga_isd
group is the default
Reference
default_fpga_isd: Option<String>
When you specify more than one fpga_isd
group, you must also define
the library-level default_fpga_isd
attribute to specify which fpga_isd
group is the default
Reference
sensitization: GroupSet<Sensitization<C>>
The sensitization
group defined at the library level describes
the complete state patterns for a specific list of pins (defined by the pin_names
attribute)
that are referenced and instantiated as stimuli in the timing arc.
Vector attributes in the group define all possible pin states used as stimuli.
Actual stimulus waveforms can be described by a combination of these vectors.
Multiple sensitization groups are allowed in a library. Each sensitization
group
can be referenced by multiple cells, and each cell can make reference to
multiple sensitization
groups.
model: GroupSet<Model<C>>
A model group can include all the attributes that are valid in a cell group, as well as the two additional attributes described in this section. For information about the cell group attributes, see Attributes and Values on page 99. Reference
cell: GroupSet<Cell<C>>
Implementations§
Source§impl<C: Ctx> Library<C>
impl<C: Ctx> Library<C>
pub fn comments_this(&self) -> Option<&String>
pub fn comments_this_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_technology(&self) -> Option<&String>
pub fn comments_technology_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_delay_model(&self) -> Option<&String>
pub fn comments_delay_model_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_date(&self) -> Option<&String>
pub fn comments_date_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_comment(&self) -> Option<&String>
pub fn comments_comment_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_revision(&self) -> Option<&String>
pub fn comments_revision_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_simulation(&self) -> Option<&String>
pub fn comments_simulation_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_nom_process(&self) -> Option<&String>
pub fn comments_nom_process_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_nom_temperature(&self) -> Option<&String>
pub fn comments_nom_temperature_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_nom_voltage(&self) -> Option<&String>
pub fn comments_nom_voltage_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_receiver_capacitance_rise_threshold_pct( &self, ) -> Option<&String>
pub fn comments_receiver_capacitance_rise_threshold_pct_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_receiver_capacitance_fall_threshold_pct( &self, ) -> Option<&String>
pub fn comments_receiver_capacitance_fall_threshold_pct_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_operating_conditions(&self) -> Option<&String>
pub fn comments_default_operating_conditions_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_threshold_voltage_group(&self) -> Option<&String>
pub fn comments_default_threshold_voltage_group_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_library_features(&self) -> Option<&String>
pub fn comments_library_features_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_leakage_power_density(&self) -> Option<&String>
pub fn comments_default_leakage_power_density_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_cell_leakage_power(&self) -> Option<&String>
pub fn comments_default_cell_leakage_power_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_connection_class(&self) -> Option<&String>
pub fn comments_default_connection_class_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_fanout_load(&self) -> Option<&String>
pub fn comments_default_fanout_load_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_inout_pin_cap(&self) -> Option<&String>
pub fn comments_default_inout_pin_cap_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_input_pin_cap(&self) -> Option<&String>
pub fn comments_default_input_pin_cap_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_max_capacitance(&self) -> Option<&String>
pub fn comments_default_max_capacitance_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_max_fanout(&self) -> Option<&String>
pub fn comments_default_max_fanout_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_max_transition(&self) -> Option<&String>
pub fn comments_default_max_transition_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_output_pin_cap(&self) -> Option<&String>
pub fn comments_default_output_pin_cap_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_wire_load_area(&self) -> Option<&String>
pub fn comments_default_wire_load_area_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_wire_load_capacitance(&self) -> Option<&String>
pub fn comments_default_wire_load_capacitance_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_wire_load_mode(&self) -> Option<&String>
pub fn comments_default_wire_load_mode_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_wire_load_resistance(&self) -> Option<&String>
pub fn comments_default_wire_load_resistance_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_wire_load_selection(&self) -> Option<&String>
pub fn comments_default_wire_load_selection_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_em_temp_degradation_factor(&self) -> Option<&String>
pub fn comments_em_temp_degradation_factor_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_time_unit(&self) -> Option<&String>
pub fn comments_time_unit_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_capacitive_load_unit(&self) -> Option<&String>
pub fn comments_capacitive_load_unit_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_voltage_unit(&self) -> Option<&String>
pub fn comments_voltage_unit_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_current_unit(&self) -> Option<&String>
pub fn comments_current_unit_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_pulling_resistance_unit(&self) -> Option<&String>
pub fn comments_pulling_resistance_unit_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_leakage_power_unit(&self) -> Option<&String>
pub fn comments_leakage_power_unit_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_slew_upper_threshold_pct_rise(&self) -> Option<&String>
pub fn comments_slew_upper_threshold_pct_rise_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_slew_lower_threshold_pct_rise(&self) -> Option<&String>
pub fn comments_slew_lower_threshold_pct_rise_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_slew_derate_from_library(&self) -> Option<&String>
pub fn comments_slew_derate_from_library_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_slew_lower_threshold_pct_fall(&self) -> Option<&String>
pub fn comments_slew_lower_threshold_pct_fall_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_slew_upper_threshold_pct_fall(&self) -> Option<&String>
pub fn comments_slew_upper_threshold_pct_fall_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_input_threshold_pct_fall(&self) -> Option<&String>
pub fn comments_input_threshold_pct_fall_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_input_threshold_pct_rise(&self) -> Option<&String>
pub fn comments_input_threshold_pct_rise_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_output_threshold_pct_rise(&self) -> Option<&String>
pub fn comments_output_threshold_pct_rise_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_output_threshold_pct_fall(&self) -> Option<&String>
pub fn comments_output_threshold_pct_fall_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_is_soi(&self) -> Option<&String>
pub fn comments_is_soi_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_soft_error_rate_confidence(&self) -> Option<&String>
pub fn comments_soft_error_rate_confidence_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_wire_load(&self) -> Option<&String>
pub fn comments_default_wire_load_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_in_place_swap_mode(&self) -> Option<&String>
pub fn comments_in_place_swap_mode_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_default_fpga_isd(&self) -> Option<&String>
pub fn comments_default_fpga_isd_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
Source§impl<C: Ctx> Library<C>
impl<C: Ctx> Library<C>
pub fn write_lib_file<P: AsRef<Path>>(&self, filename: P) -> Result<()>
Sourcepub fn parse_lib_file(filename: &Path) -> Result<Self, ParserError<'_>>
pub fn parse_lib_file(filename: &Path) -> Result<Self, ParserError<'_>>
Parse .lib
file as a Library struct.
Sourcepub fn parse_lib<'a>(
s: &str,
filename: Option<&'a Path>,
) -> Result<Self, ParserError<'a>>
pub fn parse_lib<'a>( s: &str, filename: Option<&'a Path>, ) -> Result<Self, ParserError<'a>>
Parse .lib
string as a Library struct.
Specify filename
for better error information.
pub fn fmt_lib<I: Indentation>( &self, f: &mut Formatter<'_>, ) -> Result<(), Error>
Sourcepub fn parse_json(_i: &str) -> Result<Self, ParserError<'_>>
pub fn parse_json(_i: &str) -> Result<Self, ParserError<'_>>
TODO: Parse .json
file as a Library struct.
Sourcepub fn fmt_json<I: Indentation>(
&self,
_f: &mut Formatter<'_>,
) -> Result<(), Error>
pub fn fmt_json<I: Indentation>( &self, _f: &mut Formatter<'_>, ) -> Result<(), Error>
TODO: Format Library to .json
Trait Implementations§
Source§impl<'de, C: Ctx> Deserialize<'de> for Library<C>
impl<'de, C: Ctx> Deserialize<'de> for Library<C>
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>,
Auto Trait Implementations§
impl<C> Freeze for Library<C>
impl<C> RefUnwindSafe for Library<C>where
<C as Ctx>::Library: RefUnwindSafe,
<C as Ctx>::Other: RefUnwindSafe,
<C as Ctx>::Pin: RefUnwindSafe,
<C as Ctx>::CompactTable: RefUnwindSafe,
<C as Ctx>::Cell: RefUnwindSafe,
<C as Ctx>::Table: RefUnwindSafe,
<C as Ctx>::FFLatch: RefUnwindSafe,
<C as Ctx>::InternalPower: RefUnwindSafe,
<C as Ctx>::Timing: RefUnwindSafe,
impl<C> Send for Library<C>
impl<C> Sync for Library<C>
impl<C> Unpin for Library<C>
impl<C> UnwindSafe for Library<C>where
<C as Ctx>::Library: UnwindSafe,
<C as Ctx>::Other: UnwindSafe,
<C as Ctx>::Pin: UnwindSafe,
<C as Ctx>::CompactTable: UnwindSafe,
<C as Ctx>::Cell: UnwindSafe,
<C as Ctx>::Table: UnwindSafe,
<C as Ctx>::FFLatch: UnwindSafe,
<C as Ctx>::InternalPower: UnwindSafe,
<C as Ctx>::Timing: UnwindSafe,
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> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more