Merge pull request #1 from google/main
Merge back changes from Google
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_1v98.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_1v98.lib
new file mode 100644
index 0000000..19be3a3
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_1v98.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ff_125C_1v98) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 125 ;
+ nom_voltage : 1.98 ;
+ voltage_map(VNW, 1.98);
+ voltage_map(VDD, 1.98);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ff_125C_1v98) {
+ process : 1 ;
+ temperature : 125 ;
+ voltage : 1.98 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 1.98 ;
+ vimin : 0 ;
+ vimax : 1.98 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 1.98 ;
+ vomin : 0 ;
+ vomax : 1.98 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.01016, 0.02032, 0.03048, 0.04065, 0.05081, 0.06097, 0.07113, 0.08129, 0.09145, 0.1016, 0.1118, 0.1219",\
+ "0, 0.03705, 0.07411, 0.1112, 0.1482, 0.1853, 0.2223, 0.2594, 0.2964, 0.3335, 0.3705, 0.4076, 0.4447",\
+ "0, 0.08841, 0.1768, 0.2652, 0.3536, 0.4421, 0.5305, 0.6189, 0.7073, 0.7957, 0.8841, 0.9725, 1.061",\
+ "0, 0.1684, 0.3368, 0.5053, 0.6737, 0.8421, 1.011, 1.179, 1.347, 1.516, 1.684, 1.853, 2.021",\
+ "0, 0.2807, 0.5614, 0.8421, 1.123, 1.403, 1.684, 1.965, 2.245, 2.526, 2.807, 3.088, 3.368",\
+ "0, 0.4284, 0.8568, 1.285, 1.714, 2.142, 2.57, 2.999, 3.427, 3.856, 4.284, 4.713, 5.141",\
+ "0, 0.6145, 1.229, 1.844, 2.458, 3.073, 3.687, 4.302, 4.916, 5.531, 6.145, 6.76, 7.374",\
+ "0, 0.8417, 1.683, 2.525, 3.367, 4.209, 5.05, 5.892, 6.734, 7.575, 8.417, 9.259, 10.1",\
+ "0, 1.113, 2.225, 3.337, 4.45, 5.562, 6.675, 7.787, 8.9, 10.01, 11.12, 12.24, 13.35");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.01016, 0.02032, 0.03048, 0.04065, 0.05081, 0.06097, 0.07113, 0.08129, 0.09145, 0.1016, 0.1118, 0.1219",\
+ "0, 0.03705, 0.07411, 0.1112, 0.1482, 0.1853, 0.2223, 0.2594, 0.2964, 0.3335, 0.3705, 0.4076, 0.4447",\
+ "0, 0.08841, 0.1768, 0.2652, 0.3536, 0.4421, 0.5305, 0.6189, 0.7073, 0.7957, 0.8841, 0.9725, 1.061",\
+ "0, 0.1684, 0.3368, 0.5053, 0.6737, 0.8421, 1.011, 1.179, 1.347, 1.516, 1.684, 1.853, 2.021",\
+ "0, 0.2807, 0.5614, 0.8421, 1.123, 1.403, 1.684, 1.965, 2.245, 2.526, 2.807, 3.088, 3.368",\
+ "0, 0.4284, 0.8568, 1.285, 1.714, 2.142, 2.57, 2.999, 3.427, 3.856, 4.284, 4.713, 5.141",\
+ "0, 0.6145, 1.229, 1.844, 2.458, 3.073, 3.687, 4.302, 4.916, 5.531, 6.145, 6.76, 7.374",\
+ "0, 0.8417, 1.683, 2.525, 3.367, 4.209, 5.05, 5.892, 6.734, 7.575, 8.417, 9.259, 10.1",\
+ "0, 1.113, 2.225, 3.337, 4.45, 5.562, 6.675, 7.787, 8.9, 10.01, 11.12, 12.24, 13.35");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_3v60.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_3v60.lib
new file mode 100644
index 0000000..adb6c35
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_3v60.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ff_125C_3v60) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 125 ;
+ nom_voltage : 3.6 ;
+ voltage_map(VNW, 3.6);
+ voltage_map(VDD, 3.6);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ff_125C_3v60) {
+ process : 1 ;
+ temperature : 125 ;
+ voltage : 3.6 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 3.6 ;
+ vimin : 0 ;
+ vimax : 3.6 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 3.6 ;
+ vomin : 0 ;
+ vomax : 3.6 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.008867, 0.01773, 0.0266, 0.03547, 0.04434, 0.0532, 0.06207, 0.07094, 0.0798, 0.08867, 0.09754, 0.1064",\
+ "0, 0.03122, 0.06244, 0.09365, 0.1249, 0.1561, 0.1873, 0.2185, 0.2497, 0.281, 0.3122, 0.3434, 0.3746",\
+ "0, 0.0739, 0.1478, 0.2217, 0.2956, 0.3695, 0.4434, 0.5173, 0.5912, 0.6651, 0.739, 0.8129, 0.8868",\
+ "0, 0.1404, 0.2808, 0.4212, 0.5616, 0.702, 0.8424, 0.9828, 1.123, 1.264, 1.404, 1.544, 1.685",\
+ "0, 0.2337, 0.4674, 0.7011, 0.9348, 1.168, 1.402, 1.636, 1.87, 2.103, 2.337, 2.571, 2.804",\
+ "0, 0.3565, 0.7129, 1.069, 1.426, 1.782, 2.139, 2.495, 2.852, 3.208, 3.565, 3.921, 4.278",\
+ "0, 0.5111, 1.022, 1.533, 2.045, 2.556, 3.067, 3.578, 4.089, 4.6, 5.111, 5.622, 6.134",\
+ "0, 0.6999, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3, 6.999, 7.699, 8.399",\
+ "0, 0.925, 1.85, 2.775, 3.7, 4.625, 5.55, 6.475, 7.4, 8.325, 9.25, 10.18, 11.1");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.008867, 0.01773, 0.0266, 0.03547, 0.04434, 0.0532, 0.06207, 0.07094, 0.0798, 0.08867, 0.09754, 0.1064",\
+ "0, 0.03122, 0.06244, 0.09365, 0.1249, 0.1561, 0.1873, 0.2185, 0.2497, 0.281, 0.3122, 0.3434, 0.3746",\
+ "0, 0.0739, 0.1478, 0.2217, 0.2956, 0.3695, 0.4434, 0.5173, 0.5912, 0.6651, 0.739, 0.8129, 0.8868",\
+ "0, 0.1404, 0.2808, 0.4212, 0.5616, 0.702, 0.8424, 0.9828, 1.123, 1.264, 1.404, 1.544, 1.685",\
+ "0, 0.2337, 0.4674, 0.7011, 0.9348, 1.168, 1.402, 1.636, 1.87, 2.103, 2.337, 2.571, 2.804",\
+ "0, 0.3565, 0.7129, 1.069, 1.426, 1.782, 2.139, 2.495, 2.852, 3.208, 3.565, 3.921, 4.278",\
+ "0, 0.5111, 1.022, 1.533, 2.045, 2.556, 3.067, 3.578, 4.089, 4.6, 5.111, 5.622, 6.134",\
+ "0, 0.6999, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3, 6.999, 7.699, 8.399",\
+ "0, 0.925, 1.85, 2.775, 3.7, 4.625, 5.55, 6.475, 7.4, 8.325, 9.25, 10.18, 11.1");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_5v50.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_5v50.lib
new file mode 100644
index 0000000..c84e314
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_5v50.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ff_125C_5v50) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 125 ;
+ nom_voltage : 5.5 ;
+ voltage_map(VNW, 5.5);
+ voltage_map(VDD, 5.5);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ff_125C_5v50) {
+ process : 1 ;
+ temperature : 125 ;
+ voltage : 5.5 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 5.5 ;
+ vimin : 0 ;
+ vimax : 5.5 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 5.5 ;
+ vomin : 0 ;
+ vomax : 5.5 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.005416, 0.01083, 0.01625, 0.02166, 0.02708, 0.0325, 0.03791, 0.04333, 0.04875, 0.05416, 0.05958, 0.06499",\
+ "0, 0.01565, 0.0313, 0.04696, 0.06261, 0.07826, 0.09391, 0.1096, 0.1252, 0.1409, 0.1565, 0.1722, 0.1878",\
+ "0, 0.0352, 0.0704, 0.1056, 0.1408, 0.176, 0.2112, 0.2464, 0.2816, 0.3168, 0.352, 0.3872, 0.4224",\
+ "0, 0.06565, 0.1313, 0.197, 0.2626, 0.3283, 0.3939, 0.4596, 0.5252, 0.5909, 0.6565, 0.7222, 0.7879",\
+ "0, 0.1084, 0.2168, 0.3252, 0.4335, 0.5419, 0.6503, 0.7587, 0.8671, 0.9755, 1.084, 1.192, 1.301",\
+ "0, 0.1646, 0.3292, 0.4938, 0.6585, 0.8231, 0.9877, 1.152, 1.317, 1.482, 1.646, 1.811, 1.975",\
+ "0, 0.2355, 0.4709, 0.7064, 0.9418, 1.177, 1.413, 1.648, 1.884, 2.119, 2.355, 2.59, 2.825",\
+ "0, 0.3219, 0.6439, 0.9658, 1.288, 1.61, 1.932, 2.253, 2.575, 2.897, 3.219, 3.541, 3.863",\
+ "0, 0.425, 0.85, 1.275, 1.7, 2.125, 2.55, 2.975, 3.4, 3.825, 4.25, 4.675, 5.1");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.005416, 0.01083, 0.01625, 0.02166, 0.02708, 0.0325, 0.03791, 0.04333, 0.04875, 0.05416, 0.05958, 0.06499",\
+ "0, 0.01565, 0.0313, 0.04696, 0.06261, 0.07826, 0.09391, 0.1096, 0.1252, 0.1409, 0.1565, 0.1722, 0.1878",\
+ "0, 0.0352, 0.0704, 0.1056, 0.1408, 0.176, 0.2112, 0.2464, 0.2816, 0.3168, 0.352, 0.3872, 0.4224",\
+ "0, 0.06565, 0.1313, 0.197, 0.2626, 0.3283, 0.3939, 0.4596, 0.5252, 0.5909, 0.6565, 0.7222, 0.7879",\
+ "0, 0.1084, 0.2168, 0.3252, 0.4335, 0.5419, 0.6503, 0.7587, 0.8671, 0.9755, 1.084, 1.192, 1.301",\
+ "0, 0.1646, 0.3292, 0.4938, 0.6585, 0.8231, 0.9877, 1.152, 1.317, 1.482, 1.646, 1.811, 1.975",\
+ "0, 0.2355, 0.4709, 0.7064, 0.9418, 1.177, 1.413, 1.648, 1.884, 2.119, 2.355, 2.59, 2.825",\
+ "0, 0.3219, 0.6439, 0.9658, 1.288, 1.61, 1.932, 2.253, 2.575, 2.897, 3.219, 3.541, 3.863",\
+ "0, 0.425, 0.85, 1.275, 1.7, 2.125, 2.55, 2.975, 3.4, 3.825, 4.25, 4.675, 5.1");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_1v98.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_1v98.lib
new file mode 100644
index 0000000..9ca8944
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_1v98.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ff_n40C_1v98) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : -40 ;
+ nom_voltage : 1.98 ;
+ voltage_map(VNW, 1.98);
+ voltage_map(VDD, 1.98);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ff_n40C_1v98) {
+ process : 1 ;
+ temperature : -40 ;
+ voltage : 1.98 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 1.98 ;
+ vimin : 0 ;
+ vimax : 1.98 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 1.98 ;
+ vomin : 0 ;
+ vomax : 1.98 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.00835, 0.0167, 0.02505, 0.0334, 0.04175, 0.0501, 0.05845, 0.0668, 0.07515, 0.0835, 0.09185, 0.1002",\
+ "0, 0.02888, 0.05777, 0.08665, 0.1155, 0.1444, 0.1733, 0.2022, 0.2311, 0.2599, 0.2888, 0.3177, 0.3466",\
+ "0, 0.06809, 0.1362, 0.2043, 0.2724, 0.3405, 0.4086, 0.4767, 0.5448, 0.6128, 0.6809, 0.749, 0.8171",\
+ "0, 0.1292, 0.2584, 0.3875, 0.5167, 0.6459, 0.7751, 0.9043, 1.033, 1.163, 1.292, 1.421, 1.55",\
+ "0, 0.2149, 0.4298, 0.6447, 0.8596, 1.074, 1.289, 1.504, 1.719, 1.934, 2.149, 2.364, 2.579",\
+ "0, 0.3277, 0.6554, 0.9831, 1.311, 1.638, 1.966, 2.294, 2.622, 2.949, 3.277, 3.605, 3.932",\
+ "0, 0.4698, 0.9396, 1.409, 1.879, 2.349, 2.819, 3.288, 3.758, 4.228, 4.698, 5.168, 5.637",\
+ "0, 0.6432, 1.286, 1.93, 2.573, 3.216, 3.859, 4.503, 5.146, 5.789, 6.432, 7.076, 7.719",\
+ "0, 0.85, 1.7, 2.55, 3.4, 4.25, 5.1, 5.95, 6.8, 7.65, 8.5, 9.35, 10.2");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.00835, 0.0167, 0.02505, 0.0334, 0.04175, 0.0501, 0.05845, 0.0668, 0.07515, 0.0835, 0.09185, 0.1002",\
+ "0, 0.02888, 0.05777, 0.08665, 0.1155, 0.1444, 0.1733, 0.2022, 0.2311, 0.2599, 0.2888, 0.3177, 0.3466",\
+ "0, 0.06809, 0.1362, 0.2043, 0.2724, 0.3405, 0.4086, 0.4767, 0.5448, 0.6128, 0.6809, 0.749, 0.8171",\
+ "0, 0.1292, 0.2584, 0.3875, 0.5167, 0.6459, 0.7751, 0.9043, 1.033, 1.163, 1.292, 1.421, 1.55",\
+ "0, 0.2149, 0.4298, 0.6447, 0.8596, 1.074, 1.289, 1.504, 1.719, 1.934, 2.149, 2.364, 2.579",\
+ "0, 0.3277, 0.6554, 0.9831, 1.311, 1.638, 1.966, 2.294, 2.622, 2.949, 3.277, 3.605, 3.932",\
+ "0, 0.4698, 0.9396, 1.409, 1.879, 2.349, 2.819, 3.288, 3.758, 4.228, 4.698, 5.168, 5.637",\
+ "0, 0.6432, 1.286, 1.93, 2.573, 3.216, 3.859, 4.503, 5.146, 5.789, 6.432, 7.076, 7.719",\
+ "0, 0.85, 1.7, 2.55, 3.4, 4.25, 5.1, 5.95, 6.8, 7.65, 8.5, 9.35, 10.2");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_3v60.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_3v60.lib
new file mode 100644
index 0000000..ed19304
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_3v60.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ff_n40C_3v60) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : -40 ;
+ nom_voltage : 3.6 ;
+ voltage_map(VNW, 3.6);
+ voltage_map(VDD, 3.6);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ff_n40C_3v60) {
+ process : 1 ;
+ temperature : -40 ;
+ voltage : 3.6 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 3.6 ;
+ vimin : 0 ;
+ vimax : 3.6 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 3.6 ;
+ vomin : 0 ;
+ vomax : 3.6 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.006969, 0.01394, 0.02091, 0.02788, 0.03485, 0.04181, 0.04878, 0.05575, 0.06272, 0.06969, 0.07666, 0.08363",\
+ "0, 0.02266, 0.04531, 0.06797, 0.09063, 0.1133, 0.1359, 0.1586, 0.1813, 0.2039, 0.2266, 0.2492, 0.2719",\
+ "0, 0.05261, 0.1052, 0.1578, 0.2105, 0.2631, 0.3157, 0.3683, 0.4209, 0.4735, 0.5261, 0.5788, 0.6314",\
+ "0, 0.09929, 0.1986, 0.2979, 0.3971, 0.4964, 0.5957, 0.695, 0.7943, 0.8936, 0.9929, 1.092, 1.191",\
+ "0, 0.1648, 0.3295, 0.4943, 0.6591, 0.8239, 0.9886, 1.153, 1.318, 1.483, 1.648, 1.813, 1.977",\
+ "0, 0.2509, 0.5019, 0.7528, 1.004, 1.255, 1.506, 1.757, 2.008, 2.259, 2.509, 2.76, 3.011",\
+ "0, 0.3595, 0.719, 1.079, 1.438, 1.798, 2.157, 2.517, 2.876, 3.236, 3.595, 3.955, 4.314",\
+ "0, 0.492, 0.9841, 1.476, 1.968, 2.46, 2.952, 3.444, 3.936, 4.428, 4.92, 5.412, 5.904",\
+ "0, 0.65, 1.3, 1.95, 2.6, 3.25, 3.9, 4.55, 5.2, 5.85, 6.5, 7.15, 7.8");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.006969, 0.01394, 0.02091, 0.02788, 0.03485, 0.04181, 0.04878, 0.05575, 0.06272, 0.06969, 0.07666, 0.08363",\
+ "0, 0.02266, 0.04531, 0.06797, 0.09063, 0.1133, 0.1359, 0.1586, 0.1813, 0.2039, 0.2266, 0.2492, 0.2719",\
+ "0, 0.05261, 0.1052, 0.1578, 0.2105, 0.2631, 0.3157, 0.3683, 0.4209, 0.4735, 0.5261, 0.5788, 0.6314",\
+ "0, 0.09929, 0.1986, 0.2979, 0.3971, 0.4964, 0.5957, 0.695, 0.7943, 0.8936, 0.9929, 1.092, 1.191",\
+ "0, 0.1648, 0.3295, 0.4943, 0.6591, 0.8239, 0.9886, 1.153, 1.318, 1.483, 1.648, 1.813, 1.977",\
+ "0, 0.2509, 0.5019, 0.7528, 1.004, 1.255, 1.506, 1.757, 2.008, 2.259, 2.509, 2.76, 3.011",\
+ "0, 0.3595, 0.719, 1.079, 1.438, 1.798, 2.157, 2.517, 2.876, 3.236, 3.595, 3.955, 4.314",\
+ "0, 0.492, 0.9841, 1.476, 1.968, 2.46, 2.952, 3.444, 3.936, 4.428, 4.92, 5.412, 5.904",\
+ "0, 0.65, 1.3, 1.95, 2.6, 3.25, 3.9, 4.55, 5.2, 5.85, 6.5, 7.15, 7.8");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_5v50.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_5v50.lib
new file mode 100644
index 0000000..eb7e2e9
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_5v50.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ff_n40C_5v50) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : -40 ;
+ nom_voltage : 5.5 ;
+ voltage_map(VNW, 5.5);
+ voltage_map(VDD, 5.5);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ff_n40C_5v50) {
+ process : 1 ;
+ temperature : -40 ;
+ voltage : 5.5 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 5.5 ;
+ vimin : 0 ;
+ vimax : 5.5 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 5.5 ;
+ vomin : 0 ;
+ vomax : 5.5 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.004726, 0.009452, 0.01418, 0.0189, 0.02363, 0.02836, 0.03308, 0.03781, 0.04253, 0.04726, 0.05199, 0.05671",\
+ "0, 0.01254, 0.02508, 0.03762, 0.05016, 0.0627, 0.07524, 0.08778, 0.1003, 0.1129, 0.1254, 0.1379, 0.1505",\
+ "0, 0.02746, 0.05492, 0.08238, 0.1098, 0.1373, 0.1648, 0.1922, 0.2197, 0.2471, 0.2746, 0.3021, 0.3295",\
+ "0, 0.05071, 0.1014, 0.1521, 0.2028, 0.2535, 0.3042, 0.3549, 0.4057, 0.4564, 0.5071, 0.5578, 0.6085",\
+ "0, 0.08332, 0.1666, 0.25, 0.3333, 0.4166, 0.4999, 0.5833, 0.6666, 0.7499, 0.8332, 0.9166, 0.9999",\
+ "0, 0.1262, 0.2525, 0.3787, 0.505, 0.6312, 0.7575, 0.8837, 1.01, 1.136, 1.262, 1.389, 1.515",\
+ "0, 0.1803, 0.3606, 0.5409, 0.7213, 0.9016, 1.082, 1.262, 1.443, 1.623, 1.803, 1.983, 2.164",\
+ "0, 0.2463, 0.4926, 0.739, 0.9853, 1.232, 1.478, 1.724, 1.971, 2.217, 2.463, 2.71, 2.956",\
+ "0, 0.325, 0.65, 0.975, 1.3, 1.625, 1.95, 2.275, 2.6, 2.925, 3.25, 3.575, 3.9");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.004726, 0.009452, 0.01418, 0.0189, 0.02363, 0.02836, 0.03308, 0.03781, 0.04253, 0.04726, 0.05199, 0.05671",\
+ "0, 0.01254, 0.02508, 0.03762, 0.05016, 0.0627, 0.07524, 0.08778, 0.1003, 0.1129, 0.1254, 0.1379, 0.1505",\
+ "0, 0.02746, 0.05492, 0.08238, 0.1098, 0.1373, 0.1648, 0.1922, 0.2197, 0.2471, 0.2746, 0.3021, 0.3295",\
+ "0, 0.05071, 0.1014, 0.1521, 0.2028, 0.2535, 0.3042, 0.3549, 0.4057, 0.4564, 0.5071, 0.5578, 0.6085",\
+ "0, 0.08332, 0.1666, 0.25, 0.3333, 0.4166, 0.4999, 0.5833, 0.6666, 0.7499, 0.8332, 0.9166, 0.9999",\
+ "0, 0.1262, 0.2525, 0.3787, 0.505, 0.6312, 0.7575, 0.8837, 1.01, 1.136, 1.262, 1.389, 1.515",\
+ "0, 0.1803, 0.3606, 0.5409, 0.7213, 0.9016, 1.082, 1.262, 1.443, 1.623, 1.803, 1.983, 2.164",\
+ "0, 0.2463, 0.4926, 0.739, 0.9853, 1.232, 1.478, 1.724, 1.971, 2.217, 2.463, 2.71, 2.956",\
+ "0, 0.325, 0.65, 0.975, 1.3, 1.625, 1.95, 2.275, 2.6, 2.925, 3.25, 3.575, 3.9");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_1v62.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_1v62.lib
new file mode 100644
index 0000000..edbbcda
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_1v62.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ss_125C_1v62) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 125 ;
+ nom_voltage : 1.62 ;
+ voltage_map(VNW, 1.62);
+ voltage_map(VDD, 1.62);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ss_125C_1v62) {
+ process : 1 ;
+ temperature : 125 ;
+ voltage : 1.62 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 1.62 ;
+ vimin : 0 ;
+ vimax : 1.62 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 1.62 ;
+ vomin : 0 ;
+ vomax : 1.62 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.02405, 0.0481, 0.07216, 0.09621, 0.1203, 0.1443, 0.1684, 0.1924, 0.2165, 0.2405, 0.2646, 0.2886",\
+ "0, 0.0997, 0.1994, 0.2991, 0.3988, 0.4985, 0.5982, 0.6979, 0.7976, 0.8973, 0.997, 1.097, 1.196",\
+ "0, 0.2442, 0.4883, 0.7325, 0.9767, 1.221, 1.465, 1.709, 1.953, 2.198, 2.442, 2.686, 2.93",\
+ "0, 0.4692, 0.9385, 1.408, 1.877, 2.346, 2.815, 3.285, 3.754, 4.223, 4.692, 5.162, 5.631",\
+ "0, 0.7851, 1.57, 2.355, 3.14, 3.925, 4.71, 5.495, 6.28, 7.065, 7.851, 8.636, 9.421",\
+ "0, 1.201, 2.401, 3.602, 4.802, 6.003, 7.204, 8.404, 9.605, 10.81, 12.01, 13.21, 14.41",\
+ "0, 1.724, 3.448, 5.172, 6.897, 8.621, 10.34, 12.07, 13.79, 15.52, 17.24, 18.97, 20.69",\
+ "0, 2.363, 4.726, 7.09, 9.453, 11.82, 14.18, 16.54, 18.91, 21.27, 23.63, 26, 28.36",\
+ "0, 3.125, 6.25, 9.375, 12.5, 15.62, 18.75, 21.88, 25, 28.12, 31.25, 34.38, 37.5");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.02405, 0.0481, 0.07216, 0.09621, 0.1203, 0.1443, 0.1684, 0.1924, 0.2165, 0.2405, 0.2646, 0.2886",\
+ "0, 0.0997, 0.1994, 0.2991, 0.3988, 0.4985, 0.5982, 0.6979, 0.7976, 0.8973, 0.997, 1.097, 1.196",\
+ "0, 0.2442, 0.4883, 0.7325, 0.9767, 1.221, 1.465, 1.709, 1.953, 2.198, 2.442, 2.686, 2.93",\
+ "0, 0.4692, 0.9385, 1.408, 1.877, 2.346, 2.815, 3.285, 3.754, 4.223, 4.692, 5.162, 5.631",\
+ "0, 0.7851, 1.57, 2.355, 3.14, 3.925, 4.71, 5.495, 6.28, 7.065, 7.851, 8.636, 9.421",\
+ "0, 1.201, 2.401, 3.602, 4.802, 6.003, 7.204, 8.404, 9.605, 10.81, 12.01, 13.21, 14.41",\
+ "0, 1.724, 3.448, 5.172, 6.897, 8.621, 10.34, 12.07, 13.79, 15.52, 17.24, 18.97, 20.69",\
+ "0, 2.363, 4.726, 7.09, 9.453, 11.82, 14.18, 16.54, 18.91, 21.27, 23.63, 26, 28.36",\
+ "0, 3.125, 6.25, 9.375, 12.5, 15.62, 18.75, 21.88, 25, 28.12, 31.25, 34.38, 37.5");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_3v00.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_3v00.lib
new file mode 100644
index 0000000..b50d896
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_3v00.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ss_125C_3v00) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 125 ;
+ nom_voltage : 3 ;
+ voltage_map(VNW, 3);
+ voltage_map(VDD, 3);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ss_125C_3v00) {
+ process : 1 ;
+ temperature : 125 ;
+ voltage : 3 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 3 ;
+ vimin : 0 ;
+ vimax : 3 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 3 ;
+ vomin : 0 ;
+ vomax : 3 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.01594, 0.03188, 0.04783, 0.06377, 0.07971, 0.09565, 0.1116, 0.1275, 0.1435, 0.1594, 0.1754, 0.1913",\
+ "0, 0.06313, 0.1263, 0.1894, 0.2525, 0.3156, 0.3788, 0.4419, 0.505, 0.5681, 0.6313, 0.6944, 0.7575",\
+ "0, 0.1532, 0.3065, 0.4597, 0.6129, 0.7662, 0.9194, 1.073, 1.226, 1.379, 1.532, 1.686, 1.839",\
+ "0, 0.2936, 0.5872, 0.8808, 1.174, 1.468, 1.762, 2.055, 2.349, 2.642, 2.936, 3.23, 3.523",\
+ "0, 0.4906, 0.9812, 1.472, 1.962, 2.453, 2.943, 3.434, 3.925, 4.415, 4.906, 5.396, 5.887",\
+ "0, 0.7498, 1.5, 2.249, 2.999, 3.749, 4.499, 5.248, 5.998, 6.748, 7.498, 8.247, 8.997",\
+ "0, 1.076, 2.153, 3.229, 4.305, 5.381, 6.458, 7.534, 8.61, 9.687, 10.76, 11.84, 12.92",\
+ "0, 1.475, 2.95, 4.425, 5.9, 7.374, 8.849, 10.32, 11.8, 13.27, 14.75, 16.22, 17.7",\
+ "0, 1.95, 3.9, 5.85, 7.8, 9.75, 11.7, 13.65, 15.6, 17.55, 19.5, 21.45, 23.4");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.01594, 0.03188, 0.04783, 0.06377, 0.07971, 0.09565, 0.1116, 0.1275, 0.1435, 0.1594, 0.1754, 0.1913",\
+ "0, 0.06313, 0.1263, 0.1894, 0.2525, 0.3156, 0.3788, 0.4419, 0.505, 0.5681, 0.6313, 0.6944, 0.7575",\
+ "0, 0.1532, 0.3065, 0.4597, 0.6129, 0.7662, 0.9194, 1.073, 1.226, 1.379, 1.532, 1.686, 1.839",\
+ "0, 0.2936, 0.5872, 0.8808, 1.174, 1.468, 1.762, 2.055, 2.349, 2.642, 2.936, 3.23, 3.523",\
+ "0, 0.4906, 0.9812, 1.472, 1.962, 2.453, 2.943, 3.434, 3.925, 4.415, 4.906, 5.396, 5.887",\
+ "0, 0.7498, 1.5, 2.249, 2.999, 3.749, 4.499, 5.248, 5.998, 6.748, 7.498, 8.247, 8.997",\
+ "0, 1.076, 2.153, 3.229, 4.305, 5.381, 6.458, 7.534, 8.61, 9.687, 10.76, 11.84, 12.92",\
+ "0, 1.475, 2.95, 4.425, 5.9, 7.374, 8.849, 10.32, 11.8, 13.27, 14.75, 16.22, 17.7",\
+ "0, 1.95, 3.9, 5.85, 7.8, 9.75, 11.7, 13.65, 15.6, 17.55, 19.5, 21.45, 23.4");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_4v50.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_4v50.lib
new file mode 100644
index 0000000..39fda78
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_4v50.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ss_125C_4v50) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 125 ;
+ nom_voltage : 4.5 ;
+ voltage_map(VNW, 4.5);
+ voltage_map(VDD, 4.5);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ss_125C_4v50) {
+ process : 1 ;
+ temperature : 125 ;
+ voltage : 4.5 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 4.5 ;
+ vimin : 0 ;
+ vimax : 4.5 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 4.5 ;
+ vomin : 0 ;
+ vomax : 4.5 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.008522, 0.01704, 0.02557, 0.03409, 0.04261, 0.05113, 0.05965, 0.06818, 0.0767, 0.08522, 0.09374, 0.1023",\
+ "0, 0.02966, 0.05932, 0.08898, 0.1186, 0.1483, 0.178, 0.2076, 0.2373, 0.2669, 0.2966, 0.3263, 0.3559",\
+ "0, 0.07003, 0.1401, 0.2101, 0.2801, 0.3501, 0.4202, 0.4902, 0.5602, 0.6303, 0.7003, 0.7703, 0.8403",\
+ "0, 0.1329, 0.2658, 0.3988, 0.5317, 0.6646, 0.7975, 0.9304, 1.063, 1.196, 1.329, 1.462, 1.595",\
+ "0, 0.2212, 0.4423, 0.6635, 0.8847, 1.106, 1.327, 1.548, 1.769, 1.99, 2.212, 2.433, 2.654",\
+ "0, 0.3373, 0.6746, 1.012, 1.349, 1.686, 2.024, 2.361, 2.698, 3.036, 3.373, 3.71, 4.047",\
+ "0, 0.4836, 0.9671, 1.451, 1.934, 2.418, 2.901, 3.385, 3.869, 4.352, 4.836, 5.319, 5.803",\
+ "0, 0.6621, 1.324, 1.986, 2.649, 3.311, 3.973, 4.635, 5.297, 5.959, 6.621, 7.284, 7.946",\
+ "0, 0.875, 1.75, 2.625, 3.5, 4.375, 5.25, 6.125, 7, 7.875, 8.75, 9.625, 10.5");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.008522, 0.01704, 0.02557, 0.03409, 0.04261, 0.05113, 0.05965, 0.06818, 0.0767, 0.08522, 0.09374, 0.1023",\
+ "0, 0.02966, 0.05932, 0.08898, 0.1186, 0.1483, 0.178, 0.2076, 0.2373, 0.2669, 0.2966, 0.3263, 0.3559",\
+ "0, 0.07003, 0.1401, 0.2101, 0.2801, 0.3501, 0.4202, 0.4902, 0.5602, 0.6303, 0.7003, 0.7703, 0.8403",\
+ "0, 0.1329, 0.2658, 0.3988, 0.5317, 0.6646, 0.7975, 0.9304, 1.063, 1.196, 1.329, 1.462, 1.595",\
+ "0, 0.2212, 0.4423, 0.6635, 0.8847, 1.106, 1.327, 1.548, 1.769, 1.99, 2.212, 2.433, 2.654",\
+ "0, 0.3373, 0.6746, 1.012, 1.349, 1.686, 2.024, 2.361, 2.698, 3.036, 3.373, 3.71, 4.047",\
+ "0, 0.4836, 0.9671, 1.451, 1.934, 2.418, 2.901, 3.385, 3.869, 4.352, 4.836, 5.319, 5.803",\
+ "0, 0.6621, 1.324, 1.986, 2.649, 3.311, 3.973, 4.635, 5.297, 5.959, 6.621, 7.284, 7.946",\
+ "0, 0.875, 1.75, 2.625, 3.5, 4.375, 5.25, 6.125, 7, 7.875, 8.75, 9.625, 10.5");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_1v62.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_1v62.lib
new file mode 100644
index 0000000..1005eee
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_1v62.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ss_n40C_1v62) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : -40 ;
+ nom_voltage : 1.62 ;
+ voltage_map(VNW, 1.62);
+ voltage_map(VDD, 1.62);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ss_n40C_1v62) {
+ process : 1 ;
+ temperature : -40 ;
+ voltage : 1.62 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 1.62 ;
+ vimin : 0 ;
+ vimax : 1.62 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 1.62 ;
+ vomin : 0 ;
+ vomax : 1.62 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.0206, 0.0412, 0.0618, 0.0824, 0.103, 0.1236, 0.1442, 0.1648, 0.1854, 0.206, 0.2266, 0.2472",\
+ "0, 0.08414, 0.1683, 0.2524, 0.3366, 0.4207, 0.5048, 0.589, 0.6731, 0.7572, 0.8414, 0.9255, 1.01",\
+ "0, 0.2055, 0.4109, 0.6164, 0.8219, 1.027, 1.233, 1.438, 1.644, 1.849, 2.055, 2.26, 2.466",\
+ "0, 0.3945, 0.789, 1.184, 1.578, 1.973, 2.367, 2.762, 3.156, 3.551, 3.945, 4.34, 4.734",\
+ "0, 0.6597, 1.319, 1.979, 2.639, 3.299, 3.958, 4.618, 5.278, 5.938, 6.597, 7.257, 7.917",\
+ "0, 1.009, 2.018, 3.026, 4.035, 5.044, 6.053, 7.061, 8.07, 9.079, 10.09, 11.1, 12.11",\
+ "0, 1.448, 2.897, 4.345, 5.794, 7.242, 8.691, 10.14, 11.59, 13.04, 14.48, 15.93, 17.38",\
+ "0, 1.985, 3.97, 5.956, 7.941, 9.926, 11.91, 13.9, 15.88, 17.87, 19.85, 21.84, 23.82",\
+ "0, 2.625, 5.25, 7.875, 10.5, 13.12, 15.75, 18.38, 21, 23.62, 26.25, 28.88, 31.5");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.0206, 0.0412, 0.0618, 0.0824, 0.103, 0.1236, 0.1442, 0.1648, 0.1854, 0.206, 0.2266, 0.2472",\
+ "0, 0.08414, 0.1683, 0.2524, 0.3366, 0.4207, 0.5048, 0.589, 0.6731, 0.7572, 0.8414, 0.9255, 1.01",\
+ "0, 0.2055, 0.4109, 0.6164, 0.8219, 1.027, 1.233, 1.438, 1.644, 1.849, 2.055, 2.26, 2.466",\
+ "0, 0.3945, 0.789, 1.184, 1.578, 1.973, 2.367, 2.762, 3.156, 3.551, 3.945, 4.34, 4.734",\
+ "0, 0.6597, 1.319, 1.979, 2.639, 3.299, 3.958, 4.618, 5.278, 5.938, 6.597, 7.257, 7.917",\
+ "0, 1.009, 2.018, 3.026, 4.035, 5.044, 6.053, 7.061, 8.07, 9.079, 10.09, 11.1, 12.11",\
+ "0, 1.448, 2.897, 4.345, 5.794, 7.242, 8.691, 10.14, 11.59, 13.04, 14.48, 15.93, 17.38",\
+ "0, 1.985, 3.97, 5.956, 7.941, 9.926, 11.91, 13.9, 15.88, 17.87, 19.85, 21.84, 23.82",\
+ "0, 2.625, 5.25, 7.875, 10.5, 13.12, 15.75, 18.38, 21, 23.62, 26.25, 28.88, 31.5");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_3v00.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_3v00.lib
new file mode 100644
index 0000000..3f78e45
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_3v00.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ss_n40C_3v00) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : -40 ;
+ nom_voltage : 3 ;
+ voltage_map(VNW, 3);
+ voltage_map(VDD, 3);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ss_n40C_3v00) {
+ process : 1 ;
+ temperature : -40 ;
+ voltage : 3 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 3 ;
+ vimin : 0 ;
+ vimax : 3 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 3 ;
+ vomin : 0 ;
+ vomax : 3 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.01197, 0.02395, 0.03592, 0.04789, 0.05987, 0.07184, 0.08381, 0.09579, 0.1078, 0.1197, 0.1317, 0.1437",\
+ "0, 0.04523, 0.09045, 0.1357, 0.1809, 0.2261, 0.2714, 0.3166, 0.3618, 0.407, 0.4523, 0.4975, 0.5427",\
+ "0, 0.1087, 0.2175, 0.3262, 0.4349, 0.5436, 0.6524, 0.7611, 0.8698, 0.9785, 1.087, 1.196, 1.305",\
+ "0, 0.2077, 0.4153, 0.623, 0.8306, 1.038, 1.246, 1.454, 1.661, 1.869, 2.077, 2.284, 2.492",\
+ "0, 0.3465, 0.6929, 1.039, 1.386, 1.732, 2.079, 2.425, 2.772, 3.118, 3.465, 3.811, 4.158",\
+ "0, 0.5291, 1.058, 1.587, 2.117, 2.646, 3.175, 3.704, 4.233, 4.762, 5.291, 5.82, 6.35",\
+ "0, 0.7592, 1.518, 2.278, 3.037, 3.796, 4.555, 5.315, 6.074, 6.833, 7.592, 8.352, 9.111",\
+ "0, 1.04, 2.08, 3.12, 4.161, 5.201, 6.241, 7.281, 8.321, 9.361, 10.4, 11.44, 12.48",\
+ "0, 1.375, 2.75, 4.125, 5.5, 6.875, 8.25, 9.625, 11, 12.38, 13.75, 15.12, 16.5");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.01197, 0.02395, 0.03592, 0.04789, 0.05987, 0.07184, 0.08381, 0.09579, 0.1078, 0.1197, 0.1317, 0.1437",\
+ "0, 0.04523, 0.09045, 0.1357, 0.1809, 0.2261, 0.2714, 0.3166, 0.3618, 0.407, 0.4523, 0.4975, 0.5427",\
+ "0, 0.1087, 0.2175, 0.3262, 0.4349, 0.5436, 0.6524, 0.7611, 0.8698, 0.9785, 1.087, 1.196, 1.305",\
+ "0, 0.2077, 0.4153, 0.623, 0.8306, 1.038, 1.246, 1.454, 1.661, 1.869, 2.077, 2.284, 2.492",\
+ "0, 0.3465, 0.6929, 1.039, 1.386, 1.732, 2.079, 2.425, 2.772, 3.118, 3.465, 3.811, 4.158",\
+ "0, 0.5291, 1.058, 1.587, 2.117, 2.646, 3.175, 3.704, 4.233, 4.762, 5.291, 5.82, 6.35",\
+ "0, 0.7592, 1.518, 2.278, 3.037, 3.796, 4.555, 5.315, 6.074, 6.833, 7.592, 8.352, 9.111",\
+ "0, 1.04, 2.08, 3.12, 4.161, 5.201, 6.241, 7.281, 8.321, 9.361, 10.4, 11.44, 12.48",\
+ "0, 1.375, 2.75, 4.125, 5.5, 6.875, 8.25, 9.625, 11, 12.38, 13.75, 15.12, 16.5");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_4v50.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_4v50.lib
new file mode 100644
index 0000000..a560aab
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_4v50.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__ss_n40C_4v50) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : -40 ;
+ nom_voltage : 4.5 ;
+ voltage_map(VNW, 4.5);
+ voltage_map(VDD, 4.5);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__ss_n40C_4v50) {
+ process : 1 ;
+ temperature : -40 ;
+ voltage : 4.5 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 4.5 ;
+ vimin : 0 ;
+ vimax : 4.5 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 4.5 ;
+ vomin : 0 ;
+ vomax : 4.5 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.006797, 0.01359, 0.02039, 0.02719, 0.03398, 0.04078, 0.04758, 0.05437, 0.06117, 0.06797, 0.07476, 0.08156",\
+ "0, 0.02188, 0.04376, 0.06564, 0.08751, 0.1094, 0.1313, 0.1531, 0.175, 0.1969, 0.2188, 0.2407, 0.2625",\
+ "0, 0.05068, 0.1014, 0.152, 0.2027, 0.2534, 0.3041, 0.3548, 0.4054, 0.4561, 0.5068, 0.5575, 0.6082",\
+ "0, 0.09555, 0.1911, 0.2867, 0.3822, 0.4778, 0.5733, 0.6689, 0.7644, 0.86, 0.9555, 1.051, 1.147",\
+ "0, 0.1585, 0.317, 0.4755, 0.634, 0.7925, 0.9511, 1.11, 1.268, 1.427, 1.585, 1.744, 1.902",\
+ "0, 0.2414, 0.4827, 0.7241, 0.9654, 1.207, 1.448, 1.689, 1.931, 2.172, 2.414, 2.655, 2.896",\
+ "0, 0.3457, 0.6914, 1.037, 1.383, 1.729, 2.074, 2.42, 2.766, 3.112, 3.457, 3.803, 4.149",\
+ "0, 0.4731, 0.9463, 1.419, 1.893, 2.366, 2.839, 3.312, 3.785, 4.258, 4.731, 5.204, 5.678",\
+ "0, 0.625, 1.25, 1.875, 2.5, 3.125, 3.75, 4.375, 5, 5.625, 6.25, 6.875, 7.5");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.006797, 0.01359, 0.02039, 0.02719, 0.03398, 0.04078, 0.04758, 0.05437, 0.06117, 0.06797, 0.07476, 0.08156",\
+ "0, 0.02188, 0.04376, 0.06564, 0.08751, 0.1094, 0.1313, 0.1531, 0.175, 0.1969, 0.2188, 0.2407, 0.2625",\
+ "0, 0.05068, 0.1014, 0.152, 0.2027, 0.2534, 0.3041, 0.3548, 0.4054, 0.4561, 0.5068, 0.5575, 0.6082",\
+ "0, 0.09555, 0.1911, 0.2867, 0.3822, 0.4778, 0.5733, 0.6689, 0.7644, 0.86, 0.9555, 1.051, 1.147",\
+ "0, 0.1585, 0.317, 0.4755, 0.634, 0.7925, 0.9511, 1.11, 1.268, 1.427, 1.585, 1.744, 1.902",\
+ "0, 0.2414, 0.4827, 0.7241, 0.9654, 1.207, 1.448, 1.689, 1.931, 2.172, 2.414, 2.655, 2.896",\
+ "0, 0.3457, 0.6914, 1.037, 1.383, 1.729, 2.074, 2.42, 2.766, 3.112, 3.457, 3.803, 4.149",\
+ "0, 0.4731, 0.9463, 1.419, 1.893, 2.366, 2.839, 3.312, 3.785, 4.258, 4.731, 5.204, 5.678",\
+ "0, 0.625, 1.25, 1.875, 2.5, 3.125, 3.75, 4.375, 5, 5.625, 6.25, 6.875, 7.5");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_1v80.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_1v80.lib
new file mode 100644
index 0000000..661afa6
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_1v80.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__tt_25C_1v80) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 25 ;
+ nom_voltage : 1.8 ;
+ voltage_map(VNW, 1.8);
+ voltage_map(VDD, 1.8);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__tt_25C_1v80) {
+ process : 1 ;
+ temperature : 25 ;
+ voltage : 1.8 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 1.8 ;
+ vimin : 0 ;
+ vimax : 1.8 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 1.8 ;
+ vomin : 0 ;
+ vomax : 1.8 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.01284, 0.02567, 0.03851, 0.05134, 0.06418, 0.07702, 0.08985, 0.1027, 0.1155, 0.1284, 0.1412, 0.154",\
+ "0, 0.04912, 0.09823, 0.1474, 0.1965, 0.2456, 0.2947, 0.3438, 0.3929, 0.4421, 0.4912, 0.5403, 0.5894",\
+ "0, 0.1184, 0.2368, 0.3552, 0.4736, 0.592, 0.7104, 0.8288, 0.9472, 1.066, 1.184, 1.302, 1.421",\
+ "0, 0.2263, 0.4527, 0.679, 0.9054, 1.132, 1.358, 1.584, 1.811, 2.037, 2.263, 2.49, 2.716",\
+ "0, 0.3778, 0.7556, 1.133, 1.511, 1.889, 2.267, 2.645, 3.022, 3.4, 3.778, 4.156, 4.534",\
+ "0, 0.5771, 1.154, 1.731, 2.308, 2.885, 3.463, 4.04, 4.617, 5.194, 5.771, 6.348, 6.925",\
+ "0, 0.8282, 1.656, 2.485, 3.313, 4.141, 4.969, 5.797, 6.625, 7.454, 8.282, 9.11, 9.938",\
+ "0, 1.135, 2.269, 3.404, 4.539, 5.673, 6.808, 7.943, 9.077, 10.21, 11.35, 12.48, 13.62",\
+ "0, 1.5, 3, 4.5, 6, 7.5, 9, 10.5, 12, 13.5, 15, 16.5, 18");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.01284, 0.02567, 0.03851, 0.05134, 0.06418, 0.07702, 0.08985, 0.1027, 0.1155, 0.1284, 0.1412, 0.154",\
+ "0, 0.04912, 0.09823, 0.1474, 0.1965, 0.2456, 0.2947, 0.3438, 0.3929, 0.4421, 0.4912, 0.5403, 0.5894",\
+ "0, 0.1184, 0.2368, 0.3552, 0.4736, 0.592, 0.7104, 0.8288, 0.9472, 1.066, 1.184, 1.302, 1.421",\
+ "0, 0.2263, 0.4527, 0.679, 0.9054, 1.132, 1.358, 1.584, 1.811, 2.037, 2.263, 2.49, 2.716",\
+ "0, 0.3778, 0.7556, 1.133, 1.511, 1.889, 2.267, 2.645, 3.022, 3.4, 3.778, 4.156, 4.534",\
+ "0, 0.5771, 1.154, 1.731, 2.308, 2.885, 3.463, 4.04, 4.617, 5.194, 5.771, 6.348, 6.925",\
+ "0, 0.8282, 1.656, 2.485, 3.313, 4.141, 4.969, 5.797, 6.625, 7.454, 8.282, 9.11, 9.938",\
+ "0, 1.135, 2.269, 3.404, 4.539, 5.673, 6.808, 7.943, 9.077, 10.21, 11.35, 12.48, 13.62",\
+ "0, 1.5, 3, 4.5, 6, 7.5, 9, 10.5, 12, 13.5, 15, 16.5, 18");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_3v30.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_3v30.lib
new file mode 100644
index 0000000..e6d009b
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_3v30.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__tt_25C_3v30) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 25 ;
+ nom_voltage : 3.3 ;
+ voltage_map(VNW, 3.3);
+ voltage_map(VDD, 3.3);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__tt_25C_3v30) {
+ process : 1 ;
+ temperature : 25 ;
+ voltage : 3.3 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 3.3 ;
+ vimin : 0 ;
+ vimax : 3.3 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 3.3 ;
+ vomin : 0 ;
+ vomax : 3.3 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.009903, 0.01981, 0.02971, 0.03961, 0.04951, 0.05942, 0.06932, 0.07922, 0.08912, 0.09903, 0.1089, 0.1188",\
+ "0, 0.03589, 0.07177, 0.1077, 0.1435, 0.1794, 0.2153, 0.2512, 0.2871, 0.323, 0.3589, 0.3948, 0.4306",\
+ "0, 0.08551, 0.171, 0.2565, 0.342, 0.4275, 0.513, 0.5986, 0.6841, 0.7696, 0.8551, 0.9406, 1.026",\
+ "0, 0.1628, 0.3256, 0.4884, 0.6513, 0.8141, 0.9769, 1.14, 1.303, 1.465, 1.628, 1.791, 1.954",\
+ "0, 0.2713, 0.5426, 0.8139, 1.085, 1.356, 1.628, 1.899, 2.17, 2.442, 2.713, 2.984, 3.255",\
+ "0, 0.414, 0.828, 1.242, 1.656, 2.07, 2.484, 2.898, 3.312, 3.726, 4.14, 4.554, 4.968",\
+ "0, 0.5938, 1.188, 1.782, 2.375, 2.969, 3.563, 4.157, 4.751, 5.345, 5.938, 6.532, 7.126",\
+ "0, 0.8134, 1.627, 2.44, 3.253, 4.067, 4.88, 5.693, 6.507, 7.32, 8.134, 8.947, 9.76",\
+ "0, 1.075, 2.15, 3.225, 4.3, 5.375, 6.45, 7.525, 8.6, 9.675, 10.75, 11.82, 12.9");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.009903, 0.01981, 0.02971, 0.03961, 0.04951, 0.05942, 0.06932, 0.07922, 0.08912, 0.09903, 0.1089, 0.1188",\
+ "0, 0.03589, 0.07177, 0.1077, 0.1435, 0.1794, 0.2153, 0.2512, 0.2871, 0.323, 0.3589, 0.3948, 0.4306",\
+ "0, 0.08551, 0.171, 0.2565, 0.342, 0.4275, 0.513, 0.5986, 0.6841, 0.7696, 0.8551, 0.9406, 1.026",\
+ "0, 0.1628, 0.3256, 0.4884, 0.6513, 0.8141, 0.9769, 1.14, 1.303, 1.465, 1.628, 1.791, 1.954",\
+ "0, 0.2713, 0.5426, 0.8139, 1.085, 1.356, 1.628, 1.899, 2.17, 2.442, 2.713, 2.984, 3.255",\
+ "0, 0.414, 0.828, 1.242, 1.656, 2.07, 2.484, 2.898, 3.312, 3.726, 4.14, 4.554, 4.968",\
+ "0, 0.5938, 1.188, 1.782, 2.375, 2.969, 3.563, 4.157, 4.751, 5.345, 5.938, 6.532, 7.126",\
+ "0, 0.8134, 1.627, 2.44, 3.253, 4.067, 4.88, 5.693, 6.507, 7.32, 8.134, 8.947, 9.76",\
+ "0, 1.075, 2.15, 3.225, 4.3, 5.375, 6.45, 7.525, 8.6, 9.675, 10.75, 11.82, 12.9");
+ }
+}
diff --git a/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_5v00.lib b/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_5v00.lib
new file mode 100644
index 0000000..806c868
--- /dev/null
+++ b/liberty/gf180mcu_fd_sc_mcu7t5v0__tt_25C_5v00.lib
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 GlobalFoundries PDK Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+library(gf180mcu_fd_sc_mcu7t5v0__tt_25C_5v00) {
+ delay_model : table_lookup ;
+ library_features(report_delay_calculation, report_power_calculation);
+ time_unit : 1ns ;
+ voltage_unit : 1V ;
+ current_unit : 1mA ;
+ capacitive_load_unit(1, pf);
+ pulling_resistance_unit : 1ohm ;
+ leakage_power_unit : 1uW ;
+ input_threshold_pct_fall : 50 ;
+ input_threshold_pct_rise : 50 ;
+ output_threshold_pct_fall : 50 ;
+ output_threshold_pct_rise : 50 ;
+ slew_derate_from_library : 0.5 ;
+ slew_lower_threshold_pct_fall : 30 ;
+ slew_lower_threshold_pct_rise : 30 ;
+ slew_upper_threshold_pct_fall : 70 ;
+ slew_upper_threshold_pct_rise : 70 ;
+ nom_process : 1 ;
+ nom_temperature : 25 ;
+ nom_voltage : 5 ;
+ voltage_map(VNW, 5);
+ voltage_map(VDD, 5);
+ voltage_map(VSS, 0);
+ voltage_map(VPW, 0);
+
+ operating_conditions(gf180mcu_fd_sc_mcu7t5v0__tt_25C_5v00) {
+ process : 1 ;
+ temperature : 25 ;
+ voltage : 5 ;
+ }
+
+ input_voltage(default) {
+ vil : 0 ;
+ vih : 5 ;
+ vimin : 0 ;
+ vimax : 5 ;
+ }
+
+ output_voltage(default) {
+ vol : 0 ;
+ voh : 5 ;
+ vomin : 0 ;
+ vomax : 5 ;
+ }
+
+ lu_table_template(cnst_ctin_rtin_10x10) {
+ variable_1 : constrained_pin_transition ;
+ variable_2 : related_pin_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(ndw_ntin_nvolt_10x13) {
+ variable_1 : input_net_transition ;
+ variable_2 : normalized_voltage ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
+ }
+
+ lu_table_template(tmg_ntin_10) {
+ variable_1 : input_net_transition ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ lu_table_template(tmg_ntin_oload_10x10) {
+ variable_1 : input_net_transition ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_10) {
+ variable_1 : input_transition_time ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ power_lut_template(pwr_tin_oload_10x10) {
+ variable_1 : input_transition_time ;
+ variable_2 : total_output_net_capacitance ;
+ index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_fall" ;
+ index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.005934, 0.01187, 0.0178, 0.02374, 0.02967, 0.0356, 0.04154, 0.04747, 0.0534, 0.05934, 0.06527, 0.07121",\
+ "0, 0.01799, 0.03597, 0.05396, 0.07195, 0.08994, 0.1079, 0.1259, 0.1439, 0.1619, 0.1799, 0.1979, 0.2158",\
+ "0, 0.04101, 0.08201, 0.123, 0.164, 0.205, 0.246, 0.287, 0.328, 0.369, 0.4101, 0.4511, 0.4921",\
+ "0, 0.07687, 0.1537, 0.2306, 0.3075, 0.3843, 0.4612, 0.5381, 0.6149, 0.6918, 0.7687, 0.8455, 0.9224",\
+ "0, 0.1272, 0.2544, 0.3815, 0.5087, 0.6359, 0.7631, 0.8903, 1.017, 1.145, 1.272, 1.399, 1.526",\
+ "0, 0.1934, 0.3868, 0.5802, 0.7736, 0.967, 1.16, 1.354, 1.547, 1.741, 1.934, 2.127, 2.321",\
+ "0, 0.2768, 0.5536, 0.8304, 1.107, 1.384, 1.661, 1.938, 2.214, 2.491, 2.768, 3.045, 3.322",\
+ "0, 0.3786, 0.7573, 1.136, 1.515, 1.893, 2.272, 2.65, 3.029, 3.408, 3.786, 4.165, 4.544",\
+ "0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6");
+ }
+
+ normalized_driver_waveform(ndw_ntin_nvolt_10x13) {
+ driver_waveform_name : "driver_waveform_default_rise" ;
+ index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
+ index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
+ values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
+ "0, 0.005934, 0.01187, 0.0178, 0.02374, 0.02967, 0.0356, 0.04154, 0.04747, 0.0534, 0.05934, 0.06527, 0.07121",\
+ "0, 0.01799, 0.03597, 0.05396, 0.07195, 0.08994, 0.1079, 0.1259, 0.1439, 0.1619, 0.1799, 0.1979, 0.2158",\
+ "0, 0.04101, 0.08201, 0.123, 0.164, 0.205, 0.246, 0.287, 0.328, 0.369, 0.4101, 0.4511, 0.4921",\
+ "0, 0.07687, 0.1537, 0.2306, 0.3075, 0.3843, 0.4612, 0.5381, 0.6149, 0.6918, 0.7687, 0.8455, 0.9224",\
+ "0, 0.1272, 0.2544, 0.3815, 0.5087, 0.6359, 0.7631, 0.8903, 1.017, 1.145, 1.272, 1.399, 1.526",\
+ "0, 0.1934, 0.3868, 0.5802, 0.7736, 0.967, 1.16, 1.354, 1.547, 1.741, 1.934, 2.127, 2.321",\
+ "0, 0.2768, 0.5536, 0.8304, 1.107, 1.384, 1.661, 1.938, 2.214, 2.491, 2.768, 3.045, 3.322",\
+ "0, 0.3786, 0.7573, 1.136, 1.515, 1.893, 2.272, 2.65, 3.029, 3.408, 3.786, 4.165, 4.544",\
+ "0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6");
+ }
+}