blob: 73d739ca194982b70e548309d3eafb5e211f876b [file] [log] [blame]
/*
* 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.
*/
cell(gf180mcu_fd_sc_mcu7t5v0__dffq_1) {
area : 63.660800 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.00027459" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.000290961" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.000320004" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0003260025" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003260025" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.00324 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
min_period : 1.444 ;
min_pulse_width_high : 0.662 ;
min_pulse_width_low : 0.725 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2281, 0.2277, 0.2284, 0.235, 0.2504, 0.2747, 0.3091, 0.354, \
0.4098, 0.4767");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1778, 0.1773, 0.1773, 0.182, 0.1946, 0.215, 0.245, 0.2845, 0.3344, \
0.3945");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2312, 0.2307, 0.2315, 0.2381, 0.2535, 0.2777, 0.312, 0.3569, \
0.4124, 0.4796");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1775, 0.177, 0.1769, 0.1818, 0.1944, 0.215, 0.245, 0.2846, 0.3344, \
0.3946");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.725");
}
rise_constraint(scalar) {
values("0.4");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.466");
}
rise_constraint(scalar) {
values("0.662");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.444");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.389");
}
}
}
pin(D) {
capacitance : 0.002371 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
nextstate_type : data ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.122, 0.1213, 0.1205, 0.1227, 0.1295, 0.1411, 0.1568, 0.1776, \
0.2037, 0.2351");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.08608, 0.08631, 0.08673, 0.08916, 0.09435, 0.1032, 0.1158, 0.1326, \
0.1538, 0.1796");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.007524, 0.007518, 0.007518, 0.007519, 0.007536, 0.007526, 0.007525, \
0.007534, 0.007528, 0.007532");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("-0.00502, -0.005019, -0.005005, -0.005037, -0.005075, -0.005104, \
-0.005118, -0.005133, -0.005139, -0.00515");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.103, 0.109, 0.142, 0.191, 0.245, 0.293, 0.344, 0.377, 0.409, 0.422",\
"0.101, 0.105, 0.133, 0.186, 0.241, 0.291, 0.338, 0.372, 0.401, 0.417",\
"0.082, 0.08, 0.11, 0.165, 0.218, 0.267, 0.317, 0.351, 0.378, 0.395",\
"0.016, 0.018, 0.042, 0.096, 0.157, 0.203, 0.252, 0.293, 0.314, 0.334",\
"-0.097, -0.094, -0.066, -0.015, 0.05, 0.099, 0.148, 0.184, 0.211, 0.226",\
"-0.235, -0.232, -0.204, -0.158, -0.094, -0.046, 0.009, 0.043, 0.069, 0.086",\
"-0.406, -0.406, -0.377, -0.325, -0.266, -0.22, -0.164, -0.13, -0.108, -0.084",\
"-0.605, -0.604, -0.576, -0.526, -0.46, -0.416, -0.369, -0.333, -0.31, -0.293",\
"-0.829, -0.835, -0.804, -0.758, -0.697, -0.649, -0.6, -0.568, -0.542, -0.532",\
"-1.097, -1.097, -1.071, -1.025, -0.962, -0.921, -0.869, -0.837, -0.816, -0.806");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.04, 0.045, 0.073, 0.114, 0.146, 0.184, 0.214, 0.234, 0.247, 0.255",\
"0.031, 0.042, 0.068, 0.104, 0.144, 0.179, 0.211, 0.227, 0.247, 0.248",\
"0.013, 0.024, 0.046, 0.093, 0.127, 0.171, 0.2, 0.223, 0.239, 0.242",\
"-0.003, 0.004, 0.034, 0.076, 0.116, 0.158, 0.185, 0.212, 0.226, 0.235",\
"-0.009, 0.002, 0.025, 0.072, 0.109, 0.147, 0.182, 0.211, 0.222, 0.233",\
"-0.002, 0.006, 0.037, 0.079, 0.116, 0.157, 0.187, 0.209, 0.225, 0.231",\
"0.03, 0.037, 0.062, 0.108, 0.144, 0.178, 0.213, 0.225, 0.243, 0.245",\
"0.088, 0.098, 0.123, 0.167, 0.198, 0.229, 0.253, 0.272, 0.281, 0.282",\
"0.182, 0.185, 0.216, 0.25, 0.279, 0.311, 0.332, 0.342, 0.349, 0.348",\
"0.296, 0.306, 0.332, 0.37, 0.395, 0.427, 0.446, 0.452, 0.452, 0.451");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.292, 0.286, 0.255, 0.204, 0.139, 0.078, 0.025, -0.019, -0.056, -0.082",\
"0.293, 0.287, 0.266, 0.202, 0.139, 0.081, 0.026, -0.018, -0.055, -0.075",\
"0.323, 0.318, 0.283, 0.232, 0.166, 0.109, 0.05, 0.003, -0.031, -0.057",\
"0.392, 0.383, 0.355, 0.298, 0.24, 0.179, 0.121, 0.078, 0.036, 0.018",\
"0.52, 0.505, 0.483, 0.426, 0.361, 0.299, 0.248, 0.198, 0.161, 0.141",\
"0.686, 0.678, 0.652, 0.603, 0.535, 0.473, 0.422, 0.375, 0.336, 0.312",\
"0.9, 0.897, 0.867, 0.812, 0.751, 0.691, 0.639, 0.584, 0.55, 0.522",\
"1.156, 1.153, 1.125, 1.066, 1.002, 0.945, 0.888, 0.843, 0.805, 0.782",\
"1.458, 1.45, 1.417, 1.364, 1.3, 1.241, 1.189, 1.136, 1.102, 1.072",\
"1.791, 1.782, 1.753, 1.703, 1.632, 1.579, 1.519, 1.477, 1.435, 1.407");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.281, 0.267, 0.246, 0.185, 0.129, 0.063, 0.02, -0.019, -0.037, -0.057",\
"0.287, 0.28, 0.247, 0.188, 0.129, 0.073, 0.021, -0.011, -0.036, -0.05",\
"0.315, 0.3, 0.271, 0.216, 0.155, 0.093, 0.045, 0.003, -0.021, -0.038",\
"0.353, 0.342, 0.315, 0.252, 0.193, 0.133, 0.078, 0.038, 0.009, -0.009",\
"0.382, 0.368, 0.342, 0.284, 0.227, 0.159, 0.109, 0.065, 0.037, 0.014",\
"0.395, 0.38, 0.356, 0.294, 0.233, 0.17, 0.121, 0.073, 0.043, 0.029",\
"0.376, 0.369, 0.339, 0.283, 0.224, 0.163, 0.107, 0.061, 0.038, 0.016",\
"0.348, 0.336, 0.306, 0.253, 0.193, 0.129, 0.074, 0.034, 0.007, -0.009",\
"0.285, 0.276, 0.249, 0.184, 0.121, 0.063, 0.011, -0.031, -0.055, -0.073",\
"0.186, 0.174, 0.146, 0.088, 0.028, -0.037, -0.084, -0.123, -0.15, -0.163");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.2531 ;
max_transition : 5 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "CLK" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.00274, 0.008846, 0.02051, 0.03868, 0.06417, 0.09771, 0.14, 0.1916, 0.2531");
values("0.2037, 0.2027, 0.201, 0.2002, 0.2, 0.1999, 0.1998, 0.1998, 0.1998, 0.1997",\
"0.2038, 0.2026, 0.201, 0.2003, 0.2, 0.1998, 0.1998, 0.1997, 0.1997, 0.1997",\
"0.2039, 0.2028, 0.2011, 0.2003, 0.2, 0.1998, 0.1998, 0.1998, 0.1998, 0.1997",\
"0.2042, 0.203, 0.2014, 0.2006, 0.2003, 0.2003, 0.2002, 0.2001, 0.2001, 0.2001",\
"0.2051, 0.2039, 0.2023, 0.2015, 0.2012, 0.2012, 0.2011, 0.201, 0.201, 0.201",\
"0.2061, 0.205, 0.2034, 0.2028, 0.2024, 0.2023, 0.2021, 0.2021, 0.2021, 0.2021",\
"0.207, 0.2059, 0.2044, 0.2037, 0.2033, 0.2032, 0.203, 0.203, 0.203, 0.203",\
"0.2084, 0.2073, 0.2057, 0.2048, 0.2045, 0.2045, 0.2043, 0.2043, 0.2043, 0.2043",\
"0.2097, 0.2087, 0.207, 0.2064, 0.206, 0.2059, 0.2057, 0.2057, 0.2057, 0.2057",\
"0.2114, 0.2104, 0.2087, 0.2077, 0.2077, 0.2076, 0.2074, 0.2073, 0.2073, 0.2073");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.00274, 0.008846, 0.02051, 0.03868, 0.06417, 0.09771, 0.14, 0.1916, 0.2531");
values("0.2061, 0.2047, 0.2016, 0.199, 0.1981, 0.198, 0.1984, 0.1997, 0.2001, 0.2007",\
"0.2061, 0.2046, 0.2014, 0.1995, 0.1986, 0.1981, 0.1991, 0.1999, 0.2004, 0.2012",\
"0.2061, 0.2045, 0.2013, 0.1992, 0.1982, 0.1981, 0.199, 0.1999, 0.2005, 0.2018",\
"0.2064, 0.2047, 0.2016, 0.1994, 0.1984, 0.1982, 0.1992, 0.1998, 0.2006, 0.2023",\
"0.2071, 0.2055, 0.2024, 0.2003, 0.1993, 0.1992, 0.2001, 0.2006, 0.2013, 0.2023",\
"0.2084, 0.2067, 0.2037, 0.2012, 0.2004, 0.2002, 0.2015, 0.2017, 0.203, 0.2033",\
"0.2096, 0.2081, 0.2049, 0.2028, 0.2018, 0.2015, 0.2023, 0.2029, 0.2038, 0.2055",\
"0.2113, 0.2099, 0.2066, 0.2041, 0.2037, 0.2045, 0.2045, 0.2048, 0.2056, 0.2073",\
"0.2137, 0.2122, 0.2094, 0.2063, 0.2055, 0.2057, 0.2079, 0.2084, 0.208, 0.2088",\
"0.2166, 0.2148, 0.2117, 0.2094, 0.2083, 0.208, 0.2087, 0.2114, 0.2129, 0.2125");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.00274, 0.008846, 0.02051, 0.03868, 0.06417, 0.09771, 0.14, 0.1916, 0.2531");
values("0.7941, 0.8151, 0.8763, 0.9732, 1.111, 1.3, 1.549, 1.862, 2.244, 2.699",\
"0.8009, 0.822, 0.8832, 0.9801, 1.118, 1.307, 1.555, 1.868, 2.25, 2.706",\
"0.828, 0.849, 0.9102, 1.007, 1.145, 1.334, 1.583, 1.895, 2.278, 2.733",\
"0.8823, 0.9034, 0.9646, 1.061, 1.199, 1.389, 1.637, 1.95, 2.332, 2.787",\
"0.948, 0.9691, 1.03, 1.127, 1.265, 1.454, 1.703, 2.016, 2.398, 2.853",\
"1.009, 1.03, 1.091, 1.188, 1.326, 1.515, 1.763, 2.076, 2.458, 2.913",\
"1.065, 1.086, 1.147, 1.244, 1.382, 1.571, 1.82, 2.133, 2.514, 2.97",\
"1.115, 1.136, 1.197, 1.294, 1.432, 1.621, 1.869, 2.182, 2.564, 3.019",\
"1.156, 1.177, 1.238, 1.335, 1.473, 1.662, 1.91, 2.223, 2.605, 3.06",\
"1.187, 1.208, 1.269, 1.366, 1.504, 1.693, 1.942, 2.255, 2.636, 3.092");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.00274, 0.008846, 0.02051, 0.03868, 0.06417, 0.09771, 0.14, 0.1916, 0.2531");
values("0.9089, 0.9329, 1.007, 1.138, 1.342, 1.63, 2.01, 2.488, 3.072, 3.768",\
"0.9158, 0.9399, 1.014, 1.145, 1.349, 1.637, 2.017, 2.495, 3.079, 3.775",\
"0.9426, 0.9667, 1.04, 1.172, 1.376, 1.664, 2.044, 2.522, 3.106, 3.803",\
"0.9968, 1.021, 1.095, 1.226, 1.43, 1.718, 2.098, 2.576, 3.16, 3.856",\
"1.064, 1.087, 1.161, 1.292, 1.497, 1.785, 2.165, 2.643, 3.227, 3.923",\
"1.126, 1.15, 1.223, 1.354, 1.559, 1.847, 2.227, 2.705, 3.289, 3.985",\
"1.185, 1.209, 1.282, 1.413, 1.618, 1.906, 2.285, 2.764, 3.348, 4.044",\
"1.237, 1.262, 1.335, 1.466, 1.671, 1.959, 2.339, 2.817, 3.401, 4.097",\
"1.284, 1.308, 1.382, 1.513, 1.717, 2.005, 2.385, 2.863, 3.447, 4.143",\
"1.321, 1.345, 1.418, 1.55, 1.754, 2.042, 2.422, 2.9, 3.484, 4.18");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.00274, 0.008846, 0.02051, 0.03868, 0.06417, 0.09771, 0.14, 0.1916, 0.2531");
values("0.09148, 0.1138, 0.1825, 0.3084, 0.5156, 0.8172, 1.222, 1.733, 2.36, 3.101",\
"0.0916, 0.1136, 0.1824, 0.308, 0.5154, 0.818, 1.223, 1.735, 2.36, 3.1",\
"0.0915, 0.1138, 0.1827, 0.309, 0.5154, 0.8182, 1.223, 1.735, 2.36, 3.101",\
"0.0916, 0.1134, 0.1824, 0.309, 0.5144, 0.8184, 1.223, 1.735, 2.36, 3.101",\
"0.0914, 0.1136, 0.1826, 0.309, 0.5146, 0.8184, 1.222, 1.733, 2.361, 3.102",\
"0.0914, 0.114, 0.1826, 0.3088, 0.5144, 0.8174, 1.222, 1.734, 2.358, 3.107",\
"0.0914, 0.1134, 0.1826, 0.308, 0.5144, 0.817, 1.221, 1.732, 2.359, 3.107",\
"0.0916, 0.1138, 0.1826, 0.3082, 0.5148, 0.8172, 1.221, 1.733, 2.358, 3.101",\
"0.0914, 0.1136, 0.1828, 0.309, 0.5146, 0.8182, 1.222, 1.733, 2.356, 3.099",\
"0.0914, 0.1138, 0.1824, 0.308, 0.5146, 0.818, 1.222, 1.733, 2.358, 3.099");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.00274, 0.008846, 0.02051, 0.03868, 0.06417, 0.09771, 0.14, 0.1916, 0.2531");
values("0.1097, 0.1401, 0.2456, 0.4622, 0.8148, 1.312, 1.965, 2.792, 3.802, 5.006",\
"0.1097, 0.1407, 0.2455, 0.462, 0.8144, 1.312, 1.968, 2.794, 3.802, 4.994",\
"0.11, 0.1408, 0.2454, 0.4618, 0.8146, 1.313, 1.967, 2.793, 3.795, 5",\
"0.1098, 0.1408, 0.2454, 0.4618, 0.8146, 1.314, 1.968, 2.788, 3.794, 4.997",\
"0.1098, 0.1404, 0.2454, 0.462, 0.8146, 1.313, 1.966, 2.789, 3.796, 4.996",\
"0.1098, 0.1402, 0.2454, 0.4622, 0.8148, 1.313, 1.968, 2.788, 3.798, 4.994",\
"0.1098, 0.1404, 0.2458, 0.4624, 0.815, 1.313, 1.966, 2.79, 3.803, 5",\
"0.1102, 0.1402, 0.2456, 0.4618, 0.8154, 1.312, 1.966, 2.791, 3.795, 4.998",\
"0.1096, 0.1404, 0.2456, 0.4622, 0.8146, 1.312, 1.965, 2.789, 3.798, 4.996",\
"0.11, 0.1408, 0.2458, 0.4622, 0.8142, 1.312, 1.965, 2.79, 3.794, 4.997");
}
}
}
}