blob: 44e1fee7dc3b86d37561700bf8e83afa971efe0a [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_mcu9t5v0__dffq_1) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0057222" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00749772" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0056016" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00655128" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00749772" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004956 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
min_period : 0.991 ;
min_pulse_width_high : 0.382 ;
min_pulse_width_low : 0.498 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2069, 0.2062, 0.2094, 0.2254, 0.2573, 0.3064, 0.374, 0.461, \
0.5679, 0.696");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1346, 0.1343, 0.1368, 0.1501, 0.1767, 0.2195, 0.2786, 0.3558, \
0.4509, 0.5653");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2138, 0.2132, 0.2165, 0.2323, 0.2642, 0.3134, 0.3809, 0.4677, \
0.5746, 0.7025");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1342, 0.134, 0.1365, 0.1498, 0.1766, 0.2192, 0.2786, 0.3557, \
0.4508, 0.5651");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.498");
}
rise_constraint(scalar) {
values("0.325");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.411");
}
rise_constraint(scalar) {
values("0.382");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.991");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.898");
}
}
}
pin(D) {
capacitance : 0.003759 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1235, 0.1229, 0.1236, 0.1319, 0.1499, 0.1781, 0.2173, 0.2672, \
0.3282, 0.4008");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.08315, 0.08336, 0.08507, 0.09242, 0.1073, 0.1312, 0.1644, 0.2074, \
0.2604, 0.3241");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.01203, 0.01203, 0.01203, 0.01204, 0.01203, 0.01203, 0.01205, \
0.01205, 0.01204, 0.01203");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("-0.01256, -0.01254, -0.01255, -0.01254, -0.01254, -0.01256, -0.0126, \
-0.01263, -0.01265, -0.01266");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
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.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.126, 0.129, 0.153, 0.195, 0.221, 0.243, 0.249, 0.235, 0.217, 0.168",\
"0.121, 0.121, 0.154, 0.19, 0.217, 0.239, 0.24, 0.229, 0.208, 0.161",\
"0.092, 0.101, 0.123, 0.16, 0.189, 0.21, 0.219, 0.208, 0.182, 0.132",\
"0.056, 0.054, 0.083, 0.119, 0.148, 0.173, 0.173, 0.162, 0.137, 0.092",\
"0.011, 0.008, 0.037, 0.073, 0.104, 0.119, 0.124, 0.117, 0.085, 0.037",\
"-0.04, -0.047, -0.012, 0.024, 0.048, 0.068, 0.077, 0.06, 0.034, -0.014",\
"-0.104, -0.114, -0.081, -0.047, -0.017, 0.008, 0.015, -0.002, -0.024, -0.078",\
"-0.168, -0.19, -0.153, -0.12, -0.09, -0.06, -0.058, -0.07, -0.089, -0.138",\
"-0.256, -0.276, -0.238, -0.202, -0.167, -0.143, -0.135, -0.142, -0.162, -0.217",\
"-0.342, -0.381, -0.331, -0.3, -0.265, -0.233, -0.22, -0.234, -0.252, -0.3");
}
rise_constraint(cnst_ctin_rtin_10x10) {
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.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.011, 0.021, 0.048, 0.063, 0.07, 0.07, 0.045, 0.013, -0.03, -0.089",\
"0.005, 0.015, 0.041, 0.057, 0.065, 0.062, 0.044, 0.011, -0.032, -0.091",\
"-0.004, -0.003, 0.023, 0.038, 0.05, 0.053, 0.029, 0.006, -0.044, -0.106",\
"-0.023, -0.016, 0.01, 0.025, 0.037, 0.032, 0.009, -0.022, -0.068, -0.129",\
"-0.04, -0.029, -0.01, 0.011, 0.017, 0.008, -0.012, -0.049, -0.102, -0.161",\
"-0.033, -0.024, -0.004, 0.005, 0.009, -0.007, -0.033, -0.075, -0.134, -0.205",\
"-0.007, 0.001, 0.023, 0.029, 0.027, 0.008, -0.035, -0.08, -0.148, -0.227",\
"0.04, 0.05, 0.072, 0.072, 0.067, 0.034, -0.009, -0.063, -0.139, -0.226",\
"0.119, 0.123, 0.142, 0.139, 0.126, 0.089, 0.039, -0.026, -0.104, -0.206",\
"0.211, 0.221, 0.238, 0.231, 0.212, 0.173, 0.113, 0.04, -0.048, -0.157");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
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.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.189, 0.185, 0.162, 0.116, 0.082, 0.065, 0.052, 0.069, 0.1, 0.147",\
"0.193, 0.184, 0.167, 0.123, 0.092, 0.069, 0.061, 0.072, 0.103, 0.15",\
"0.222, 0.22, 0.188, 0.148, 0.118, 0.095, 0.086, 0.096, 0.126, 0.178",\
"0.294, 0.287, 0.258, 0.217, 0.191, 0.165, 0.155, 0.172, 0.193, 0.245",\
"0.404, 0.394, 0.37, 0.328, 0.295, 0.276, 0.264, 0.279, 0.301, 0.351",\
"0.543, 0.539, 0.516, 0.473, 0.437, 0.415, 0.403, 0.41, 0.439, 0.491",\
"0.706, 0.699, 0.679, 0.634, 0.606, 0.582, 0.567, 0.576, 0.6, 0.647",\
"0.895, 0.888, 0.87, 0.822, 0.791, 0.766, 0.758, 0.762, 0.787, 0.832",\
"1.108, 1.106, 1.076, 1.037, 1.004, 0.978, 0.966, 0.973, 0.992, 1.038",\
"1.344, 1.338, 1.317, 1.271, 1.24, 1.21, 1.201, 1.202, 1.227, 1.268");
}
rise_constraint(cnst_ctin_rtin_10x10) {
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.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.252, 0.242, 0.232, 0.189, 0.168, 0.17, 0.181, 0.225, 0.278, 0.352",\
"0.264, 0.248, 0.233, 0.193, 0.181, 0.176, 0.192, 0.229, 0.282, 0.357",\
"0.284, 0.267, 0.253, 0.221, 0.194, 0.195, 0.207, 0.244, 0.296, 0.377",\
"0.314, 0.301, 0.29, 0.249, 0.233, 0.231, 0.238, 0.272, 0.334, 0.411",\
"0.343, 0.332, 0.312, 0.28, 0.269, 0.259, 0.271, 0.316, 0.36, 0.447",\
"0.363, 0.354, 0.343, 0.304, 0.286, 0.279, 0.302, 0.332, 0.393, 0.475",\
"0.373, 0.36, 0.34, 0.312, 0.29, 0.287, 0.306, 0.353, 0.41, 0.507",\
"0.354, 0.348, 0.333, 0.296, 0.283, 0.275, 0.306, 0.346, 0.413, 0.509",\
"0.326, 0.317, 0.3, 0.267, 0.255, 0.254, 0.274, 0.326, 0.391, 0.487",\
"0.271, 0.258, 0.245, 0.216, 0.205, 0.208, 0.229, 0.273, 0.351, 0.45");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3773 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.003597, 0.01271, 0.03012, 0.05725, 0.09531, 0.1454, 0.2085, 0.2855, 0.3773");
values("0.2233, 0.2206, 0.2156, 0.2124, 0.2105, 0.2093, 0.2085, 0.2081, 0.2076, 0.2074",\
"0.2232, 0.2205, 0.2156, 0.2124, 0.2105, 0.2092, 0.2085, 0.2079, 0.2076, 0.2073",\
"0.2235, 0.2208, 0.2159, 0.2126, 0.2108, 0.2095, 0.2088, 0.2083, 0.2079, 0.2077",\
"0.2248, 0.222, 0.2172, 0.2139, 0.212, 0.2108, 0.21, 0.2095, 0.2092, 0.2089",\
"0.2268, 0.2241, 0.2192, 0.2159, 0.214, 0.2129, 0.2121, 0.2116, 0.2112, 0.2109",\
"0.229, 0.2263, 0.2215, 0.2182, 0.2163, 0.215, 0.2144, 0.2138, 0.2135, 0.2132",\
"0.2322, 0.2295, 0.2246, 0.2214, 0.2196, 0.2184, 0.2176, 0.2171, 0.2167, 0.2164",\
"0.2358, 0.233, 0.2281, 0.2249, 0.2229, 0.2218, 0.2211, 0.2205, 0.2202, 0.22",\
"0.2396, 0.2369, 0.2321, 0.2289, 0.227, 0.2259, 0.225, 0.2246, 0.2242, 0.2239",\
"0.2439, 0.241, 0.2363, 0.233, 0.2312, 0.2299, 0.2291, 0.2287, 0.2283, 0.228");
}
rise_power(pwr_tin_oload_10x10) {
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.001, 0.003597, 0.01271, 0.03012, 0.05725, 0.09531, 0.1454, 0.2085, 0.2855, 0.3773");
values("0.2009, 0.1989, 0.1956, 0.1934, 0.1925, 0.1927, 0.1934, 0.1942, 0.1946, 0.1956",\
"0.2008, 0.1989, 0.1954, 0.1933, 0.1924, 0.1926, 0.1932, 0.1938, 0.1945, 0.1951",\
"0.2009, 0.1989, 0.1955, 0.1933, 0.1924, 0.1929, 0.1934, 0.1939, 0.1945, 0.1951",\
"0.2019, 0.1999, 0.1965, 0.1944, 0.1935, 0.1938, 0.1945, 0.195, 0.1955, 0.1969",\
"0.2044, 0.2024, 0.199, 0.1969, 0.196, 0.1961, 0.1967, 0.1973, 0.198, 0.199",\
"0.2078, 0.2057, 0.2021, 0.2005, 0.1995, 0.1995, 0.2002, 0.2006, 0.201, 0.2017",\
"0.2127, 0.2109, 0.2073, 0.2048, 0.2044, 0.2048, 0.2052, 0.2055, 0.206, 0.2077",\
"0.2189, 0.2169, 0.2134, 0.211, 0.2097, 0.2103, 0.2125, 0.2124, 0.2129, 0.2127",\
"0.2265, 0.2244, 0.221, 0.2184, 0.2171, 0.2169, 0.2182, 0.2209, 0.2211, 0.222",\
"0.2352, 0.2331, 0.2294, 0.2269, 0.2253, 0.2254, 0.2259, 0.2278, 0.2306, 0.2322");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
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.001, 0.003597, 0.01271, 0.03012, 0.05725, 0.09531, 0.1454, 0.2085, 0.2855, 0.3773");
values("0.6362, 0.657, 0.7145, 0.8027, 0.9239, 1.086, 1.297, 1.562, 1.886, 2.273",\
"0.6429, 0.6635, 0.721, 0.8093, 0.9305, 1.092, 1.303, 1.569, 1.893, 2.279",\
"0.6689, 0.6895, 0.7471, 0.8353, 0.9565, 1.118, 1.329, 1.595, 1.918, 2.305",\
"0.7111, 0.7317, 0.7892, 0.8775, 0.9987, 1.161, 1.371, 1.637, 1.961, 2.347",\
"0.7479, 0.7685, 0.8261, 0.9143, 1.035, 1.197, 1.408, 1.674, 1.997, 2.384",\
"0.7748, 0.7954, 0.8529, 0.9412, 1.062, 1.224, 1.435, 1.7, 2.024, 2.411",\
"0.7879, 0.8085, 0.866, 0.9542, 1.076, 1.237, 1.448, 1.713, 2.037, 2.423",\
"0.786, 0.8066, 0.8639, 0.9521, 1.073, 1.235, 1.446, 1.712, 2.035, 2.422",\
"0.7663, 0.7869, 0.8445, 0.9328, 1.054, 1.216, 1.427, 1.692, 2.016, 2.402",\
"0.7287, 0.7493, 0.8068, 0.8951, 1.016, 1.178, 1.389, 1.654, 1.978, 2.364");
}
cell_rise(tmg_ntin_oload_10x10) {
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.001, 0.003597, 0.01271, 0.03012, 0.05725, 0.09531, 0.1454, 0.2085, 0.2855, 0.3773");
values("0.5862, 0.6083, 0.6786, 0.8065, 1.007, 1.289, 1.661, 2.128, 2.699, 3.381",\
"0.5928, 0.615, 0.6851, 0.8132, 1.014, 1.295, 1.667, 2.135, 2.707, 3.39",\
"0.6181, 0.6404, 0.7105, 0.8384, 1.039, 1.321, 1.692, 2.16, 2.732, 3.413",\
"0.659, 0.6812, 0.7512, 0.8793, 1.079, 1.362, 1.733, 2.201, 2.773, 3.455",\
"0.6948, 0.717, 0.7873, 0.9153, 1.116, 1.398, 1.769, 2.237, 2.81, 3.492",\
"0.7212, 0.7434, 0.8135, 0.9415, 1.142, 1.424, 1.795, 2.264, 2.835, 3.518",\
"0.7352, 0.7574, 0.8277, 0.9557, 1.156, 1.438, 1.809, 2.277, 2.849, 3.531",\
"0.7352, 0.7575, 0.8275, 0.9556, 1.156, 1.438, 1.809, 2.277, 2.848, 3.53",\
"0.7192, 0.7414, 0.8113, 0.9394, 1.14, 1.422, 1.793, 2.26, 2.832, 3.513",\
"0.6859, 0.7081, 0.7781, 0.9062, 1.106, 1.388, 1.759, 2.227, 2.798, 3.48");
}
fall_transition(tmg_ntin_oload_10x10) {
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.001, 0.003597, 0.01271, 0.03012, 0.05725, 0.09531, 0.1454, 0.2085, 0.2855, 0.3773");
values("0.09114, 0.1124, 0.1756, 0.2888, 0.4671, 0.7311, 1.087, 1.542, 2.097, 2.76",\
"0.09116, 0.1123, 0.1758, 0.2884, 0.4674, 0.7311, 1.088, 1.543, 2.099, 2.763",\
"0.09094, 0.1124, 0.1756, 0.2893, 0.4672, 0.7304, 1.087, 1.543, 2.097, 2.765",\
"0.09118, 0.1121, 0.1756, 0.289, 0.4674, 0.7316, 1.088, 1.543, 2.098, 2.76",\
"0.0912, 0.1124, 0.1754, 0.2888, 0.468, 0.731, 1.087, 1.543, 2.098, 2.76",\
"0.0908, 0.1118, 0.1754, 0.2886, 0.4672, 0.7302, 1.088, 1.542, 2.098, 2.765",\
"0.0908, 0.1118, 0.1754, 0.2886, 0.4672, 0.7302, 1.087, 1.541, 2.096, 2.761",\
"0.0908, 0.1118, 0.1758, 0.2884, 0.467, 0.7304, 1.087, 1.54, 2.095, 2.757",\
"0.0908, 0.1118, 0.1758, 0.2882, 0.467, 0.7304, 1.086, 1.54, 2.095, 2.758",\
"0.091, 0.112, 0.1758, 0.2886, 0.4668, 0.7306, 1.087, 1.542, 2.097, 2.761");
}
rise_transition(tmg_ntin_oload_10x10) {
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.001, 0.003597, 0.01271, 0.03012, 0.05725, 0.09531, 0.1454, 0.2085, 0.2855, 0.3773");
values("0.09698, 0.1283, 0.2411, 0.4704, 0.8375, 1.354, 2.038, 2.896, 3.936, 5.185",\
"0.09696, 0.1284, 0.241, 0.4703, 0.8372, 1.356, 2.037, 2.895, 3.937, 5.181",\
"0.09674, 0.1283, 0.241, 0.4703, 0.8374, 1.355, 2.037, 2.895, 3.935, 5.184",\
"0.0969, 0.1283, 0.2413, 0.4704, 0.8372, 1.356, 2.037, 2.896, 3.937, 5.185",\
"0.0972, 0.1282, 0.2412, 0.4704, 0.8374, 1.354, 2.037, 2.896, 3.935, 5.184",\
"0.097, 0.1284, 0.2414, 0.4708, 0.8374, 1.357, 2.036, 2.893, 3.935, 5.184",\
"0.097, 0.1286, 0.2414, 0.4708, 0.8372, 1.354, 2.036, 2.895, 3.937, 5.185",\
"0.0974, 0.1286, 0.2418, 0.4706, 0.8384, 1.354, 2.035, 2.892, 3.943, 5.182",\
"0.0976, 0.1288, 0.242, 0.4706, 0.8388, 1.354, 2.038, 2.891, 3.937, 5.185",\
"0.0978, 0.1292, 0.2418, 0.4706, 0.8376, 1.354, 2.034, 2.892, 3.938, 5.184");
}
}
}
}