blob: c23dd3d0323a6a45b1aa5a265000c9a94eca7872 [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.001100025" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00115011" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.001187955" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00119484" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00119484" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003265 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
min_period : 2.139 ;
min_pulse_width_high : 0.96 ;
min_pulse_width_low : 1.071 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2344, 0.2338, 0.235, 0.2433, 0.2624, 0.2932, 0.3365, 0.3932, \
0.4636, 0.5483");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1822, 0.1818, 0.1822, 0.1887, 0.2045, 0.2307, 0.2686, 0.3188, \
0.3816, 0.4577");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2379, 0.2375, 0.2385, 0.2469, 0.2661, 0.2967, 0.34, 0.3966, \
0.4669, 0.5516");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1819, 0.1815, 0.1819, 0.1884, 0.2044, 0.2306, 0.2685, 0.3187, \
0.3817, 0.4578");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.071");
}
rise_constraint(scalar) {
values("0.567");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.708");
}
rise_constraint(scalar) {
values("0.96");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.139");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.985");
}
}
}
pin(D) {
capacitance : 0.002378 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1307, 0.1301, 0.1295, 0.132, 0.1397, 0.1534, 0.1728, 0.1982, \
0.23, 0.2683");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.09023, 0.09051, 0.09117, 0.09423, 0.1006, 0.1111, 0.1262, 0.1463, \
0.1716, 0.2023");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.007543, 0.007545, 0.007547, 0.007552, 0.007552, 0.00756, 0.007556, \
0.007553, 0.007546, 0.007534");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("-0.004745, -0.004748, -0.004753, -0.004747, -0.004754, -0.004783, \
-0.004804, -0.004815, -0.004829, -0.004847");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.132, 0.14, 0.182, 0.244, 0.317, 0.381, 0.424, 0.457, 0.472, 0.474",\
"0.125, 0.135, 0.17, 0.239, 0.306, 0.368, 0.414, 0.45, 0.468, 0.466",\
"0.093, 0.103, 0.139, 0.208, 0.278, 0.337, 0.384, 0.419, 0.433, 0.434",\
"0.002, 0.013, 0.042, 0.111, 0.19, 0.244, 0.293, 0.325, 0.348, 0.345",\
"-0.159, -0.149, -0.116, -0.039, 0.028, 0.091, 0.145, 0.174, 0.191, 0.188",\
"-0.362, -0.348, -0.32, -0.249, -0.17, -0.107, -0.066, -0.031, -0.015, -0.017",\
"-0.606, -0.592, -0.564, -0.491, -0.419, -0.362, -0.312, -0.283, -0.264, -0.277",\
"-0.885, -0.883, -0.849, -0.781, -0.71, -0.654, -0.606, -0.582, -0.567, -0.58",\
"-1.225, -1.22, -1.187, -1.123, -1.046, -0.991, -0.946, -0.926, -0.91, -0.928",\
"-1.609, -1.6, -1.576, -1.509, -1.437, -1.385, -1.34, -1.318, -1.309, -1.32");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.063, 0.067, 0.104, 0.164, 0.216, 0.256, 0.284, 0.301, 0.302, 0.295",\
"0.058, 0.06, 0.096, 0.155, 0.208, 0.25, 0.279, 0.292, 0.296, 0.286",\
"0.034, 0.038, 0.077, 0.138, 0.189, 0.231, 0.264, 0.28, 0.29, 0.284",\
"0.018, 0.021, 0.062, 0.117, 0.172, 0.213, 0.243, 0.264, 0.277, 0.272",\
"0.018, 0.027, 0.06, 0.12, 0.174, 0.214, 0.248, 0.265, 0.269, 0.257",\
"0.052, 0.056, 0.084, 0.146, 0.193, 0.232, 0.256, 0.274, 0.277, 0.259",\
"0.115, 0.119, 0.149, 0.211, 0.252, 0.288, 0.305, 0.317, 0.317, 0.295",\
"0.225, 0.23, 0.263, 0.319, 0.362, 0.384, 0.403, 0.403, 0.395, 0.373",\
"0.391, 0.39, 0.424, 0.477, 0.515, 0.539, 0.544, 0.544, 0.528, 0.5",\
"0.61, 0.608, 0.64, 0.692, 0.72, 0.737, 0.738, 0.73, 0.708, 0.669");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.475, 0.463, 0.426, 0.351, 0.271, 0.207, 0.143, 0.108, 0.077, 0.073",\
"0.485, 0.467, 0.429, 0.365, 0.276, 0.204, 0.147, 0.111, 0.087, 0.084",\
"0.515, 0.502, 0.465, 0.391, 0.31, 0.239, 0.179, 0.14, 0.118, 0.112",\
"0.616, 0.599, 0.566, 0.494, 0.404, 0.341, 0.285, 0.242, 0.219, 0.215",\
"0.797, 0.784, 0.747, 0.677, 0.589, 0.52, 0.459, 0.417, 0.398, 0.388",\
"1.056, 1.039, 1.003, 0.931, 0.853, 0.776, 0.72, 0.681, 0.651, 0.647",\
"1.375, 1.366, 1.322, 1.251, 1.173, 1.099, 1.041, 1.003, 0.97, 0.96",\
"1.771, 1.75, 1.715, 1.64, 1.562, 1.491, 1.43, 1.388, 1.357, 1.35",\
"2.219, 2.203, 2.166, 2.092, 2.008, 1.944, 1.885, 1.837, 1.807, 1.797",\
"2.728, 2.718, 2.676, 2.61, 2.531, 2.45, 2.391, 2.349, 2.318, 2.307");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.458, 0.443, 0.406, 0.327, 0.246, 0.178, 0.122, 0.098, 0.084, 0.09",\
"0.465, 0.452, 0.413, 0.331, 0.25, 0.184, 0.133, 0.102, 0.087, 0.093",\
"0.496, 0.492, 0.444, 0.371, 0.281, 0.218, 0.164, 0.13, 0.111, 0.121",\
"0.545, 0.54, 0.496, 0.416, 0.333, 0.256, 0.203, 0.17, 0.154, 0.16",\
"0.582, 0.575, 0.527, 0.455, 0.37, 0.302, 0.242, 0.204, 0.189, 0.193",\
"0.593, 0.585, 0.539, 0.463, 0.381, 0.304, 0.249, 0.218, 0.196, 0.198",\
"0.57, 0.556, 0.512, 0.442, 0.352, 0.278, 0.225, 0.195, 0.177, 0.178",\
"0.505, 0.489, 0.455, 0.369, 0.289, 0.218, 0.165, 0.131, 0.119, 0.124",\
"0.394, 0.382, 0.337, 0.262, 0.176, 0.106, 0.055, 0.019, 0.013, 0.023",\
"0.227, 0.217, 0.179, 0.098, 0.013, -0.059, -0.113, -0.136, -0.148, -0.133");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.2469 ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002697, 0.008654, 0.02003, 0.03775, 0.06262, 0.09535, 0.1366, 0.1869, 0.2469");
values("0.2178, 0.216, 0.2133, 0.2116, 0.2105, 0.2099, 0.2095, 0.2093, 0.2091, 0.209",\
"0.2177, 0.2161, 0.2134, 0.2116, 0.2106, 0.21, 0.2096, 0.2093, 0.2091, 0.209",\
"0.2177, 0.216, 0.2134, 0.2117, 0.2106, 0.21, 0.2097, 0.2094, 0.2091, 0.209",\
"0.2182, 0.2164, 0.2137, 0.212, 0.2109, 0.2103, 0.21, 0.2097, 0.2096, 0.2094",\
"0.219, 0.2173, 0.2147, 0.2129, 0.2118, 0.2113, 0.2109, 0.2106, 0.2104, 0.2103",\
"0.2203, 0.2185, 0.2158, 0.2141, 0.2131, 0.2124, 0.2121, 0.2118, 0.2116, 0.2115",\
"0.2215, 0.2198, 0.2172, 0.2153, 0.2144, 0.2138, 0.2133, 0.2131, 0.2129, 0.2128",\
"0.223, 0.2213, 0.2186, 0.2169, 0.2158, 0.2153, 0.2149, 0.2146, 0.2144, 0.2142",\
"0.2247, 0.2231, 0.2205, 0.2186, 0.2176, 0.217, 0.2167, 0.2163, 0.2161, 0.216",\
"0.2265, 0.2248, 0.2221, 0.2202, 0.2194, 0.2188, 0.2184, 0.218, 0.2178, 0.2177");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002697, 0.008654, 0.02003, 0.03775, 0.06262, 0.09535, 0.1366, 0.1869, 0.2469");
values("0.2259, 0.2239, 0.2198, 0.2165, 0.2148, 0.2144, 0.2148, 0.2153, 0.2161, 0.2174",\
"0.2259, 0.224, 0.2201, 0.2168, 0.2149, 0.2146, 0.2149, 0.2156, 0.2162, 0.2176",\
"0.2257, 0.2238, 0.2199, 0.2167, 0.2149, 0.2145, 0.2148, 0.2153, 0.2161, 0.2176",\
"0.2261, 0.2242, 0.2202, 0.217, 0.2151, 0.2147, 0.2152, 0.2155, 0.2164, 0.2187",\
"0.2271, 0.2251, 0.2211, 0.218, 0.2162, 0.2158, 0.2161, 0.2166, 0.2172, 0.2195",\
"0.2286, 0.2267, 0.2227, 0.2196, 0.2177, 0.2173, 0.2176, 0.2181, 0.2187, 0.2213",\
"0.2308, 0.2288, 0.2247, 0.2216, 0.22, 0.2193, 0.2198, 0.2203, 0.2208, 0.2248",\
"0.2333, 0.2314, 0.2273, 0.2238, 0.2222, 0.2226, 0.2226, 0.223, 0.2242, 0.2276",\
"0.2364, 0.2344, 0.2302, 0.227, 0.2247, 0.2247, 0.226, 0.2272, 0.2273, 0.2325",\
"0.2403, 0.2383, 0.234, 0.2307, 0.2288, 0.2282, 0.2283, 0.2302, 0.2328, 0.2407");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002697, 0.008654, 0.02003, 0.03775, 0.06262, 0.09535, 0.1366, 0.1869, 0.2469");
values("1.116, 1.144, 1.226, 1.355, 1.535, 1.777, 2.093, 2.491, 2.977, 3.555",\
"1.125, 1.154, 1.236, 1.365, 1.545, 1.787, 2.103, 2.5, 2.986, 3.564",\
"1.162, 1.19, 1.273, 1.402, 1.581, 1.824, 2.14, 2.537, 3.023, 3.601",\
"1.235, 1.263, 1.345, 1.474, 1.654, 1.896, 2.212, 2.61, 3.095, 3.674",\
"1.318, 1.346, 1.429, 1.558, 1.738, 1.98, 2.296, 2.693, 3.179, 3.758",\
"1.393, 1.421, 1.503, 1.633, 1.812, 2.055, 2.371, 2.768, 3.254, 3.832",\
"1.458, 1.486, 1.568, 1.697, 1.877, 2.119, 2.435, 2.833, 3.319, 3.897",\
"1.509, 1.537, 1.619, 1.748, 1.928, 2.17, 2.486, 2.884, 3.369, 3.947",\
"1.543, 1.571, 1.654, 1.783, 1.963, 2.205, 2.521, 2.918, 3.404, 3.982",\
"1.56, 1.588, 1.67, 1.799, 1.979, 2.221, 2.537, 2.934, 3.42, 3.998");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002697, 0.008654, 0.02003, 0.03775, 0.06262, 0.09535, 0.1366, 0.1869, 0.2469");
values("1.276, 1.309, 1.41, 1.588, 1.861, 2.247, 2.756, 3.396, 4.179, 5.113",\
"1.286, 1.318, 1.42, 1.597, 1.871, 2.257, 2.765, 3.406, 4.189, 5.122",\
"1.322, 1.355, 1.456, 1.634, 1.908, 2.294, 2.802, 3.442, 4.225, 5.158",\
"1.395, 1.427, 1.529, 1.706, 1.98, 2.366, 2.874, 3.515, 4.298, 5.232",\
"1.48, 1.513, 1.614, 1.792, 2.066, 2.452, 2.96, 3.6, 4.383, 5.317",\
"1.558, 1.591, 1.692, 1.87, 2.144, 2.529, 3.038, 3.679, 4.461, 5.393",\
"1.628, 1.661, 1.762, 1.94, 2.214, 2.599, 3.108, 3.748, 4.531, 5.464",\
"1.687, 1.72, 1.821, 1.999, 2.272, 2.658, 3.166, 3.807, 4.59, 5.523",\
"1.73, 1.763, 1.865, 2.042, 2.316, 2.701, 3.209, 3.851, 4.633, 5.566",\
"1.758, 1.791, 1.892, 2.07, 2.344, 2.729, 3.237, 3.878, 4.66, 5.593");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002697, 0.008654, 0.02003, 0.03775, 0.06262, 0.09535, 0.1366, 0.1869, 0.2469");
values("0.138, 0.1682, 0.2604, 0.4288, 0.6954, 1.087, 1.615, 2.285, 3.107, 4.089",\
"0.1388, 0.1678, 0.2612, 0.4284, 0.6942, 1.086, 1.613, 2.286, 3.109, 4.089",\
"0.1384, 0.1678, 0.2612, 0.4284, 0.6944, 1.086, 1.614, 2.286, 3.109, 4.089",\
"0.1384, 0.1678, 0.2614, 0.4282, 0.6946, 1.086, 1.614, 2.285, 3.107, 4.088",\
"0.1386, 0.1678, 0.2614, 0.4282, 0.6948, 1.086, 1.615, 2.287, 3.108, 4.086",\
"0.1382, 0.1682, 0.2606, 0.4276, 0.6954, 1.085, 1.615, 2.284, 3.109, 4.089",\
"0.139, 0.1682, 0.2618, 0.4276, 0.6944, 1.086, 1.615, 2.287, 3.107, 4.09",\
"0.139, 0.168, 0.2618, 0.4282, 0.6942, 1.086, 1.614, 2.283, 3.105, 4.084",\
"0.1384, 0.168, 0.2616, 0.4278, 0.695, 1.086, 1.615, 2.285, 3.102, 4.079",\
"0.1382, 0.1676, 0.2612, 0.4274, 0.6946, 1.088, 1.614, 2.285, 3.105, 4.082");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002697, 0.008654, 0.02003, 0.03775, 0.06262, 0.09535, 0.1366, 0.1869, 0.2469");
values("0.1704, 0.2136, 0.3632, 0.6616, 1.152, 1.847, 2.761, 3.917, 5.327, 6.996",\
"0.1704, 0.2138, 0.3624, 0.6622, 1.152, 1.845, 2.763, 3.914, 5.327, 6.993",\
"0.17, 0.2134, 0.3622, 0.6622, 1.149, 1.844, 2.763, 3.909, 5.325, 6.996",\
"0.1706, 0.2134, 0.3628, 0.662, 1.151, 1.845, 2.758, 3.911, 5.324, 6.993",\
"0.1704, 0.2134, 0.3628, 0.6622, 1.15, 1.845, 2.762, 3.91, 5.317, 6.996",\
"0.17, 0.2132, 0.3626, 0.6622, 1.15, 1.846, 2.763, 3.917, 5.321, 6.992",\
"0.1702, 0.2136, 0.3626, 0.661, 1.15, 1.846, 2.763, 3.914, 5.318, 6.995",\
"0.1698, 0.214, 0.363, 0.6618, 1.15, 1.844, 2.761, 3.916, 5.326, 6.997",\
"0.1706, 0.2138, 0.3628, 0.6618, 1.15, 1.846, 2.76, 3.911, 5.327, 7.008",\
"0.1702, 0.2142, 0.3634, 0.6614, 1.151, 1.845, 2.76, 3.91, 5.319, 7.001");
}
}
}
}