blob: afb701d39d31bd0ca2fc848cf78e0d75d8c3a3f0 [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.003216906" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.003571524" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.003006234" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.002958912" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.003571524" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003139 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.9 ;
min_period : 2.786 ;
min_pulse_width_high : 1.051 ;
min_pulse_width_low : 1.391 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.0432, 0.04306, 0.04294, 0.0436, 0.04562, 0.04901, 0.05392, 0.06055, \
0.06898, 0.0793");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03219, 0.03209, 0.032, 0.03253, 0.03407, 0.03683, 0.04102, 0.04675, \
0.0541, 0.06309");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.044, 0.04385, 0.04373, 0.04441, 0.04641, 0.04978, 0.05471, 0.0613, \
0.06972, 0.08007");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03205, 0.03196, 0.03187, 0.03241, 0.03395, 0.03672, 0.04094, \
0.04672, 0.05407, 0.0631");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.391");
}
rise_constraint(scalar) {
values("0.621");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.024");
}
rise_constraint(scalar) {
values("1.051");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.786");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.359");
}
}
}
pin(D) {
capacitance : 0.002384 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.02508, 0.02495, 0.02468, 0.02483, 0.02571, 0.02746, 0.02992, \
0.03313, 0.03718, 0.04213");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.01707, 0.01711, 0.01718, 0.01749, 0.0182, 0.01944, 0.02133, \
0.02387, 0.02712, 0.03113");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.001669, 0.001666, 0.001667, 0.001669, 0.001664, 0.001668, 0.001665, \
0.001662, 0.001656, 0.00165");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("-0.001036, -0.001041, -0.001042, -0.001045, -0.00105, -0.001059, \
-0.001062, -0.001073, -0.00108, -0.00109");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.051, 0.064, 0.116, 0.203, 0.278, 0.334, 0.363, 0.36, 0.333, 0.271",\
"0.047, 0.056, 0.108, 0.193, 0.27, 0.321, 0.349, 0.349, 0.316, 0.259",\
"0.004, 0.013, 0.073, 0.153, 0.232, 0.285, 0.312, 0.308, 0.281, 0.216",\
"-0.11, -0.104, -0.052, 0.039, 0.114, 0.174, 0.197, 0.202, 0.169, 0.107",\
"-0.308, -0.301, -0.25, -0.158, -0.076, -0.014, 0.01, 0.013, -0.011, -0.076",\
"-0.559, -0.552, -0.496, -0.408, -0.33, -0.268, -0.242, -0.229, -0.261, -0.315",\
"-0.851, -0.853, -0.798, -0.713, -0.631, -0.573, -0.534, -0.528, -0.558, -0.608",\
"-1.207, -1.206, -1.155, -1.064, -0.985, -0.929, -0.9, -0.888, -0.911, -0.965",\
"-1.615, -1.618, -1.563, -1.479, -1.397, -1.337, -1.305, -1.295, -1.319, -1.371",\
"-2.084, -2.09, -2.045, -1.953, -1.871, -1.805, -1.783, -1.758, -1.787, -1.842");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.04, 0.057, 0.1, 0.166, 0.201, 0.216, 0.216, 0.184, 0.127, 0.045",\
"0.026, 0.04, 0.09, 0.154, 0.19, 0.212, 0.207, 0.177, 0.125, 0.037",\
"-0.006, 0.007, 0.057, 0.123, 0.169, 0.187, 0.181, 0.154, 0.11, 0.027",\
"-0.026, -0.006, 0.038, 0.102, 0.146, 0.166, 0.166, 0.14, 0.088, 0.009",\
"-0.017, -0, 0.046, 0.109, 0.152, 0.167, 0.164, 0.135, 0.086, -0.002",\
"0.021, 0.037, 0.083, 0.15, 0.185, 0.195, 0.189, 0.163, 0.107, 0.02",\
"0.114, 0.12, 0.165, 0.226, 0.255, 0.269, 0.258, 0.219, 0.163, 0.071",\
"0.256, 0.261, 0.308, 0.364, 0.385, 0.394, 0.371, 0.331, 0.269, 0.174",\
"0.456, 0.464, 0.506, 0.562, 0.579, 0.575, 0.546, 0.499, 0.435, 0.334",\
"0.725, 0.733, 0.771, 0.818, 0.827, 0.816, 0.785, 0.733, 0.654, 0.545");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.698, 0.685, 0.621, 0.523, 0.433, 0.372, 0.333, 0.317, 0.35, 0.407",\
"0.71, 0.69, 0.628, 0.538, 0.445, 0.377, 0.341, 0.329, 0.356, 0.413",\
"0.744, 0.735, 0.668, 0.573, 0.484, 0.419, 0.38, 0.372, 0.395, 0.455",\
"0.873, 0.855, 0.795, 0.693, 0.604, 0.542, 0.504, 0.488, 0.517, 0.575",\
"1.097, 1.08, 1.02, 0.924, 0.833, 0.764, 0.727, 0.714, 0.745, 0.802",\
"1.414, 1.397, 1.332, 1.237, 1.153, 1.081, 1.042, 1.038, 1.057, 1.117",\
"1.808, 1.791, 1.724, 1.62, 1.534, 1.47, 1.435, 1.42, 1.444, 1.5",\
"2.256, 2.243, 2.176, 2.079, 1.994, 1.929, 1.888, 1.875, 1.895, 1.954",\
"2.784, 2.772, 2.709, 2.608, 2.521, 2.453, 2.417, 2.406, 2.422, 2.48",\
"3.387, 3.369, 3.304, 3.208, 3.121, 3.055, 3.015, 3.004, 3.026, 3.075");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.635, 0.617, 0.554, 0.457, 0.373, 0.324, 0.298, 0.311, 0.35, 0.428",\
"0.655, 0.626, 0.568, 0.469, 0.389, 0.335, 0.306, 0.317, 0.365, 0.44",\
"0.7, 0.675, 0.612, 0.514, 0.43, 0.373, 0.352, 0.36, 0.395, 0.478",\
"0.762, 0.747, 0.682, 0.583, 0.495, 0.452, 0.421, 0.426, 0.463, 0.529",\
"0.814, 0.794, 0.733, 0.636, 0.555, 0.502, 0.473, 0.469, 0.501, 0.587",\
"0.827, 0.807, 0.746, 0.649, 0.556, 0.512, 0.478, 0.49, 0.521, 0.595",\
"0.79, 0.765, 0.714, 0.62, 0.53, 0.475, 0.45, 0.452, 0.485, 0.571",\
"0.714, 0.695, 0.636, 0.547, 0.457, 0.406, 0.38, 0.384, 0.415, 0.502",\
"0.596, 0.565, 0.512, 0.422, 0.331, 0.281, 0.254, 0.255, 0.29, 0.374",\
"0.4, 0.378, 0.321, 0.234, 0.14, 0.093, 0.063, 0.067, 0.119, 0.196");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.2328 ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.0026, 0.008214, 0.01894, 0.03564, 0.05908, 0.08992, 0.1288, 0.1762, 0.2328");
values("0.03872, 0.03862, 0.03852, 0.03852, 0.03854, 0.03858, 0.03858, 0.03859, 0.03857, 0.0386",\
"0.03873, 0.03862, 0.03853, 0.03853, 0.03854, 0.03858, 0.0386, 0.0386, 0.0386, 0.03861",\
"0.03873, 0.03864, 0.03855, 0.03853, 0.03857, 0.03859, 0.0386, 0.0386, 0.03861, 0.03861",\
"0.03881, 0.03871, 0.03861, 0.03861, 0.03863, 0.03866, 0.03867, 0.03868, 0.03869, 0.03869",\
"0.03893, 0.03884, 0.03874, 0.03874, 0.03877, 0.03879, 0.0388, 0.0388, 0.03881, 0.03881",\
"0.03908, 0.039, 0.03889, 0.0389, 0.03892, 0.03894, 0.03895, 0.03895, 0.03895, 0.03895",\
"0.03929, 0.0392, 0.03911, 0.0391, 0.03912, 0.03914, 0.03915, 0.03916, 0.03916, 0.03917",\
"0.03946, 0.03937, 0.03927, 0.03926, 0.0393, 0.03931, 0.03934, 0.03934, 0.03934, 0.03934",\
"0.03972, 0.03962, 0.03952, 0.03953, 0.03954, 0.03957, 0.03958, 0.03958, 0.03958, 0.03959",\
"0.03993, 0.03984, 0.03973, 0.03973, 0.03975, 0.03978, 0.03979, 0.0398, 0.0398, 0.0398");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.0026, 0.008214, 0.01894, 0.03564, 0.05908, 0.08992, 0.1288, 0.1762, 0.2328");
values("0.03832, 0.03819, 0.03797, 0.0379, 0.03801, 0.03825, 0.03849, 0.03866, 0.03895, 0.04099",\
"0.03831, 0.03819, 0.03795, 0.03791, 0.03804, 0.03823, 0.03848, 0.03883, 0.03901, 0.04098",\
"0.03831, 0.03818, 0.03794, 0.0379, 0.03802, 0.03822, 0.03848, 0.03878, 0.03905, 0.04118",\
"0.0383, 0.03816, 0.03795, 0.03789, 0.038, 0.0382, 0.03846, 0.0388, 0.0391, 0.04126",\
"0.03837, 0.03824, 0.03799, 0.03795, 0.03807, 0.03828, 0.03852, 0.0388, 0.03915, 0.04191",\
"0.03852, 0.03839, 0.03819, 0.03813, 0.03823, 0.03846, 0.03872, 0.03894, 0.03949, 0.04269",\
"0.03866, 0.03851, 0.0383, 0.03828, 0.03848, 0.03864, 0.03882, 0.03904, 0.03962, 0.04357",\
"0.03891, 0.03876, 0.03854, 0.03844, 0.0386, 0.03894, 0.03922, 0.0393, 0.04012, 0.04524",\
"0.03922, 0.03907, 0.03883, 0.0388, 0.03883, 0.03905, 0.03949, 0.0398, 0.04081, 0.04787",\
"0.03957, 0.03944, 0.03919, 0.03914, 0.03923, 0.03941, 0.03961, 0.04016, 0.04201, 0.05249");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.0026, 0.008214, 0.01894, 0.03564, 0.05908, 0.08992, 0.1288, 0.1762, 0.2328");
values("1.286, 1.318, 1.408, 1.545, 1.728, 1.969, 2.279, 2.669, 3.143, 3.709",\
"1.301, 1.333, 1.424, 1.56, 1.743, 1.984, 2.295, 2.684, 3.159, 3.725",\
"1.357, 1.389, 1.479, 1.616, 1.799, 2.04, 2.351, 2.74, 3.214, 3.78",\
"1.455, 1.486, 1.577, 1.714, 1.897, 2.138, 2.448, 2.837, 3.312, 3.878",\
"1.546, 1.578, 1.669, 1.805, 1.989, 2.229, 2.54, 2.929, 3.404, 3.97",\
"1.614, 1.646, 1.736, 1.873, 2.056, 2.297, 2.608, 2.997, 3.472, 4.038",\
"1.659, 1.691, 1.782, 1.918, 2.102, 2.343, 2.653, 3.042, 3.517, 4.083",\
"1.678, 1.71, 1.8, 1.937, 2.12, 2.361, 2.671, 3.061, 3.536, 4.101",\
"1.668, 1.7, 1.79, 1.927, 2.111, 2.351, 2.662, 3.051, 3.525, 4.091",\
"1.625, 1.656, 1.747, 1.884, 2.067, 2.308, 2.618, 3.008, 3.482, 4.048");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.0026, 0.008214, 0.01894, 0.03564, 0.05908, 0.08992, 0.1288, 0.1762, 0.2328");
values("1.461, 1.504, 1.634, 1.863, 2.216, 2.71, 3.359, 4.176, 5.173, 6.361",\
"1.477, 1.519, 1.649, 1.879, 2.231, 2.725, 3.374, 4.191, 5.189, 6.377",\
"1.532, 1.575, 1.705, 1.934, 2.286, 2.781, 3.43, 4.246, 5.244, 6.432",\
"1.628, 1.67, 1.8, 2.029, 2.382, 2.876, 3.525, 4.342, 5.34, 6.529",\
"1.72, 1.763, 1.893, 2.122, 2.474, 2.969, 3.618, 4.434, 5.432, 6.62",\
"1.791, 1.833, 1.963, 2.192, 2.545, 3.039, 3.688, 4.505, 5.503, 6.691",\
"1.839, 1.882, 2.012, 2.241, 2.594, 3.087, 3.736, 4.554, 5.55, 6.739",\
"1.865, 1.908, 2.038, 2.267, 2.62, 3.114, 3.762, 4.579, 5.577, 6.766",\
"1.864, 1.907, 2.038, 2.267, 2.619, 3.113, 3.762, 4.579, 5.576, 6.764",\
"1.834, 1.876, 2.006, 2.235, 2.588, 3.082, 3.731, 4.548, 5.545, 6.734");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.0026, 0.008214, 0.01894, 0.03564, 0.05908, 0.08992, 0.1288, 0.1762, 0.2328");
values("0.1668, 0.199, 0.2976, 0.4648, 0.7298, 1.118, 1.647, 2.321, 3.149, 4.142",\
"0.1668, 0.1988, 0.2966, 0.4648, 0.7298, 1.118, 1.647, 2.324, 3.151, 4.145",\
"0.1668, 0.1992, 0.2972, 0.4652, 0.7288, 1.118, 1.646, 2.324, 3.149, 4.144",\
"0.1668, 0.1992, 0.2974, 0.4648, 0.7298, 1.117, 1.647, 2.321, 3.15, 4.145",\
"0.1674, 0.1992, 0.2972, 0.4654, 0.7294, 1.117, 1.647, 2.321, 3.15, 4.145",\
"0.1668, 0.199, 0.2964, 0.4648, 0.729, 1.118, 1.645, 2.324, 3.152, 4.139",\
"0.1668, 0.199, 0.2964, 0.4648, 0.7298, 1.118, 1.644, 2.322, 3.15, 4.141",\
"0.1668, 0.1992, 0.2962, 0.4648, 0.7292, 1.118, 1.645, 2.322, 3.148, 4.137",\
"0.167, 0.199, 0.2974, 0.4646, 0.7296, 1.118, 1.645, 2.32, 3.146, 4.135",\
"0.1668, 0.1992, 0.2972, 0.4652, 0.73, 1.118, 1.645, 2.325, 3.149, 4.135");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.0026, 0.008214, 0.01894, 0.03564, 0.05908, 0.08992, 0.1288, 0.1762, 0.2328");
values("0.2222, 0.2758, 0.4624, 0.847, 1.472, 2.355, 3.521, 4.982, 6.765, 8.9",\
"0.2226, 0.2758, 0.4616, 0.847, 1.471, 2.357, 3.521, 4.987, 6.768, 8.896",\
"0.2228, 0.2758, 0.462, 0.847, 1.471, 2.357, 3.521, 4.987, 6.768, 8.898",\
"0.2222, 0.2758, 0.4624, 0.8468, 1.471, 2.357, 3.52, 4.987, 6.768, 8.901",\
"0.2222, 0.2758, 0.4618, 0.847, 1.471, 2.357, 3.521, 4.986, 6.768, 8.898",\
"0.222, 0.2758, 0.463, 0.8468, 1.472, 2.358, 3.52, 4.988, 6.767, 8.896",\
"0.2218, 0.2752, 0.4622, 0.8476, 1.473, 2.353, 3.52, 4.978, 6.771, 8.895",\
"0.2218, 0.2752, 0.4618, 0.8468, 1.472, 2.353, 3.515, 4.989, 6.766, 8.898",\
"0.222, 0.2754, 0.4622, 0.8472, 1.472, 2.354, 3.517, 4.98, 6.775, 8.894",\
"0.2222, 0.2758, 0.4622, 0.848, 1.474, 2.354, 3.515, 4.98, 6.765, 8.9");
}
}
}
}