blob: 1c25cd778cba13c0a3fa6abf83170b9dcbe2cd92 [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_2) {
area : 72.441600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0002266341" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0002324883" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000190443" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0001892517" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002324883" ;
}
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.337 ;
min_pulse_width_high : 0.604 ;
min_pulse_width_low : 0.655 ;
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.1313, 0.1308, 0.1314, 0.1372, 0.1493, 0.1683, 0.1949, 0.2298, \
0.2731, 0.3253");
}
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.08398, 0.08367, 0.08419, 0.08896, 0.09882, 0.1152, 0.1385, 0.1692, \
0.2074, 0.2535");
}
}
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.1312, 0.1307, 0.1314, 0.1372, 0.1493, 0.1683, 0.1949, 0.2296, \
0.273, 0.3253");
}
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.08407, 0.08381, 0.08429, 0.08909, 0.09888, 0.1153, 0.1386, 0.1692, \
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.581");
}
rise_constraint(scalar) {
values("0.604");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.655");
}
rise_constraint(scalar) {
values("0.512");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.26");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.337");
}
}
}
pin(D) {
capacitance : 0.002369 ;
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.02444, 0.02617, 0.03154, 0.04112, 0.05512, 0.07415, \
0.09848, 0.1284, 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.002823, 0.002601, 0.0036, 0.007613, 0.01539, 0.02718, 0.04328, \
0.06396, 0.08949, 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.08555, 0.08524, 0.08616, 0.09074, 0.09997, 0.1142, 0.1339, 0.1596, \
0.1914, 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.05569, 0.05558, 0.05644, 0.0601, 0.06718, 0.0785, 0.09449, 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.052, 0.069, 0.125, 0.234, 0.353, 0.491, 0.664, 0.85, 1.07, 1.324",\
"0.04, 0.055, 0.112, 0.218, 0.332, 0.477, 0.638, 0.834, 1.052, 1.309",\
"-0.034, -0.018, 0.04, 0.144, 0.261, 0.405, 0.574, 0.765, 0.983, 1.233",\
"-0.162, -0.141, -0.091, 0.016, 0.132, 0.271, 0.436, 0.63, 0.845, 1.094",\
"-0.322, -0.309, -0.251, -0.152, -0.04, 0.101, 0.262, 0.449, 0.66, 0.91",\
"-0.526, -0.506, -0.449, -0.351, -0.24, -0.113, 0.049, 0.233, 0.444, 0.685",\
"-0.766, -0.741, -0.692, -0.595, -0.496, -0.365, -0.21, -0.022, 0.18, 0.418",\
"-1.039, -1.025, -0.976, -0.883, -0.782, -0.654, -0.504, -0.332, -0.125, 0.105",\
"-1.365, -1.342, -1.297, -1.212, -1.114, -0.999, -0.854, -0.679, -0.483, -0.244",\
"-1.725, -1.708, -1.661, -1.58, -1.493, -1.383, -1.246, -1.078, -0.882, -0.655");
}
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.223, 0.24, 0.307, 0.434, 0.591, 0.773, 0.985, 1.222, 1.484, 1.783",\
"0.21, 0.23, 0.296, 0.42, 0.579, 0.76, 0.972, 1.21, 1.478, 1.771",\
"0.181, 0.196, 0.26, 0.38, 0.539, 0.724, 0.936, 1.175, 1.446, 1.737",\
"0.165, 0.187, 0.245, 0.368, 0.522, 0.703, 0.915, 1.157, 1.421, 1.715",\
"0.176, 0.193, 0.253, 0.375, 0.532, 0.714, 0.92, 1.16, 1.426, 1.72",\
"0.217, 0.236, 0.298, 0.416, 0.574, 0.75, 0.958, 1.193, 1.46, 1.759",\
"0.305, 0.321, 0.377, 0.504, 0.648, 0.827, 1.034, 1.266, 1.533, 1.831",\
"0.436, 0.456, 0.51, 0.627, 0.765, 0.946, 1.145, 1.379, 1.644, 1.94",\
"0.625, 0.649, 0.696, 0.806, 0.929, 1.102, 1.309, 1.536, 1.797, 2.088",\
"0.878, 0.902, 0.945, 1.038, 1.158, 1.32, 1.516, 1.739, 2.001, 2.288");
}
}
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.424, 0.409, 0.337, 0.22, 0.087, -0.071, -0.251, -0.461, -0.696, -0.954",\
"0.445, 0.429, 0.35, 0.245, 0.108, -0.053, -0.236, -0.446, -0.675, -0.937",\
"0.511, 0.497, 0.425, 0.309, 0.175, 0.017, -0.166, -0.373, -0.611, -0.868",\
"0.653, 0.633, 0.561, 0.452, 0.312, 0.153, -0.026, -0.235, -0.469, -0.735",\
"0.851, 0.834, 0.765, 0.644, 0.505, 0.347, 0.162, -0.05, -0.282, -0.546",\
"1.096, 1.084, 1.011, 0.893, 0.749, 0.583, 0.396, 0.188, -0.051, -0.31",\
"1.398, 1.384, 1.308, 1.185, 1.04, 0.871, 0.686, 0.471, 0.233, -0.025",\
"1.759, 1.741, 1.666, 1.538, 1.39, 1.219, 1.022, 0.807, 0.57, 0.31",\
"2.168, 2.16, 2.075, 1.946, 1.796, 1.612, 1.415, 1.198, 0.957, 0.695",\
"2.642, 2.625, 2.542, 2.409, 2.251, 2.063, 1.867, 1.645, 1.404, 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.212, 0.197, 0.133, 0.02, -0.136, -0.324, -0.546, -0.791, -1.07, -1.371",\
"0.227, 0.214, 0.148, 0.033, -0.124, -0.312, -0.527, -0.774, -1.06, -1.357",\
"0.27, 0.254, 0.189, 0.066, -0.077, -0.27, -0.492, -0.739, -1.016, -1.324",\
"0.326, 0.305, 0.236, 0.115, -0.036, -0.22, -0.435, -0.689, -0.967, -1.278",\
"0.36, 0.34, 0.278, 0.148, -0.006, -0.188, -0.41, -0.656, -0.934, -1.243",\
"0.365, 0.353, 0.283, 0.154, -0.005, -0.189, -0.406, -0.654, -0.931, -1.235",\
"0.344, 0.33, 0.266, 0.136, -0.024, -0.214, -0.428, -0.68, -0.955, -1.267",\
"0.29, 0.278, 0.205, 0.075, -0.084, -0.272, -0.491, -0.738, -1.009, -1.325",\
"0.194, 0.177, 0.106, -0.02, -0.182, -0.374, -0.588, -0.841, -1.113, -1.422",\
"0.054, 0.041, -0.033, -0.159, -0.323, -0.511, -0.73, -0.98, -1.253, -1.565");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.6438 ;
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.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
values("0.2008, 0.1972, 0.1932, 0.1912, 0.1904, 0.1899, 0.1896, 0.1894, 0.1893, 0.1892",\
"0.2008, 0.1972, 0.1932, 0.1913, 0.1904, 0.19, 0.1897, 0.1895, 0.1894, 0.1893",\
"0.2006, 0.1971, 0.193, 0.1912, 0.1903, 0.1899, 0.1896, 0.1894, 0.1893, 0.1892",\
"0.2011, 0.1977, 0.1936, 0.1917, 0.1908, 0.1904, 0.19, 0.1899, 0.1897, 0.1897",\
"0.2024, 0.1989, 0.1947, 0.1928, 0.192, 0.1915, 0.1913, 0.1911, 0.191, 0.1909",\
"0.2041, 0.2005, 0.1964, 0.1946, 0.1935, 0.1931, 0.1928, 0.1926, 0.1925, 0.1924",\
"0.2063, 0.2027, 0.1985, 0.1967, 0.1958, 0.1953, 0.195, 0.1948, 0.1947, 0.1946",\
"0.2093, 0.2056, 0.2012, 0.1993, 0.1984, 0.1979, 0.1977, 0.1974, 0.1973, 0.1972",\
"0.2127, 0.209, 0.2047, 0.2027, 0.2018, 0.2013, 0.201, 0.2008, 0.2007, 0.2006",\
"0.2167, 0.2129, 0.2085, 0.2066, 0.2056, 0.2051, 0.2047, 0.2045, 0.2044, 0.2043");
}
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.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
values("0.2394, 0.2376, 0.2348, 0.2343, 0.2348, 0.236, 0.2373, 0.2383, 0.2404, 0.2478",\
"0.2394, 0.2375, 0.235, 0.2344, 0.2348, 0.2364, 0.2373, 0.2384, 0.2403, 0.2471",\
"0.2394, 0.2372, 0.2347, 0.2341, 0.2345, 0.2359, 0.2372, 0.2381, 0.2406, 0.2482",\
"0.2405, 0.2386, 0.2356, 0.2353, 0.2357, 0.237, 0.2386, 0.2392, 0.241, 0.2506",\
"0.2421, 0.24, 0.2376, 0.2369, 0.2373, 0.2387, 0.2396, 0.2406, 0.2427, 0.2538",\
"0.2441, 0.2421, 0.2394, 0.2389, 0.2394, 0.2407, 0.2422, 0.243, 0.2449, 0.2591",\
"0.2464, 0.2444, 0.2417, 0.2413, 0.2422, 0.2432, 0.2443, 0.2454, 0.2479, 0.2651",\
"0.2495, 0.2474, 0.2444, 0.2439, 0.2445, 0.247, 0.2478, 0.2483, 0.2511, 0.2776",\
"0.2524, 0.2503, 0.2478, 0.2469, 0.2474, 0.249, 0.2518, 0.2527, 0.2568, 0.2962",\
"0.2555, 0.2536, 0.2509, 0.2503, 0.2508, 0.2516, 0.2531, 0.2577, 0.2663, 0.3357");
}
}
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.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
values("0.8586, 0.8966, 0.9943, 1.132, 1.314, 1.557, 1.873, 2.272, 2.759, 3.338",\
"0.8754, 0.9135, 1.011, 1.149, 1.331, 1.574, 1.89, 2.289, 2.775, 3.355",\
"0.9414, 0.9796, 1.077, 1.215, 1.397, 1.64, 1.956, 2.355, 2.841, 3.422",\
"1.07, 1.108, 1.206, 1.343, 1.525, 1.768, 2.085, 2.483, 2.97, 3.551",\
"1.239, 1.277, 1.374, 1.512, 1.694, 1.937, 2.254, 2.652, 3.139, 3.719",\
"1.434, 1.472, 1.57, 1.708, 1.89, 2.133, 2.449, 2.848, 3.334, 3.914",\
"1.66, 1.698, 1.796, 1.933, 2.115, 2.358, 2.675, 3.073, 3.56, 4.14",\
"1.914, 1.952, 2.049, 2.187, 2.369, 2.612, 2.929, 3.327, 3.813, 4.393",\
"2.196, 2.234, 2.332, 2.469, 2.651, 2.894, 3.211, 3.61, 4.096, 4.676",\
"2.506, 2.544, 2.642, 2.78, 2.962, 3.205, 3.522, 3.92, 4.407, 4.987");
}
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.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
values("0.9915, 1.034, 1.156, 1.381, 1.729, 2.217, 2.86, 3.67, 4.658, 5.837",\
"1.008, 1.05, 1.173, 1.397, 1.746, 2.234, 2.876, 3.686, 4.676, 5.855",\
"1.074, 1.116, 1.239, 1.463, 1.811, 2.3, 2.943, 3.753, 4.741, 5.919",\
"1.206, 1.247, 1.37, 1.594, 1.943, 2.431, 3.074, 3.884, 4.873, 6.053",\
"1.38, 1.422, 1.545, 1.769, 2.117, 2.606, 3.248, 4.058, 5.045, 6.223",\
"1.583, 1.625, 1.748, 1.972, 2.32, 2.809, 3.451, 4.261, 5.25, 6.43",\
"1.817, 1.859, 1.982, 2.206, 2.554, 3.043, 3.685, 4.495, 5.484, 6.664",\
"2.084, 2.125, 2.247, 2.471, 2.82, 3.308, 3.951, 4.761, 5.75, 6.93",\
"2.376, 2.417, 2.54, 2.764, 3.113, 3.601, 4.244, 5.053, 6.041, 7.219",\
"2.697, 2.738, 2.86, 3.085, 3.433, 3.921, 4.564, 5.375, 6.363, 7.539");
}
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.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
values("0.1058, 0.142, 0.243, 0.4024, 0.6628, 1.051, 1.577, 2.246, 3.064, 4.043",\
"0.1058, 0.1418, 0.243, 0.4024, 0.6628, 1.051, 1.577, 2.246, 3.064, 4.043",\
"0.1058, 0.1416, 0.2428, 0.402, 0.6618, 1.05, 1.577, 2.246, 3.065, 4.037",\
"0.1058, 0.1422, 0.243, 0.4026, 0.663, 1.051, 1.577, 2.245, 3.065, 4.042",\
"0.106, 0.1416, 0.2432, 0.4024, 0.6614, 1.05, 1.576, 2.247, 3.064, 4.042",\
"0.106, 0.142, 0.2432, 0.402, 0.6616, 1.05, 1.575, 2.245, 3.064, 4.041",\
"0.106, 0.1426, 0.2436, 0.402, 0.6618, 1.049, 1.575, 2.244, 3.061, 4.041",\
"0.1064, 0.1428, 0.2438, 0.4028, 0.6616, 1.051, 1.576, 2.243, 3.058, 4.036",\
"0.1068, 0.1426, 0.244, 0.4026, 0.6616, 1.05, 1.575, 2.245, 3.061, 4.031",\
"0.1074, 0.1432, 0.2446, 0.4026, 0.662, 1.051, 1.575, 2.245, 3.059, 4.032");
}
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.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
values("0.1056, 0.1592, 0.3486, 0.735, 1.346, 2.208, 3.343, 4.766, 6.515, 8.588",\
"0.1054, 0.1594, 0.3484, 0.7334, 1.348, 2.208, 3.338, 4.769, 6.512, 8.587",\
"0.1056, 0.1594, 0.3484, 0.735, 1.346, 2.209, 3.343, 4.766, 6.515, 8.588",\
"0.1054, 0.159, 0.3484, 0.735, 1.345, 2.209, 3.34, 4.768, 6.511, 8.594",\
"0.105, 0.159, 0.348, 0.7338, 1.347, 2.207, 3.345, 4.768, 6.515, 8.586",\
"0.1048, 0.1588, 0.3482, 0.7346, 1.347, 2.209, 3.337, 4.769, 6.51, 8.595",\
"0.1046, 0.1588, 0.348, 0.7346, 1.347, 2.207, 3.339, 4.769, 6.512, 8.592",\
"0.1044, 0.1586, 0.3482, 0.7338, 1.347, 2.205, 3.337, 4.768, 6.508, 8.589",\
"0.1042, 0.1588, 0.3482, 0.7344, 1.347, 2.209, 3.337, 4.764, 6.51, 8.585",\
"0.1046, 0.1584, 0.348, 0.7348, 1.346, 2.207, 3.343, 4.766, 6.506, 8.59");
}
}
}
}