blob: 917c0c84015d9d0a4d875b136dbfc3887620c566 [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_4) {
area : 83.417600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.00019896" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000204195" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000174405" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000172467" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000204195" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003316 ;
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.093 ;
min_pulse_width_high : 0.868 ;
min_pulse_width_low : 1.046 ;
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.1085, 0.1081, 0.1075, 0.1084, 0.1114, 0.1165, 0.1237, 0.1334, \
0.1459, 0.1612");
}
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.0694, 0.06911, 0.06866, 0.06923, 0.07129, 0.07554, 0.08181, \
0.09054, 0.1016, 0.1153");
}
}
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.1085, 0.108, 0.1075, 0.1084, 0.1114, 0.1164, 0.1237, 0.1334, \
0.1459, 0.1612");
}
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.06942, 0.06919, 0.06871, 0.06927, 0.07133, 0.07555, 0.08178, \
0.09057, 0.1016, 0.1154");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.939");
}
rise_constraint(scalar) {
values("0.868");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.046");
}
rise_constraint(scalar) {
values("0.726");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.957");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("2.093");
}
}
}
pin(D) {
capacitance : 0.002265 ;
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 : "!CLKN" ;
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.02019, 0.01953, 0.0197, 0.02121, 0.02423, 0.02873, 0.035, 0.04308, \
0.0532, 0.06536");
}
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.002344, 0.002037, 0.001975, 0.002956, 0.005253, 0.009024, 0.01434, \
0.02127, 0.0299, 0.04033");
}
}
internal_power() {
when : "CLKN" ;
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.06721, 0.06686, 0.06672, 0.06774, 0.07047, 0.07478, 0.08082, \
0.08872, 0.09874, 0.111");
}
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.04391, 0.04373, 0.04371, 0.04446, 0.04629, 0.0495, 0.0543, 0.06077, \
0.06907, 0.07932");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
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.063, 0.095, 0.172, 0.335, 0.497, 0.678, 0.889, 1.143, 1.424, 1.75",\
"0.041, 0.069, 0.149, 0.308, 0.475, 0.654, 0.862, 1.123, 1.401, 1.725",\
"-0.057, -0.027, 0.056, 0.216, 0.375, 0.554, 0.769, 1.023, 1.3, 1.629",\
"-0.238, -0.215, -0.132, 0.028, 0.19, 0.377, 0.587, 0.84, 1.118, 1.449",\
"-0.461, -0.437, -0.354, -0.197, -0.034, 0.143, 0.353, 0.608, 0.888, 1.211",\
"-0.714, -0.69, -0.61, -0.451, -0.303, -0.123, 0.087, 0.339, 0.619, 0.939",\
"-1.016, -0.997, -0.917, -0.758, -0.613, -0.437, -0.226, 0.021, 0.306, 0.624",\
"-1.374, -1.348, -1.266, -1.111, -0.964, -0.798, -0.592, -0.342, -0.064, 0.251",\
"-1.776, -1.752, -1.673, -1.522, -1.386, -1.217, -1.012, -0.769, -0.485, -0.174",\
"-2.233, -2.21, -2.127, -1.982, -1.848, -1.687, -1.487, -1.246, -0.968, -0.652");
}
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.338, 0.36, 0.452, 0.633, 0.871, 1.122, 1.397, 1.709, 2.053, 2.438",\
"0.313, 0.343, 0.434, 0.614, 0.845, 1.102, 1.379, 1.688, 2.038, 2.417",\
"0.252, 0.278, 0.371, 0.553, 0.788, 1.04, 1.321, 1.627, 1.977, 2.358",\
"0.206, 0.229, 0.324, 0.507, 0.734, 0.991, 1.267, 1.575, 1.927, 2.309",\
"0.187, 0.217, 0.305, 0.485, 0.714, 0.964, 1.241, 1.554, 1.897, 2.279",\
"0.203, 0.227, 0.322, 0.502, 0.726, 0.973, 1.254, 1.556, 1.903, 2.287",\
"0.26, 0.279, 0.37, 0.545, 0.772, 1.02, 1.294, 1.601, 1.943, 2.322",\
"0.362, 0.386, 0.477, 0.647, 0.864, 1.108, 1.384, 1.687, 2.032, 2.4",\
"0.523, 0.542, 0.629, 0.794, 1.004, 1.238, 1.512, 1.808, 2.15, 2.523",\
"0.75, 0.766, 0.851, 1.004, 1.205, 1.43, 1.691, 1.985, 2.326, 2.694");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
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.624, 0.591, 0.489, 0.331, 0.141, -0.076, -0.333, -0.614, -0.929, -1.28",\
"0.646, 0.617, 0.516, 0.356, 0.17, -0.052, -0.308, -0.587, -0.907, -1.258",\
"0.743, 0.712, 0.612, 0.457, 0.257, 0.043, -0.211, -0.489, -0.808, -1.159",\
"0.936, 0.902, 0.805, 0.648, 0.452, 0.236, -0.015, -0.3, -0.619, -0.972",\
"1.209, 1.177, 1.078, 0.917, 0.723, 0.5, 0.246, -0.036, -0.359, -0.712",\
"1.538, 1.506, 1.407, 1.247, 1.041, 0.817, 0.56, 0.269, -0.053, -0.404",\
"1.911, 1.88, 1.777, 1.613, 1.407, 1.178, 0.915, 0.622, 0.303, -0.061",\
"2.343, 2.307, 2.208, 2.04, 1.826, 1.594, 1.328, 1.033, 0.7, 0.339",\
"2.831, 2.801, 2.696, 2.52, 2.305, 2.069, 1.8, 1.5, 1.169, 0.8",\
"3.39, 3.356, 3.251, 3.077, 2.854, 2.615, 2.34, 2.029, 1.697, 1.324");
}
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.269, 0.248, 0.155, -0.021, -0.269, -0.535, -0.831, -1.165, -1.545, -1.961",\
"0.295, 0.266, 0.177, -0.007, -0.247, -0.515, -0.814, -1.145, -1.528, -1.937",\
"0.361, 0.332, 0.241, 0.065, -0.177, -0.443, -0.746, -1.078, -1.463, -1.868",\
"0.449, 0.429, 0.335, 0.15, -0.092, -0.35, -0.644, -0.992, -1.373, -1.783",\
"0.534, 0.513, 0.413, 0.223, -0.009, -0.276, -0.57, -0.908, -1.284, -1.704",\
"0.585, 0.559, 0.459, 0.276, 0.033, -0.225, -0.522, -0.852, -1.231, -1.646",\
"0.603, 0.577, 0.478, 0.291, 0.05, -0.211, -0.507, -0.833, -1.207, -1.623",\
"0.584, 0.557, 0.465, 0.274, 0.036, -0.232, -0.524, -0.858, -1.225, -1.637",\
"0.526, 0.501, 0.399, 0.209, -0.031, -0.293, -0.588, -0.914, -1.278, -1.691",\
"0.414, 0.393, 0.294, 0.105, -0.137, -0.402, -0.693, -1.024, -1.39, -1.8");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.273 ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.009777, 0.04059, 0.09942, 0.1911, 0.3197, 0.4889, 0.7021, 0.9624, 1.273");
values("0.2231, 0.2199, 0.2178, 0.218, 0.2184, 0.2189, 0.2192, 0.2194, 0.2196, 0.2197",\
"0.223, 0.2199, 0.2178, 0.2181, 0.2184, 0.2189, 0.2193, 0.2195, 0.2195, 0.2196",\
"0.223, 0.2199, 0.218, 0.218, 0.2185, 0.2189, 0.2194, 0.2194, 0.2196, 0.2197",\
"0.223, 0.22, 0.2178, 0.2181, 0.2186, 0.219, 0.2193, 0.2195, 0.2196, 0.2197",\
"0.2233, 0.2201, 0.2179, 0.2182, 0.2186, 0.2191, 0.2194, 0.2196, 0.2197, 0.2199",\
"0.2236, 0.2203, 0.2184, 0.2183, 0.2189, 0.2194, 0.2197, 0.2198, 0.2199, 0.2201",\
"0.2238, 0.2206, 0.2185, 0.2186, 0.2191, 0.2196, 0.22, 0.2202, 0.2203, 0.2204",\
"0.2243, 0.2212, 0.2192, 0.2191, 0.2197, 0.2201, 0.2204, 0.2206, 0.2208, 0.2209",\
"0.2251, 0.2217, 0.2195, 0.2197, 0.2202, 0.2207, 0.221, 0.2213, 0.2214, 0.2214",\
"0.2257, 0.2225, 0.2202, 0.2203, 0.2209, 0.2213, 0.2216, 0.2219, 0.2221, 0.2221");
}
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.009777, 0.04059, 0.09942, 0.1911, 0.3197, 0.4889, 0.7021, 0.9624, 1.273");
values("0.2718, 0.2707, 0.2695, 0.2709, 0.2735, 0.2757, 0.2781, 0.2812, 0.2867, 0.3402",\
"0.272, 0.2709, 0.2698, 0.2714, 0.2741, 0.2768, 0.2786, 0.2814, 0.2871, 0.3382",\
"0.272, 0.2708, 0.2696, 0.2714, 0.2736, 0.2764, 0.2791, 0.2807, 0.2879, 0.3426",\
"0.2724, 0.2712, 0.2702, 0.2717, 0.2741, 0.2771, 0.2789, 0.2813, 0.2882, 0.3537",\
"0.2733, 0.2721, 0.2712, 0.2727, 0.2754, 0.2786, 0.2807, 0.2821, 0.2904, 0.3763",\
"0.2744, 0.273, 0.2722, 0.2735, 0.2762, 0.2796, 0.2811, 0.284, 0.2959, 0.4036",\
"0.2751, 0.274, 0.2732, 0.2748, 0.277, 0.2801, 0.2821, 0.2844, 0.3024, 0.4614",\
"0.2764, 0.2753, 0.274, 0.2753, 0.2783, 0.282, 0.2832, 0.2865, 0.3195, 0.5541",\
"0.2776, 0.2765, 0.2751, 0.277, 0.2781, 0.2822, 0.2858, 0.2907, 0.356, 0.7389",\
"0.2786, 0.2777, 0.2762, 0.2777, 0.2813, 0.2816, 0.2852, 0.3022, 0.4435, 1.091");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_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.009777, 0.04059, 0.09942, 0.1911, 0.3197, 0.4889, 0.7021, 0.9624, 1.273");
values("1.38, 1.441, 1.589, 1.791, 2.046, 2.374, 2.797, 3.328, 3.975, 4.747",\
"1.406, 1.466, 1.615, 1.817, 2.072, 2.401, 2.824, 3.354, 4.002, 4.773",\
"1.501, 1.562, 1.711, 1.913, 2.167, 2.496, 2.919, 3.45, 4.097, 4.869",\
"1.688, 1.749, 1.898, 2.099, 2.354, 2.683, 3.106, 3.636, 4.284, 5.055",\
"1.94, 2.001, 2.149, 2.351, 2.606, 2.934, 3.357, 3.888, 4.535, 5.307",\
"2.217, 2.277, 2.426, 2.628, 2.882, 3.211, 3.634, 4.165, 4.812, 5.584",\
"2.518, 2.579, 2.728, 2.929, 3.184, 3.513, 3.936, 4.467, 5.114, 5.886",\
"2.851, 2.912, 3.061, 3.263, 3.518, 3.847, 4.27, 4.8, 5.447, 6.219",\
"3.222, 3.282, 3.432, 3.633, 3.888, 4.217, 4.64, 5.171, 5.818, 6.589",\
"3.628, 3.689, 3.838, 4.04, 4.296, 4.624, 5.047, 5.577, 6.226, 6.996");
}
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.009777, 0.04059, 0.09942, 0.1911, 0.3197, 0.4889, 0.7021, 0.9624, 1.273");
values("1.58, 1.642, 1.812, 2.111, 2.572, 3.217, 4.066, 5.134, 6.439, 7.992",\
"1.606, 1.668, 1.837, 2.136, 2.597, 3.243, 4.092, 5.16, 6.464, 8.019",\
"1.702, 1.764, 1.933, 2.232, 2.693, 3.339, 4.187, 5.255, 6.56, 8.117",\
"1.89, 1.952, 2.121, 2.42, 2.881, 3.527, 4.375, 5.444, 6.747, 8.303",\
"2.146, 2.208, 2.377, 2.676, 3.137, 3.783, 4.631, 5.7, 7.005, 8.557",\
"2.429, 2.491, 2.661, 2.96, 3.421, 4.067, 4.915, 5.984, 7.288, 8.843",\
"2.738, 2.8, 2.969, 3.269, 3.73, 4.375, 5.224, 6.293, 7.597, 9.15",\
"3.081, 3.143, 3.312, 3.611, 4.072, 4.717, 5.566, 6.634, 7.939, 9.493",\
"3.459, 3.521, 3.69, 3.99, 4.451, 5.096, 5.945, 7.013, 8.317, 9.873",\
"3.874, 3.937, 4.106, 4.405, 4.866, 5.511, 6.36, 7.428, 8.732, 10.29");
}
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.009777, 0.04059, 0.09942, 0.1911, 0.3197, 0.4889, 0.7021, 0.9624, 1.273");
values("0.1712, 0.2254, 0.3632, 0.5754, 0.9036, 1.398, 2.077, 2.946, 4.013, 5.289",\
"0.1714, 0.226, 0.3628, 0.5756, 0.9036, 1.398, 2.077, 2.944, 4.015, 5.289",\
"0.1714, 0.2254, 0.3632, 0.5754, 0.9038, 1.398, 2.076, 2.946, 4.015, 5.289",\
"0.1716, 0.2256, 0.3628, 0.576, 0.9052, 1.397, 2.076, 2.946, 4.013, 5.289",\
"0.1716, 0.2258, 0.3632, 0.5758, 0.9038, 1.398, 2.077, 2.946, 4.013, 5.286",\
"0.1716, 0.226, 0.3632, 0.5762, 0.9046, 1.398, 2.075, 2.946, 4.014, 5.284",\
"0.172, 0.2258, 0.363, 0.5754, 0.9038, 1.397, 2.077, 2.946, 4.014, 5.29",\
"0.1722, 0.226, 0.3632, 0.5756, 0.9038, 1.397, 2.074, 2.942, 4.011, 5.282",\
"0.1726, 0.227, 0.3634, 0.576, 0.9052, 1.397, 2.077, 2.944, 4.008, 5.278",\
"0.174, 0.226, 0.364, 0.576, 0.902, 1.398, 2.076, 2.944, 4.012, 5.278");
}
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.009777, 0.04059, 0.09942, 0.1911, 0.3197, 0.4889, 0.7021, 0.9624, 1.273");
values("0.1574, 0.2236, 0.4554, 0.9456, 1.726, 2.827, 4.277, 6.107, 8.343, 11.02",\
"0.1576, 0.2232, 0.4552, 0.9458, 1.727, 2.827, 4.277, 6.107, 8.339, 11.02",\
"0.1574, 0.2234, 0.4552, 0.9464, 1.729, 2.832, 4.284, 6.114, 8.351, 11.02",\
"0.1574, 0.223, 0.4554, 0.9456, 1.729, 2.831, 4.279, 6.108, 8.34, 11.02",\
"0.157, 0.2232, 0.4548, 0.9452, 1.729, 2.831, 4.284, 6.111, 8.348, 11.02",\
"0.1574, 0.2228, 0.4554, 0.9454, 1.726, 2.827, 4.277, 6.107, 8.339, 11.02",\
"0.1566, 0.2224, 0.4548, 0.9462, 1.726, 2.829, 4.281, 6.106, 8.346, 11.02",\
"0.1564, 0.2226, 0.4552, 0.9456, 1.727, 2.827, 4.283, 6.115, 8.339, 11.01",\
"0.1566, 0.2226, 0.4558, 0.9458, 1.729, 2.827, 4.278, 6.108, 8.342, 11.01",\
"0.158, 0.222, 0.454, 0.946, 1.728, 2.83, 4.276, 6.104, 8.33, 11");
}
}
}
}