blob: 0df716dbe8e271f7f37c84aad20f62c9264e7d0f [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_4) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.00015795" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0001704" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.000177438" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.000171582" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000177438" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003279 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
min_period : 2.621 ;
min_pulse_width_high : 1.301 ;
min_pulse_width_low : 1.263 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.1001, 0.09978, 0.09932, 0.1003, 0.1033, 0.1085, 0.1159, 0.1259, \
0.1387, 0.1544");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.07731, 0.077, 0.07662, 0.07711, 0.07931, 0.0836, 0.09005, 0.09891, \
0.1102, 0.1241");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.1015, 0.1011, 0.1006, 0.1016, 0.1046, 0.1097, 0.1171, 0.1271, \
0.1399, 0.1556");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.07739, 0.07709, 0.07664, 0.07716, 0.07942, 0.08362, 0.09011, \
0.09904, 0.1103, 0.1242");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.263");
}
rise_constraint(scalar) {
values("0.731");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.877");
}
rise_constraint(scalar) {
values("1.301");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.516");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.621");
}
}
}
pin(D) {
capacitance : 0.0023 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.05149, 0.05107, 0.05044, 0.05073, 0.05242, 0.05532, 0.05927, \
0.06434, 0.07067, 0.07842");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.0376, 0.03769, 0.03766, 0.038, 0.03901, 0.04099, 0.04403, 0.04816, \
0.05348, 0.06005");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.003309, 0.003299, 0.003305, 0.003309, 0.003305, 0.003313, 0.003308, \
0.003305, 0.003299, 0.003287");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("-0.002033, -0.002033, -0.002069, -0.002101, -0.002121, -0.002127, \
-0.002136, -0.002145, -0.002154, -0.002166");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.137, 0.152, 0.221, 0.341, 0.442, 0.527, 0.576, 0.614, 0.617, 0.593",\
"0.12, 0.138, 0.21, 0.325, 0.428, 0.508, 0.566, 0.595, 0.598, 0.573",\
"0.058, 0.075, 0.148, 0.265, 0.365, 0.443, 0.501, 0.536, 0.535, 0.512",\
"-0.092, -0.077, -0.006, 0.113, 0.216, 0.295, 0.348, 0.384, 0.386, 0.361",\
"-0.297, -0.285, -0.22, -0.099, -0, 0.083, 0.136, 0.176, 0.173, 0.151",\
"-0.563, -0.551, -0.483, -0.368, -0.27, -0.191, -0.134, -0.099, -0.094, -0.114",\
"-0.879, -0.868, -0.809, -0.695, -0.599, -0.522, -0.466, -0.425, -0.431, -0.448",\
"-1.247, -1.243, -1.18, -1.077, -0.983, -0.905, -0.852, -0.815, -0.82, -0.841",\
"-1.686, -1.681, -1.626, -1.522, -1.434, -1.357, -1.305, -1.268, -1.268, -1.293",\
"-2.18, -2.183, -2.127, -2.024, -1.946, -1.868, -1.823, -1.78, -1.788, -1.807");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.057, 0.081, 0.148, 0.227, 0.287, 0.327, 0.338, 0.338, 0.304, 0.249",\
"0.041, 0.06, 0.129, 0.21, 0.276, 0.309, 0.329, 0.331, 0.298, 0.247",\
"-0.003, 0.021, 0.093, 0.174, 0.236, 0.283, 0.302, 0.3, 0.278, 0.226",\
"-0.027, -0.007, 0.065, 0.15, 0.21, 0.258, 0.279, 0.283, 0.254, 0.204",\
"-0.023, -0.001, 0.064, 0.144, 0.21, 0.254, 0.273, 0.27, 0.245, 0.197",\
"0.01, 0.029, 0.099, 0.181, 0.236, 0.286, 0.3, 0.296, 0.272, 0.223",\
"0.085, 0.107, 0.176, 0.249, 0.303, 0.347, 0.358, 0.35, 0.321, 0.27",\
"0.221, 0.235, 0.304, 0.376, 0.423, 0.456, 0.461, 0.451, 0.417, 0.362",\
"0.412, 0.425, 0.493, 0.55, 0.595, 0.626, 0.626, 0.605, 0.565, 0.503",\
"0.67, 0.679, 0.748, 0.798, 0.833, 0.855, 0.847, 0.826, 0.777, 0.711");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.578, 0.555, 0.477, 0.336, 0.214, 0.11, 0.037, -0.01, -0.032, -0.017",\
"0.588, 0.566, 0.489, 0.35, 0.227, 0.124, 0.053, 0.001, -0.018, 0",\
"0.652, 0.637, 0.556, 0.415, 0.289, 0.187, 0.119, 0.069, 0.047, 0.067",\
"0.823, 0.804, 0.728, 0.592, 0.458, 0.364, 0.287, 0.233, 0.217, 0.236",\
"1.108, 1.082, 1.003, 0.865, 0.74, 0.638, 0.57, 0.517, 0.499, 0.515",\
"1.466, 1.44, 1.367, 1.229, 1.101, 1.001, 0.926, 0.873, 0.852, 0.871",\
"1.874, 1.848, 1.771, 1.631, 1.508, 1.408, 1.33, 1.285, 1.264, 1.274",\
"2.343, 2.322, 2.248, 2.107, 1.986, 1.882, 1.805, 1.753, 1.739, 1.746",\
"2.891, 2.872, 2.789, 2.653, 2.527, 2.428, 2.356, 2.299, 2.279, 2.291",\
"3.516, 3.496, 3.414, 3.276, 3.15, 3.052, 2.976, 2.923, 2.902, 2.916");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.504, 0.477, 0.392, 0.26, 0.16, 0.074, 0.032, 0.02, 0.029, 0.082",\
"0.524, 0.497, 0.414, 0.281, 0.17, 0.095, 0.047, 0.032, 0.044, 0.1",\
"0.591, 0.569, 0.482, 0.345, 0.236, 0.155, 0.108, 0.085, 0.099, 0.149",\
"0.682, 0.654, 0.567, 0.442, 0.321, 0.245, 0.192, 0.165, 0.173, 0.215",\
"0.753, 0.721, 0.633, 0.504, 0.395, 0.302, 0.253, 0.227, 0.229, 0.265",\
"0.771, 0.743, 0.658, 0.533, 0.419, 0.327, 0.278, 0.248, 0.247, 0.287",\
"0.746, 0.722, 0.638, 0.505, 0.389, 0.309, 0.25, 0.22, 0.228, 0.266",\
"0.681, 0.655, 0.575, 0.443, 0.336, 0.238, 0.189, 0.167, 0.167, 0.202",\
"0.566, 0.532, 0.457, 0.326, 0.209, 0.126, 0.073, 0.048, 0.05, 0.088",\
"0.388, 0.36, 0.274, 0.148, 0.045, -0.048, -0.103, -0.13, -0.122, -0.085");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.435 ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.0109, 0.04565, 0.112, 0.2154, 0.3604, 0.5513, 0.7917, 1.085, 1.435");
values("0.1991, 0.1983, 0.1991, 0.2012, 0.2026, 0.2034, 0.2039, 0.2042, 0.2045, 0.2046",\
"0.1991, 0.1982, 0.1991, 0.2011, 0.2026, 0.2035, 0.204, 0.2044, 0.2045, 0.2047",\
"0.1991, 0.1981, 0.1991, 0.2011, 0.2025, 0.2034, 0.2038, 0.2042, 0.2044, 0.2045",\
"0.1992, 0.1983, 0.1992, 0.2013, 0.2027, 0.2035, 0.204, 0.2044, 0.2046, 0.2047",\
"0.1995, 0.1986, 0.1996, 0.2016, 0.203, 0.2038, 0.2043, 0.2047, 0.2049, 0.205",\
"0.1996, 0.1988, 0.1998, 0.2018, 0.2031, 0.204, 0.2045, 0.2048, 0.205, 0.2052",\
"0.1998, 0.199, 0.1999, 0.202, 0.2033, 0.2042, 0.2047, 0.2051, 0.2053, 0.2054",\
"0.2002, 0.1994, 0.2002, 0.2023, 0.2038, 0.2046, 0.2051, 0.2054, 0.2056, 0.2057",\
"0.2005, 0.1997, 0.2006, 0.2026, 0.2039, 0.2047, 0.2053, 0.2056, 0.2059, 0.206",\
"0.2011, 0.2, 0.2009, 0.203, 0.2044, 0.2052, 0.2058, 0.2061, 0.2063, 0.2064");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.0109, 0.04565, 0.112, 0.2154, 0.3604, 0.5513, 0.7917, 1.085, 1.435");
values("0.1993, 0.1977, 0.1964, 0.1976, 0.2003, 0.2028, 0.2056, 0.2095, 0.2128, 0.2719",\
"0.1992, 0.1975, 0.1964, 0.1977, 0.2005, 0.2034, 0.2056, 0.2095, 0.214, 0.2729",\
"0.1991, 0.1975, 0.1963, 0.1977, 0.2006, 0.2033, 0.2057, 0.2075, 0.214, 0.2818",\
"0.199, 0.1972, 0.1961, 0.1975, 0.2005, 0.2034, 0.2052, 0.2073, 0.2145, 0.2907",\
"0.1989, 0.1971, 0.1958, 0.1974, 0.2004, 0.2032, 0.2059, 0.2076, 0.2158, 0.3076",\
"0.199, 0.1971, 0.1962, 0.197, 0.1999, 0.2029, 0.2056, 0.2076, 0.219, 0.3329",\
"0.1992, 0.1971, 0.1959, 0.1972, 0.2002, 0.2027, 0.2058, 0.2094, 0.226, 0.3759",\
"0.1989, 0.1976, 0.196, 0.1974, 0.1986, 0.2046, 0.2064, 0.2071, 0.2324, 0.4406",\
"0.1994, 0.1977, 0.1962, 0.1976, 0.1994, 0.2008, 0.2068, 0.2125, 0.2543, 0.5634",\
"0.1997, 0.1977, 0.1967, 0.1981, 0.1995, 0.2025, 0.2044, 0.2153, 0.3024, 0.7876");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.0109, 0.04565, 0.112, 0.2154, 0.3604, 0.5513, 0.7917, 1.085, 1.435");
values("1.414, 1.469, 1.597, 1.783, 2.047, 2.411, 2.888, 3.49, 4.224, 5.1",\
"1.435, 1.489, 1.617, 1.804, 2.068, 2.431, 2.909, 3.511, 4.246, 5.121",\
"1.51, 1.565, 1.693, 1.879, 2.143, 2.507, 2.985, 3.587, 4.321, 5.197",\
"1.643, 1.698, 1.826, 2.012, 2.276, 2.64, 3.118, 3.719, 4.454, 5.329",\
"1.771, 1.826, 1.954, 2.14, 2.404, 2.768, 3.246, 3.848, 4.582, 5.458",\
"1.873, 1.928, 2.057, 2.243, 2.507, 2.871, 3.348, 3.95, 4.685, 5.559",\
"1.952, 2.007, 2.135, 2.321, 2.585, 2.949, 3.427, 4.028, 4.763, 5.638",\
"2.007, 2.062, 2.19, 2.376, 2.64, 3.004, 3.482, 4.084, 4.818, 5.693",\
"2.035, 2.091, 2.219, 2.405, 2.669, 3.033, 3.51, 4.112, 4.846, 5.721",\
"2.035, 2.09, 2.218, 2.404, 2.668, 3.032, 3.51, 4.112, 4.846, 5.721");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.0109, 0.04565, 0.112, 0.2154, 0.3604, 0.5513, 0.7917, 1.085, 1.435");
values("1.622, 1.688, 1.855, 2.152, 2.614, 3.262, 4.113, 5.186, 6.494, 8.053",\
"1.643, 1.709, 1.877, 2.173, 2.636, 3.283, 4.134, 5.207, 6.515, 8.074",\
"1.718, 1.784, 1.951, 2.248, 2.711, 3.359, 4.21, 5.281, 6.59, 8.15",\
"1.848, 1.915, 2.082, 2.379, 2.841, 3.489, 4.34, 5.412, 6.721, 8.28",\
"1.975, 2.041, 2.208, 2.505, 2.967, 3.615, 4.466, 5.538, 6.847, 8.407",\
"2.077, 2.143, 2.311, 2.607, 3.07, 3.718, 4.569, 5.641, 6.949, 8.509",\
"2.157, 2.223, 2.39, 2.687, 3.149, 3.797, 4.648, 5.72, 7.028, 8.589",\
"2.212, 2.279, 2.446, 2.743, 3.205, 3.853, 4.703, 5.775, 7.084, 8.643",\
"2.245, 2.311, 2.478, 2.775, 3.237, 3.884, 4.736, 5.808, 7.116, 8.675",\
"2.248, 2.314, 2.482, 2.779, 3.241, 3.889, 4.74, 5.812, 7.121, 8.68");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.0109, 0.04565, 0.112, 0.2154, 0.3604, 0.5513, 0.7917, 1.085, 1.435");
values("0.1168, 0.1648, 0.2942, 0.5388, 0.9458, 1.538, 2.325, 3.318, 4.526, 5.979",\
"0.1166, 0.1648, 0.2948, 0.5384, 0.9444, 1.538, 2.325, 3.317, 4.532, 5.979",\
"0.1166, 0.1648, 0.2942, 0.539, 0.9456, 1.538, 2.324, 3.319, 4.525, 5.979",\
"0.1166, 0.1648, 0.2948, 0.5388, 0.945, 1.538, 2.325, 3.317, 4.533, 5.976",\
"0.1168, 0.1648, 0.2948, 0.5382, 0.9462, 1.538, 2.325, 3.317, 4.534, 5.978",\
"0.1166, 0.1648, 0.2944, 0.5392, 0.9456, 1.538, 2.324, 3.315, 4.533, 5.971",\
"0.1168, 0.165, 0.2944, 0.5392, 0.9448, 1.536, 2.321, 3.314, 4.53, 5.975",\
"0.1166, 0.1648, 0.2944, 0.5384, 0.9446, 1.537, 2.322, 3.311, 4.52, 5.962",\
"0.1168, 0.1648, 0.2944, 0.5394, 0.9448, 1.536, 2.323, 3.314, 4.52, 5.96",\
"0.1168, 0.165, 0.2942, 0.5382, 0.9452, 1.536, 2.324, 3.313, 4.52, 5.962");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.0109, 0.04565, 0.112, 0.2154, 0.3604, 0.5513, 0.7917, 1.085, 1.435");
values("0.1424, 0.2054, 0.4294, 0.926, 1.714, 2.819, 4.274, 6.109, 8.35, 11.02",\
"0.1414, 0.2058, 0.4292, 0.9256, 1.711, 2.82, 4.274, 6.109, 8.345, 11.02",\
"0.1414, 0.2052, 0.4292, 0.9246, 1.712, 2.817, 4.273, 6.108, 8.35, 11.01",\
"0.1416, 0.2056, 0.4288, 0.9258, 1.712, 2.816, 4.268, 6.107, 8.35, 11.01",\
"0.1412, 0.2054, 0.4286, 0.9258, 1.712, 2.816, 4.269, 6.108, 8.349, 11.01",\
"0.1416, 0.2052, 0.4286, 0.9246, 1.713, 2.818, 4.272, 6.108, 8.349, 11.01",\
"0.1418, 0.2048, 0.4284, 0.9248, 1.712, 2.819, 4.272, 6.109, 8.348, 11.01",\
"0.1416, 0.2056, 0.4294, 0.9246, 1.713, 2.815, 4.269, 6.102, 8.346, 11.02",\
"0.142, 0.2058, 0.4286, 0.9264, 1.711, 2.816, 4.27, 6.1, 8.34, 11.02",\
"0.1418, 0.2048, 0.429, 0.9262, 1.713, 2.816, 4.27, 6.1, 8.336, 11.02");
}
}
}
}