blob: 828ad6259f37ffcebb353afb418abcff0734b351 [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__dffnq_1) {
area : 65.856000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0002151369" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0002214135" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0001789458" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000178167" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002214135" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003401 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
min_period : 1.597 ;
min_pulse_width_high : 0.597 ;
min_pulse_width_low : 0.639 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1309, 0.1304, 0.131, 0.1369, 0.149, 0.168, 0.1947, 0.2294, 0.2728, \
0.3251");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.08404, 0.08377, 0.08425, 0.08902, 0.09889, 0.1152, 0.1386, 0.1693, \
0.2076, 0.2536");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1309, 0.1304, 0.131, 0.1368, 0.149, 0.1679, 0.1946, 0.2295, \
0.2728, 0.3249");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.08415, 0.08385, 0.08439, 0.08908, 0.09904, 0.1153, 0.1387, 0.1694, \
0.2075, 0.2537");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.534");
}
rise_constraint(scalar) {
values("0.597");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.639");
}
rise_constraint(scalar) {
values("0.499");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.207");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.597");
}
}
}
pin(D) {
capacitance : 0.002363 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
nextstate_type : data ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.02498, 0.02443, 0.02619, 0.03154, 0.04102, 0.05512, 0.07415, \
0.09844, 0.1285, 0.1643");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.002812, 0.002606, 0.003597, 0.00763, 0.01538, 0.02717, 0.04328, \
0.06396, 0.08948, 0.1201");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.08556, 0.08525, 0.08614, 0.09074, 0.1, 0.1141, 0.1339, 0.1596, \
0.1915, 0.2298");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.05571, 0.05555, 0.05645, 0.06008, 0.06714, 0.0785, 0.09447, \
0.1155, 0.1419, 0.1738");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
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.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.023, 0.042, 0.104, 0.208, 0.33, 0.474, 0.639, 0.833, 1.054, 1.309",\
"0.005, 0.023, 0.088, 0.189, 0.309, 0.459, 0.621, 0.816, 1.044, 1.294",\
"-0.06, -0.047, 0.016, 0.12, 0.243, 0.385, 0.556, 0.746, 0.966, 1.222",\
"-0.189, -0.17, -0.114, -0.007, 0.111, 0.257, 0.426, 0.61, 0.827, 1.077",\
"-0.352, -0.34, -0.277, -0.173, -0.06, 0.083, 0.245, 0.435, 0.651, 0.892",\
"-0.555, -0.542, -0.481, -0.381, -0.267, -0.13, 0.029, 0.216, 0.428, 0.672",\
"-0.799, -0.784, -0.719, -0.625, -0.519, -0.386, -0.226, -0.042, 0.162, 0.404",\
"-1.081, -1.067, -1.007, -0.916, -0.812, -0.679, -0.524, -0.349, -0.145, 0.097",\
"-1.404, -1.398, -1.33, -1.247, -1.143, -1.02, -0.872, -0.699, -0.491, -0.262",\
"-1.777, -1.765, -1.704, -1.619, -1.523, -1.403, -1.267, -1.094, -0.891, -0.67");
}
rise_constraint(cnst_ctin_rtin_10x10) {
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.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.218, 0.233, 0.297, 0.426, 0.583, 0.762, 0.976, 1.21, 1.484, 1.772",\
"0.204, 0.222, 0.284, 0.411, 0.572, 0.748, 0.964, 1.198, 1.469, 1.76",\
"0.171, 0.19, 0.252, 0.376, 0.539, 0.717, 0.927, 1.168, 1.438, 1.731",\
"0.156, 0.177, 0.234, 0.36, 0.517, 0.695, 0.915, 1.144, 1.413, 1.71",\
"0.161, 0.177, 0.244, 0.365, 0.525, 0.705, 0.914, 1.153, 1.417, 1.714",\
"0.199, 0.218, 0.278, 0.402, 0.566, 0.739, 0.951, 1.185, 1.455, 1.746",\
"0.288, 0.304, 0.368, 0.484, 0.641, 0.813, 1.025, 1.256, 1.527, 1.817",\
"0.413, 0.432, 0.491, 0.606, 0.757, 0.929, 1.135, 1.368, 1.637, 1.924",\
"0.601, 0.617, 0.672, 0.781, 0.919, 1.086, 1.291, 1.522, 1.789, 2.079",\
"0.842, 0.86, 0.913, 1.004, 1.152, 1.3, 1.501, 1.723, 1.992, 2.272");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
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.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.418, 0.402, 0.326, 0.22, 0.087, -0.077, -0.26, -0.461, -0.696, -0.954",\
"0.432, 0.413, 0.344, 0.235, 0.1, -0.059, -0.244, -0.446, -0.675, -0.943",\
"0.501, 0.485, 0.417, 0.303, 0.175, 0.01, -0.166, -0.379, -0.611, -0.868",\
"0.644, 0.633, 0.555, 0.444, 0.307, 0.146, -0.036, -0.242, -0.469, -0.735",\
"0.844, 0.825, 0.756, 0.639, 0.504, 0.338, 0.156, -0.049, -0.281, -0.547",\
"1.084, 1.072, 0.998, 0.885, 0.74, 0.578, 0.389, 0.18, -0.051, -0.31",\
"1.381, 1.367, 1.299, 1.175, 1.034, 0.871, 0.678, 0.471, 0.233, -0.025",\
"1.736, 1.729, 1.647, 1.525, 1.382, 1.21, 1.022, 0.801, 0.57, 0.31",\
"2.152, 2.136, 2.058, 1.937, 1.777, 1.602, 1.409, 1.198, 0.957, 0.695",\
"2.616, 2.598, 2.52, 2.387, 2.233, 2.056, 1.853, 1.637, 1.395, 1.131");
}
rise_constraint(cnst_ctin_rtin_10x10) {
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.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.2, 0.183, 0.117, -0.008, -0.159, -0.353, -0.572, -0.815, -1.094, -1.407",\
"0.213, 0.19, 0.131, 0.004, -0.147, -0.336, -0.561, -0.804, -1.085, -1.393",\
"0.254, 0.236, 0.173, 0.048, -0.103, -0.296, -0.519, -0.764, -1.041, -1.35",\
"0.308, 0.286, 0.219, 0.1, -0.057, -0.249, -0.465, -0.716, -0.993, -1.306",\
"0.338, 0.324, 0.261, 0.127, -0.026, -0.214, -0.433, -0.678, -0.953, -1.267",\
"0.353, 0.335, 0.264, 0.14, -0.022, -0.21, -0.426, -0.671, -0.952, -1.26",\
"0.336, 0.313, 0.248, 0.116, -0.041, -0.227, -0.452, -0.7, -0.978, -1.281",\
"0.272, 0.255, 0.187, 0.062, -0.099, -0.289, -0.51, -0.755, -1.036, -1.341",\
"0.178, 0.161, 0.098, -0.038, -0.201, -0.384, -0.606, -0.854, -1.129, -1.44",\
"0.038, 0.02, -0.049, -0.176, -0.341, -0.524, -0.745, -0.988, -1.271, -1.581");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3316 ;
max_transition : 8.6 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "CLKN" ;
fall_power(pwr_tin_oload_10x10) {
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.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
values("0.1456, 0.145, 0.1443, 0.1441, 0.144, 0.1439, 0.1439, 0.1438, 0.1438, 0.1438",\
"0.1455, 0.145, 0.1444, 0.144, 0.144, 0.1439, 0.1438, 0.1438, 0.1438, 0.1438",\
"0.1456, 0.1449, 0.1443, 0.144, 0.1439, 0.1439, 0.1438, 0.1438, 0.1438, 0.1437",\
"0.1459, 0.1453, 0.1446, 0.1444, 0.1443, 0.1443, 0.1442, 0.1442, 0.1442, 0.1442",\
"0.1472, 0.1465, 0.1459, 0.1456, 0.1455, 0.1455, 0.1455, 0.1454, 0.1454, 0.1454",\
"0.1488, 0.1482, 0.1475, 0.1473, 0.1472, 0.1472, 0.1471, 0.1471, 0.147, 0.147",\
"0.151, 0.1503, 0.1496, 0.1493, 0.1493, 0.1491, 0.1491, 0.1491, 0.1491, 0.1491",\
"0.1539, 0.1532, 0.1525, 0.1521, 0.1521, 0.152, 0.152, 0.1519, 0.1519, 0.1519",\
"0.1572, 0.1565, 0.1557, 0.1554, 0.1553, 0.1552, 0.1552, 0.1552, 0.1552, 0.1552",\
"0.1609, 0.1602, 0.1594, 0.1591, 0.159, 0.1589, 0.1589, 0.1588, 0.1588, 0.1588");
}
rise_power(pwr_tin_oload_10x10) {
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.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
values("0.1931, 0.1924, 0.1912, 0.1911, 0.1914, 0.1921, 0.1926, 0.1931, 0.1943, 0.1976",\
"0.1931, 0.1923, 0.1914, 0.1913, 0.1915, 0.1922, 0.1928, 0.1933, 0.1943, 0.1983",\
"0.1932, 0.1925, 0.1916, 0.1912, 0.1916, 0.1923, 0.1928, 0.1933, 0.1946, 0.1984",\
"0.1941, 0.1933, 0.1923, 0.1922, 0.1925, 0.1932, 0.1937, 0.1942, 0.1954, 0.2002",\
"0.1957, 0.1948, 0.1939, 0.1937, 0.194, 0.1947, 0.1953, 0.1958, 0.197, 0.202",\
"0.1978, 0.1969, 0.1961, 0.1958, 0.1961, 0.1969, 0.1974, 0.1981, 0.1989, 0.2061",\
"0.1998, 0.1991, 0.1982, 0.1981, 0.1987, 0.199, 0.1997, 0.2002, 0.2015, 0.2103",\
"0.2027, 0.202, 0.201, 0.2007, 0.2011, 0.2022, 0.2027, 0.2029, 0.2046, 0.2176",\
"0.2056, 0.2048, 0.2041, 0.2037, 0.204, 0.2046, 0.2064, 0.2068, 0.209, 0.2291",\
"0.2087, 0.208, 0.2071, 0.207, 0.2073, 0.2074, 0.2085, 0.2108, 0.2149, 0.2494");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
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.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
values("0.7887, 0.8195, 0.9043, 1.034, 1.215, 1.463, 1.788, 2.197, 2.698, 3.295",\
"0.8056, 0.8363, 0.9212, 1.051, 1.231, 1.479, 1.805, 2.215, 2.715, 3.311",\
"0.8715, 0.9025, 0.9872, 1.117, 1.298, 1.545, 1.871, 2.281, 2.781, 3.377",\
"1, 1.031, 1.116, 1.245, 1.426, 1.674, 1.999, 2.409, 2.91, 3.506",\
"1.168, 1.198, 1.283, 1.413, 1.594, 1.842, 2.167, 2.577, 3.077, 3.673",\
"1.362, 1.393, 1.478, 1.608, 1.789, 2.037, 2.362, 2.772, 3.272, 3.869",\
"1.587, 1.618, 1.703, 1.832, 2.013, 2.261, 2.586, 2.996, 3.496, 4.093",\
"1.839, 1.87, 1.955, 2.084, 2.265, 2.513, 2.839, 3.248, 3.748, 4.345",\
"2.119, 2.15, 2.235, 2.365, 2.546, 2.794, 3.119, 3.529, 4.029, 4.625",\
"2.427, 2.458, 2.543, 2.673, 2.854, 3.102, 3.427, 3.837, 4.338, 4.934");
}
cell_rise(tmg_ntin_oload_10x10) {
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.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
values("1.007, 1.046, 1.167, 1.391, 1.738, 2.224, 2.864, 3.67, 4.653, 5.828",\
"1.024, 1.063, 1.184, 1.408, 1.755, 2.241, 2.881, 3.688, 4.67, 5.845",\
"1.09, 1.129, 1.251, 1.474, 1.821, 2.308, 2.947, 3.754, 4.737, 5.911",\
"1.221, 1.26, 1.382, 1.605, 1.952, 2.439, 3.078, 3.885, 4.867, 6.042",\
"1.395, 1.433, 1.555, 1.779, 2.126, 2.612, 3.252, 4.058, 5.041, 6.216",\
"1.598, 1.637, 1.758, 1.982, 2.329, 2.815, 3.455, 4.261, 5.246, 6.419",\
"1.832, 1.871, 1.993, 2.216, 2.563, 3.049, 3.69, 4.495, 5.481, 6.655",\
"2.096, 2.136, 2.257, 2.481, 2.828, 3.314, 3.954, 4.76, 5.743, 6.919",\
"2.389, 2.427, 2.55, 2.773, 3.12, 3.606, 4.246, 5.052, 6.036, 7.208",\
"2.707, 2.746, 2.868, 3.092, 3.439, 3.925, 4.565, 5.371, 6.355, 7.527");
}
fall_transition(tmg_ntin_oload_10x10) {
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.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
values("0.1027, 0.1338, 0.2298, 0.3975, 0.675, 1.083, 1.627, 2.318, 3.16, 4.161",\
"0.1023, 0.1338, 0.2291, 0.3972, 0.6752, 1.083, 1.628, 2.316, 3.159, 4.164",\
"0.103, 0.1336, 0.2298, 0.3972, 0.6754, 1.081, 1.628, 2.316, 3.159, 4.164",\
"0.1026, 0.1336, 0.2296, 0.3978, 0.6754, 1.083, 1.629, 2.317, 3.156, 4.159",\
"0.1022, 0.134, 0.2298, 0.3978, 0.674, 1.083, 1.629, 2.317, 3.159, 4.164",\
"0.1024, 0.1344, 0.2298, 0.3972, 0.6736, 1.082, 1.628, 2.316, 3.155, 4.162",\
"0.1026, 0.134, 0.2302, 0.398, 0.6754, 1.083, 1.626, 2.314, 3.154, 4.157",\
"0.1032, 0.1348, 0.2302, 0.3974, 0.6738, 1.082, 1.627, 2.313, 3.151, 4.156",\
"0.1038, 0.1348, 0.2308, 0.398, 0.6752, 1.084, 1.628, 2.313, 3.155, 4.153",\
"0.1042, 0.1352, 0.231, 0.3982, 0.6752, 1.084, 1.626, 2.314, 3.154, 4.153");
}
rise_transition(tmg_ntin_oload_10x10) {
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.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
values("0.1304, 0.1826, 0.3742, 0.7574, 1.368, 2.226, 3.356, 4.773, 6.506, 8.584",\
"0.1304, 0.1828, 0.3744, 0.7574, 1.368, 2.226, 3.356, 4.774, 6.506, 8.586",\
"0.1304, 0.183, 0.3742, 0.757, 1.368, 2.226, 3.356, 4.773, 6.506, 8.587",\
"0.1304, 0.1828, 0.3744, 0.7574, 1.368, 2.226, 3.356, 4.773, 6.506, 8.585",\
"0.1302, 0.1826, 0.3738, 0.7574, 1.368, 2.226, 3.356, 4.773, 6.506, 8.584",\
"0.1294, 0.1822, 0.3736, 0.757, 1.368, 2.223, 3.351, 4.774, 6.506, 8.574",\
"0.1298, 0.1826, 0.3742, 0.757, 1.367, 2.223, 3.351, 4.774, 6.509, 8.581",\
"0.1298, 0.1822, 0.3744, 0.758, 1.366, 2.223, 3.351, 4.77, 6.506, 8.579",\
"0.1292, 0.1822, 0.3734, 0.7574, 1.368, 2.224, 3.349, 4.771, 6.516, 8.572",\
"0.1296, 0.182, 0.3742, 0.7572, 1.368, 2.225, 3.349, 4.77, 6.504, 8.588");
}
}
}
}