blob: bbc160f22aa580111d3236d6ee20d8cd6456f432 [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.0001785492" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0002028744" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.000254574" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0003162276" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003162276" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004919 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4.4 ;
min_period : 0.671 ;
min_pulse_width_high : 0.25 ;
min_pulse_width_low : 0.335 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1984, 0.1977, 0.2008, 0.2162, 0.2448, 0.2891, 0.3498, 0.4273, \
0.5231, 0.6378");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1283, 0.1278, 0.1303, 0.1427, 0.1668, 0.2051, 0.2585, 0.3274, \
0.4121, 0.5137");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.2045, 0.2039, 0.2071, 0.2225, 0.2511, 0.2952, 0.3556, 0.4333, \
0.5288, 0.6429");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1281, 0.1275, 0.1301, 0.1425, 0.1667, 0.2052, 0.2585, 0.3273, \
0.412, 0.5136");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.335");
}
rise_constraint(scalar) {
values("0.218");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.281");
}
rise_constraint(scalar) {
values("0.25");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.671");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.635");
}
}
}
pin(D) {
capacitance : 0.00374 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4.4 ;
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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1141, 0.1133, 0.1142, 0.1228, 0.1395, 0.1657, 0.2014, 0.2472, \
0.3032, 0.37");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.07711, 0.07712, 0.07865, 0.08551, 0.09949, 0.1218, 0.1527, 0.1924, \
0.2411, 0.2996");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.01219, 0.01218, 0.0122, 0.01222, 0.01219, 0.01221, 0.0122, 0.01222, \
0.01221, 0.01222");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("-0.01228, -0.01229, -0.01227, -0.01228, -0.01234, -0.01238, -0.01242, \
-0.01245, -0.01247, -0.01247");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.086, 0.095, 0.119, 0.148, 0.169, 0.185, 0.191, 0.188, 0.167, 0.137",\
"0.081, 0.089, 0.109, 0.141, 0.164, 0.181, 0.193, 0.182, 0.167, 0.131",\
"0.063, 0.068, 0.087, 0.123, 0.146, 0.161, 0.168, 0.164, 0.141, 0.112",\
"0.028, 0.037, 0.053, 0.093, 0.111, 0.125, 0.132, 0.124, 0.111, 0.077",\
"-0.007, -0.006, 0.012, 0.047, 0.068, 0.088, 0.094, 0.084, 0.066, 0.037",\
"-0.06, -0.054, -0.039, -0.002, 0.018, 0.035, 0.044, 0.042, 0.022, -0.006",\
"-0.117, -0.107, -0.099, -0.066, -0.038, -0.022, -0.008, -0.018, -0.034, -0.059",\
"-0.194, -0.182, -0.171, -0.138, -0.108, -0.087, -0.075, -0.084, -0.098, -0.126",\
"-0.278, -0.262, -0.256, -0.213, -0.187, -0.172, -0.152, -0.164, -0.171, -0.189",\
"-0.373, -0.363, -0.361, -0.319, -0.281, -0.266, -0.239, -0.249, -0.252, -0.277");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("-0, 0.007, 0.028, 0.039, 0.043, 0.047, 0.033, 0.009, -0.028, -0.083",\
"-0.001, -0, 0.02, 0.033, 0.043, 0.04, 0.032, 0.002, -0.029, -0.085",\
"-0.02, -0.011, 0.005, 0.02, 0.028, 0.031, 0.019, -0.003, -0.044, -0.092",\
"-0.033, -0.027, -0.005, 0.01, 0.014, 0.019, 0.001, -0.02, -0.056, -0.105",\
"-0.043, -0.034, -0.018, -0.001, 0.007, 0.001, -0.011, -0.035, -0.074, -0.126",\
"-0.041, -0.04, -0.024, -0.01, -0.002, -0.006, -0.021, -0.048, -0.094, -0.148",\
"-0.024, -0.022, -0.009, 0.005, 0.005, -0.001, -0.026, -0.054, -0.102, -0.156",\
"0.003, 0.005, 0.023, 0.034, 0.035, 0.02, -0.008, -0.042, -0.091, -0.151",\
"0.053, 0.055, 0.07, 0.074, 0.073, 0.06, 0.028, -0.009, -0.065, -0.133",\
"0.121, 0.123, 0.136, 0.14, 0.138, 0.114, 0.082, 0.042, -0.018, -0.091");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.114, 0.106, 0.088, 0.052, 0.02, 0.005, -0.005, -0.003, 0.019, 0.049",\
"0.12, 0.11, 0.086, 0.056, 0.031, 0.007, -0.003, 0.005, 0.02, 0.057",\
"0.144, 0.135, 0.114, 0.083, 0.054, 0.033, 0.021, 0.03, 0.043, 0.08",\
"0.202, 0.198, 0.174, 0.139, 0.114, 0.096, 0.081, 0.085, 0.102, 0.135",\
"0.286, 0.285, 0.259, 0.221, 0.197, 0.182, 0.166, 0.169, 0.188, 0.219",\
"0.395, 0.389, 0.363, 0.329, 0.31, 0.281, 0.274, 0.271, 0.287, 0.324",\
"0.526, 0.514, 0.497, 0.459, 0.434, 0.412, 0.396, 0.4, 0.413, 0.44",\
"0.666, 0.659, 0.633, 0.597, 0.574, 0.552, 0.539, 0.541, 0.557, 0.583",\
"0.829, 0.817, 0.801, 0.76, 0.732, 0.713, 0.699, 0.701, 0.714, 0.741",\
"1.004, 0.998, 0.976, 0.943, 0.913, 0.895, 0.881, 0.873, 0.889, 0.913");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.166, 0.157, 0.137, 0.106, 0.101, 0.091, 0.098, 0.124, 0.163, 0.22",\
"0.171, 0.165, 0.139, 0.113, 0.105, 0.094, 0.101, 0.134, 0.166, 0.223",\
"0.194, 0.188, 0.157, 0.134, 0.12, 0.113, 0.13, 0.144, 0.184, 0.238",\
"0.22, 0.21, 0.188, 0.157, 0.145, 0.137, 0.147, 0.171, 0.213, 0.264",\
"0.241, 0.229, 0.203, 0.178, 0.166, 0.162, 0.166, 0.193, 0.229, 0.282",\
"0.251, 0.241, 0.218, 0.19, 0.184, 0.17, 0.18, 0.208, 0.248, 0.297",\
"0.247, 0.25, 0.218, 0.192, 0.181, 0.174, 0.189, 0.214, 0.257, 0.313",\
"0.233, 0.234, 0.204, 0.181, 0.171, 0.167, 0.173, 0.204, 0.246, 0.308",\
"0.21, 0.202, 0.176, 0.148, 0.141, 0.132, 0.146, 0.178, 0.227, 0.291",\
"0.159, 0.153, 0.129, 0.101, 0.087, 0.089, 0.105, 0.14, 0.186, 0.255");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4519 ;
max_transition : 4.4 ;
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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.004112, 0.01504, 0.0359, 0.0684, 0.114, 0.174, 0.2496, 0.3419, 0.4519");
values("0.2031, 0.2005, 0.1975, 0.1958, 0.1951, 0.1946, 0.1942, 0.1941, 0.194, 0.1939",\
"0.2031, 0.2006, 0.1976, 0.196, 0.1951, 0.1947, 0.1943, 0.1941, 0.194, 0.194",\
"0.2032, 0.2008, 0.1978, 0.1962, 0.1953, 0.1949, 0.1945, 0.1943, 0.1942, 0.1942",\
"0.2045, 0.2021, 0.199, 0.1974, 0.1966, 0.1961, 0.1957, 0.1956, 0.1955, 0.1955",\
"0.2066, 0.2042, 0.2011, 0.1995, 0.1986, 0.1981, 0.1979, 0.1977, 0.1975, 0.1974",\
"0.2087, 0.2062, 0.2032, 0.2016, 0.2007, 0.2002, 0.1999, 0.1998, 0.1997, 0.1996",\
"0.2112, 0.2088, 0.2056, 0.204, 0.2032, 0.2027, 0.2024, 0.2022, 0.2021, 0.202",\
"0.214, 0.2117, 0.2086, 0.2069, 0.2061, 0.2056, 0.2054, 0.2052, 0.205, 0.2049",\
"0.2173, 0.2149, 0.2118, 0.2102, 0.2093, 0.2089, 0.2086, 0.2084, 0.2083, 0.2082",\
"0.2208, 0.2184, 0.2153, 0.2138, 0.2129, 0.2124, 0.212, 0.2119, 0.2119, 0.2116");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.004112, 0.01504, 0.0359, 0.0684, 0.114, 0.174, 0.2496, 0.3419, 0.4519");
values("0.1799, 0.1784, 0.1762, 0.1756, 0.1759, 0.1761, 0.1779, 0.1789, 0.1803, 0.1818",\
"0.1798, 0.1783, 0.1762, 0.1756, 0.1759, 0.1761, 0.1771, 0.1791, 0.1794, 0.1813",\
"0.1799, 0.1784, 0.1763, 0.1756, 0.1761, 0.1762, 0.1777, 0.1786, 0.1801, 0.1816",\
"0.1807, 0.1792, 0.1771, 0.1764, 0.1768, 0.1769, 0.1785, 0.1799, 0.1807, 0.1822",\
"0.1826, 0.181, 0.1791, 0.1783, 0.1783, 0.1792, 0.1804, 0.1813, 0.1831, 0.1846",\
"0.185, 0.1835, 0.181, 0.1809, 0.1813, 0.1816, 0.1827, 0.1836, 0.1853, 0.1861",\
"0.1885, 0.187, 0.185, 0.1837, 0.1847, 0.1862, 0.1867, 0.1875, 0.1882, 0.1903",\
"0.1929, 0.1913, 0.189, 0.1877, 0.1883, 0.1897, 0.1909, 0.1925, 0.1924, 0.1939",\
"0.198, 0.1966, 0.1943, 0.1933, 0.1939, 0.1936, 0.1956, 0.1989, 0.1988, 0.2003",\
"0.2039, 0.2022, 0.2, 0.1993, 0.1992, 0.1996, 0.2002, 0.2028, 0.2063, 0.2067");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.004112, 0.01504, 0.0359, 0.0684, 0.114, 0.174, 0.2496, 0.3419, 0.4519");
values("0.4462, 0.4637, 0.5112, 0.5838, 0.6864, 0.8273, 1.012, 1.246, 1.53, 1.87",\
"0.4524, 0.4698, 0.5173, 0.59, 0.6926, 0.8335, 1.018, 1.252, 1.536, 1.876",\
"0.4759, 0.4933, 0.5408, 0.6134, 0.7161, 0.857, 1.042, 1.275, 1.56, 1.899",\
"0.5103, 0.5278, 0.5752, 0.6479, 0.7505, 0.8914, 1.076, 1.31, 1.595, 1.934",\
"0.5393, 0.5568, 0.6043, 0.6769, 0.7796, 0.9205, 1.106, 1.339, 1.624, 1.963",\
"0.5612, 0.5788, 0.6263, 0.6989, 0.8015, 0.9424, 1.127, 1.361, 1.645, 1.985",\
"0.5735, 0.5909, 0.6384, 0.711, 0.8136, 0.9545, 1.14, 1.373, 1.657, 1.997",\
"0.5735, 0.5911, 0.6386, 0.7113, 0.8138, 0.9548, 1.14, 1.373, 1.658, 1.997",\
"0.5604, 0.5779, 0.6255, 0.6981, 0.8007, 0.9416, 1.127, 1.36, 1.645, 1.984",\
"0.5331, 0.5506, 0.598, 0.6707, 0.7733, 0.9142, 1.099, 1.332, 1.617, 1.956");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.004112, 0.01504, 0.0359, 0.0684, 0.114, 0.174, 0.2496, 0.3419, 0.4519");
values("0.4039, 0.4233, 0.4847, 0.6001, 0.7806, 1.034, 1.367, 1.787, 2.299, 2.91",\
"0.4101, 0.4294, 0.4909, 0.6062, 0.7866, 1.04, 1.373, 1.793, 2.305, 2.916",\
"0.4327, 0.4521, 0.5136, 0.6289, 0.8094, 1.063, 1.396, 1.815, 2.328, 2.939",\
"0.4657, 0.4851, 0.5466, 0.6619, 0.8423, 1.096, 1.428, 1.848, 2.361, 2.972",\
"0.4938, 0.5131, 0.5747, 0.6901, 0.8703, 1.123, 1.457, 1.876, 2.388, 3",\
"0.5151, 0.5345, 0.5959, 0.7112, 0.8915, 1.145, 1.478, 1.898, 2.411, 3.021",\
"0.5272, 0.5465, 0.6081, 0.7234, 0.9038, 1.157, 1.49, 1.909, 2.423, 3.032",\
"0.5279, 0.5473, 0.6087, 0.7238, 0.9041, 1.158, 1.49, 1.91, 2.422, 3.032",\
"0.516, 0.5355, 0.5969, 0.7121, 0.8924, 1.146, 1.479, 1.898, 2.41, 3.02",\
"0.4906, 0.51, 0.5714, 0.6866, 0.8669, 1.12, 1.453, 1.873, 2.384, 2.995");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.004112, 0.01504, 0.0359, 0.0684, 0.114, 0.174, 0.2496, 0.3419, 0.4519");
values("0.05848, 0.07564, 0.1279, 0.2219, 0.3781, 0.6072, 0.9129, 1.301, 1.775, 2.337",\
"0.05828, 0.0756, 0.1281, 0.2225, 0.3784, 0.6083, 0.9145, 1.3, 1.775, 2.338",\
"0.05834, 0.07558, 0.1279, 0.2221, 0.3784, 0.6081, 0.9128, 1.302, 1.774, 2.339",\
"0.05834, 0.07562, 0.1279, 0.2222, 0.3783, 0.608, 0.9142, 1.301, 1.775, 2.336",\
"0.05818, 0.07568, 0.1279, 0.2224, 0.3782, 0.6082, 0.9146, 1.302, 1.775, 2.338",\
"0.0582, 0.0754, 0.128, 0.2222, 0.3776, 0.607, 0.9144, 1.301, 1.774, 2.336",\
"0.0582, 0.0756, 0.128, 0.222, 0.378, 0.6072, 0.9126, 1.299, 1.77, 2.336",\
"0.0582, 0.0756, 0.128, 0.2222, 0.378, 0.6076, 0.9128, 1.299, 1.77, 2.333",\
"0.0582, 0.0756, 0.1276, 0.2226, 0.378, 0.6076, 0.9146, 1.3, 1.771, 2.331",\
"0.0582, 0.0756, 0.1278, 0.2222, 0.3788, 0.6086, 0.9124, 1.3, 1.771, 2.332");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.004112, 0.01504, 0.0359, 0.0684, 0.114, 0.174, 0.2496, 0.3419, 0.4519");
values("0.06116, 0.08822, 0.1856, 0.3845, 0.6973, 1.137, 1.714, 2.444, 3.333, 4.399",\
"0.06114, 0.0882, 0.1858, 0.3846, 0.6972, 1.137, 1.714, 2.442, 3.337, 4.395",\
"0.06112, 0.08822, 0.1857, 0.3846, 0.6972, 1.136, 1.714, 2.442, 3.334, 4.392",\
"0.0612, 0.0882, 0.1858, 0.3846, 0.697, 1.137, 1.715, 2.444, 3.333, 4.392",\
"0.06106, 0.08826, 0.1858, 0.3846, 0.6972, 1.136, 1.714, 2.443, 3.333, 4.398",\
"0.061, 0.0882, 0.186, 0.3842, 0.6966, 1.136, 1.714, 2.446, 3.332, 4.395",\
"0.0612, 0.0882, 0.186, 0.3846, 0.697, 1.136, 1.714, 2.443, 3.331, 4.392",\
"0.061, 0.0884, 0.1858, 0.3844, 0.6972, 1.136, 1.713, 2.441, 3.33, 4.392",\
"0.061, 0.0884, 0.1858, 0.3844, 0.6974, 1.136, 1.715, 2.441, 3.33, 4.39",\
"0.0614, 0.0884, 0.186, 0.3848, 0.6974, 1.137, 1.714, 2.441, 3.332, 4.389");
}
}
}
}