Library

Struct Library 

Source
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" ;

Reference

§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) ;

Reference

§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 */
  ...
}

Reference

§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) {
    …
  }
}

Reference

§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.

Reference

§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>

Source

pub fn comments_this(&self) -> Option<&String>

Source

pub fn comments_this_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_technology(&self) -> Option<&String>

Source

pub fn comments_technology_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_delay_model(&self) -> Option<&String>

Source

pub fn comments_delay_model_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_date(&self) -> Option<&String>

Source

pub fn comments_date_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_comment(&self) -> Option<&String>

Source

pub fn comments_comment_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_revision(&self) -> Option<&String>

Source

pub fn comments_revision_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_simulation(&self) -> Option<&String>

Source

pub fn comments_simulation_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_nom_process(&self) -> Option<&String>

Source

pub fn comments_nom_process_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_nom_temperature(&self) -> Option<&String>

Source

pub fn comments_nom_temperature_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_nom_voltage(&self) -> Option<&String>

Source

pub fn comments_nom_voltage_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_receiver_capacitance_rise_threshold_pct( &self, ) -> Option<&String>

Source

pub fn comments_receiver_capacitance_rise_threshold_pct_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_receiver_capacitance_fall_threshold_pct( &self, ) -> Option<&String>

Source

pub fn comments_receiver_capacitance_fall_threshold_pct_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_operating_conditions(&self) -> Option<&String>

Source

pub fn comments_default_operating_conditions_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_threshold_voltage_group(&self) -> Option<&String>

Source

pub fn comments_default_threshold_voltage_group_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_library_features(&self) -> Option<&String>

Source

pub fn comments_library_features_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_leakage_power_density(&self) -> Option<&String>

Source

pub fn comments_default_leakage_power_density_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_cell_leakage_power(&self) -> Option<&String>

Source

pub fn comments_default_cell_leakage_power_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_connection_class(&self) -> Option<&String>

Source

pub fn comments_default_connection_class_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_fanout_load(&self) -> Option<&String>

Source

pub fn comments_default_fanout_load_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_inout_pin_cap(&self) -> Option<&String>

Source

pub fn comments_default_inout_pin_cap_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_input_pin_cap(&self) -> Option<&String>

Source

pub fn comments_default_input_pin_cap_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_max_capacitance(&self) -> Option<&String>

Source

pub fn comments_default_max_capacitance_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_max_fanout(&self) -> Option<&String>

Source

pub fn comments_default_max_fanout_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_max_transition(&self) -> Option<&String>

Source

pub fn comments_default_max_transition_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_output_pin_cap(&self) -> Option<&String>

Source

pub fn comments_default_output_pin_cap_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_wire_load_area(&self) -> Option<&String>

Source

pub fn comments_default_wire_load_area_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_wire_load_capacitance(&self) -> Option<&String>

Source

pub fn comments_default_wire_load_capacitance_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_wire_load_mode(&self) -> Option<&String>

Source

pub fn comments_default_wire_load_mode_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_wire_load_resistance(&self) -> Option<&String>

Source

pub fn comments_default_wire_load_resistance_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_wire_load_selection(&self) -> Option<&String>

Source

pub fn comments_default_wire_load_selection_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_em_temp_degradation_factor(&self) -> Option<&String>

Source

pub fn comments_em_temp_degradation_factor_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_time_unit(&self) -> Option<&String>

Source

pub fn comments_time_unit_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_capacitive_load_unit(&self) -> Option<&String>

Source

pub fn comments_capacitive_load_unit_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_voltage_unit(&self) -> Option<&String>

Source

pub fn comments_voltage_unit_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_current_unit(&self) -> Option<&String>

Source

pub fn comments_current_unit_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_pulling_resistance_unit(&self) -> Option<&String>

Source

pub fn comments_pulling_resistance_unit_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_leakage_power_unit(&self) -> Option<&String>

Source

pub fn comments_leakage_power_unit_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_slew_upper_threshold_pct_rise(&self) -> Option<&String>

Source

pub fn comments_slew_upper_threshold_pct_rise_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_slew_lower_threshold_pct_rise(&self) -> Option<&String>

Source

pub fn comments_slew_lower_threshold_pct_rise_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_slew_derate_from_library(&self) -> Option<&String>

Source

pub fn comments_slew_derate_from_library_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_slew_lower_threshold_pct_fall(&self) -> Option<&String>

Source

pub fn comments_slew_lower_threshold_pct_fall_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_slew_upper_threshold_pct_fall(&self) -> Option<&String>

Source

pub fn comments_slew_upper_threshold_pct_fall_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_input_threshold_pct_fall(&self) -> Option<&String>

Source

pub fn comments_input_threshold_pct_fall_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_input_threshold_pct_rise(&self) -> Option<&String>

Source

pub fn comments_input_threshold_pct_rise_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_output_threshold_pct_rise(&self) -> Option<&String>

Source

pub fn comments_output_threshold_pct_rise_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_output_threshold_pct_fall(&self) -> Option<&String>

Source

pub fn comments_output_threshold_pct_fall_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_is_soi(&self) -> Option<&String>

Source

pub fn comments_is_soi_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_soft_error_rate_confidence(&self) -> Option<&String>

Source

pub fn comments_soft_error_rate_confidence_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_wire_load(&self) -> Option<&String>

Source

pub fn comments_default_wire_load_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_in_place_swap_mode(&self) -> Option<&String>

Source

pub fn comments_in_place_swap_mode_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source

pub fn comments_default_fpga_isd(&self) -> Option<&String>

Source

pub fn comments_default_fpga_isd_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>

Source§

impl<C: Ctx> Library<C>

Source

pub fn write_lib_file<P: AsRef<Path>>(&self, filename: P) -> Result<()>

Source

pub fn parse_lib_file(filename: &Path) -> Result<Self, ParserError<'_>>

Parse .lib file as a Library struct.

Source

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.

Source

pub fn fmt_lib<I: Indentation>( &self, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source

pub fn parse_json(_i: &str) -> Result<Self, ParserError<'_>>

TODO: Parse .json file as a Library struct.

Source

pub fn fmt_json<I: Indentation>( &self, _f: &mut Formatter<'_>, ) -> Result<(), Error>

TODO: Format Library to .json

Source

pub fn parse_db(_i: &str) -> Result<Self, ParserError<'_>>

TODO: Parse .db file as a Library struct.

Source

pub fn fmt_db(&self, _f: &mut Formatter<'_>) -> Result<(), Error>

TODO: Format Library to .db

Trait Implementations§

Source§

impl<C: Ctx> Borrow<[String]> for Library<C>

Source§

fn borrow(&self) -> &[String]

Immutably borrows from an owned value. Read more
Source§

impl<C: Ctx> Borrow<Vec<String>> for Library<C>

Source§

fn borrow(&self) -> &LibraryId

Immutably borrows from an owned value. Read more
Source§

impl<C: Clone + Ctx> Clone for Library<C>
where C::Library: Clone,

Source§

fn clone(&self) -> Library<C>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<C: Debug + Ctx> Debug for Library<C>
where C::Library: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de, C: Ctx> Deserialize<'de> for Library<C>

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<C: Ctx> Display for Library<C>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<C: Ctx> Item for Library<C>

Source§

type Id = Vec<String>

Source§

type IdReadonlyItem = IdReadonlyLibrary<C>

Source§

unsafe fn __unsafe_deref_mut(&self) -> &mut Self::IdReadonlyItem

Safety Read more
Source§

fn id(&self) -> &Self::Id

Source§

fn id_readonly(&mut self) -> &mut Self::IdReadonlyItem

Source§

impl<C: Ctx> Serialize for Library<C>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<C> Freeze for Library<C>
where <C as Ctx>::Library: Freeze, <C as Ctx>::Other: Freeze,

§

impl<C> RefUnwindSafe for Library<C>

§

impl<C> Send for Library<C>
where <C as Ctx>::Library: Send, <C as Ctx>::Other: Send, <C as Ctx>::Pin: Send, <C as Ctx>::CompactTable: Send, <C as Ctx>::Cell: Send, <C as Ctx>::Table: Send, <C as Ctx>::FFLatch: Send, <C as Ctx>::InternalPower: Send, <C as Ctx>::Timing: Send,

§

impl<C> Sync for Library<C>
where <C as Ctx>::Library: Sync, <C as Ctx>::Other: Sync, <C as Ctx>::Pin: Sync, <C as Ctx>::CompactTable: Sync, <C as Ctx>::Cell: Sync, <C as Ctx>::Table: Sync, <C as Ctx>::FFLatch: Sync, <C as Ctx>::InternalPower: Sync, <C as Ctx>::Timing: Sync,

§

impl<C> Unpin for Library<C>
where <C as Ctx>::Library: Unpin, <C as Ctx>::Other: Unpin, <C as Ctx>::Pin: Unpin, <C as Ctx>::CompactTable: Unpin, <C as Ctx>::Cell: Unpin, <C as Ctx>::Table: Unpin, <C as Ctx>::FFLatch: Unpin, <C as Ctx>::InternalPower: Unpin, <C as Ctx>::Timing: Unpin,

§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> Ungil for T
where T: Send,