blob: deaabe5416edfbc90ca37e5078de53fe3d3d9075 [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.001282275" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00128268" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00118395" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00120636" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00128268" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.0035 ;
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 : 1.696 ;
min_pulse_width_high : 0.81 ;
min_pulse_width_low : 0.824 ;
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.257, 0.2564, 0.2574, 0.2657, 0.2854, 0.3171, 0.362, 0.4206, \
0.4936, 0.5814");
}
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.165, 0.1646, 0.1652, 0.172, 0.1884, 0.2153, 0.2541, 0.3059, \
0.3706, 0.449");
}
}
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.257, 0.2564, 0.2573, 0.2656, 0.2854, 0.3171, 0.3619, 0.4206, \
0.4935, 0.5814");
}
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.1651, 0.1648, 0.1653, 0.1721, 0.1885, 0.2153, 0.2543, 0.3059, \
0.3707, 0.4491");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.738");
}
rise_constraint(scalar) {
values("0.81");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.824");
}
rise_constraint(scalar) {
values("0.665");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.648");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.696");
}
}
}
pin(D) {
capacitance : 0.00237 ;
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 : "!CLKN" ;
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.04765, 0.04684, 0.04922, 0.05744, 0.0724, 0.09481, 0.125, 0.1635, \
0.2111, 0.268");
}
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.005186, 0.004867, 0.006162, 0.01201, 0.02383, 0.04225, 0.06768, \
0.1005, 0.1412, 0.1901");
}
}
internal_power() {
when : "CLKN" ;
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.1667, 0.1664, 0.1677, 0.1742, 0.1886, 0.2116, 0.2437, 0.2856, \
0.3376, 0.3999");
}
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.1069, 0.1067, 0.1079, 0.1133, 0.1244, 0.1423, 0.1679, 0.2016, \
0.2441, 0.2956");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
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.086, 0.094, 0.143, 0.228, 0.342, 0.468, 0.612, 0.768, 0.95, 1.166",\
"0.072, 0.083, 0.128, 0.222, 0.326, 0.457, 0.599, 0.765, 0.943, 1.154",\
"0.024, 0.028, 0.077, 0.168, 0.27, 0.401, 0.542, 0.7, 0.881, 1.093",\
"-0.093, -0.079, -0.028, 0.052, 0.163, 0.286, 0.425, 0.583, 0.765, 0.969",\
"-0.241, -0.228, -0.182, -0.092, 0.006, 0.135, 0.267, 0.417, 0.595, 0.803",\
"-0.419, -0.407, -0.368, -0.28, -0.177, -0.062, 0.073, 0.225, 0.398, 0.592",\
"-0.634, -0.62, -0.579, -0.491, -0.4, -0.284, -0.153, -0.011, 0.162, 0.348",\
"-0.875, -0.864, -0.823, -0.743, -0.649, -0.543, -0.422, -0.281, -0.113, 0.072",\
"-1.153, -1.147, -1.098, -1.023, -0.937, -0.835, -0.724, -0.589, -0.426, -0.244",\
"-1.473, -1.454, -1.418, -1.344, -1.262, -1.168, -1.06, -0.933, -0.779, -0.601");
}
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.269, 0.279, 0.329, 0.426, 0.57, 0.738, 0.927, 1.138, 1.369, 1.627",\
"0.257, 0.271, 0.32, 0.423, 0.562, 0.732, 0.918, 1.129, 1.358, 1.618",\
"0.23, 0.242, 0.285, 0.387, 0.534, 0.699, 0.887, 1.1, 1.33, 1.586",\
"0.2, 0.214, 0.261, 0.364, 0.508, 0.669, 0.863, 1.067, 1.303, 1.556",\
"0.195, 0.211, 0.259, 0.359, 0.493, 0.664, 0.852, 1.063, 1.294, 1.545",\
"0.216, 0.233, 0.276, 0.371, 0.512, 0.677, 0.866, 1.076, 1.308, 1.561",\
"0.269, 0.282, 0.329, 0.426, 0.563, 0.731, 0.915, 1.126, 1.353, 1.603",\
"0.361, 0.377, 0.416, 0.511, 0.648, 0.813, 0.995, 1.2, 1.434, 1.684",\
"0.496, 0.515, 0.553, 0.649, 0.771, 0.934, 1.116, 1.318, 1.546, 1.795",\
"0.687, 0.703, 0.736, 0.829, 0.944, 1.097, 1.27, 1.474, 1.702, 1.948");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
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.538, 0.529, 0.475, 0.375, 0.252, 0.11, -0.046, -0.213, -0.407, -0.619",\
"0.551, 0.535, 0.483, 0.39, 0.263, 0.125, -0.031, -0.204, -0.395, -0.612",\
"0.604, 0.593, 0.541, 0.441, 0.317, 0.175, 0.021, -0.152, -0.344, -0.556",\
"0.719, 0.708, 0.656, 0.552, 0.43, 0.292, 0.136, -0.039, -0.233, -0.446",\
"0.892, 0.876, 0.821, 0.73, 0.6, 0.461, 0.299, 0.125, -0.067, -0.276",\
"1.113, 1.098, 1.045, 0.949, 0.824, 0.677, 0.514, 0.342, 0.153, -0.062",\
"1.382, 1.366, 1.314, 1.218, 1.088, 0.938, 0.776, 0.603, 0.409, 0.19",\
"1.703, 1.691, 1.628, 1.53, 1.398, 1.249, 1.086, 0.909, 0.71, 0.495",\
"2.069, 2.058, 1.996, 1.898, 1.76, 1.609, 1.44, 1.257, 1.063, 0.841",\
"2.489, 2.477, 2.412, 2.317, 2.17, 2.006, 1.836, 1.651, 1.456, 1.238");
}
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.292, 0.277, 0.23, 0.137, -0.007, -0.159, -0.354, -0.564, -0.806, -1.071",\
"0.299, 0.286, 0.236, 0.147, 0.008, -0.151, -0.35, -0.558, -0.791, -1.059",\
"0.339, 0.32, 0.271, 0.172, 0.038, -0.123, -0.309, -0.531, -0.765, -1.022",\
"0.386, 0.373, 0.327, 0.221, 0.085, -0.073, -0.26, -0.473, -0.714, -0.978",\
"0.437, 0.424, 0.373, 0.269, 0.129, -0.032, -0.22, -0.43, -0.673, -0.939",\
"0.468, 0.457, 0.406, 0.304, 0.163, -0.008, -0.195, -0.405, -0.646, -0.909",\
"0.479, 0.464, 0.414, 0.309, 0.173, 0.001, -0.193, -0.406, -0.646, -0.908",\
"0.466, 0.45, 0.398, 0.292, 0.149, -0.017, -0.211, -0.422, -0.666, -0.933",\
"0.414, 0.402, 0.351, 0.248, 0.106, -0.066, -0.254, -0.478, -0.719, -0.985",\
"0.338, 0.329, 0.267, 0.171, 0.022, -0.149, -0.341, -0.56, -0.803, -1.061");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4415 ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.00404, 0.01471, 0.03509, 0.06684, 0.1114, 0.17, 0.2439, 0.334, 0.4415");
values("0.4205, 0.4139, 0.4018, 0.3935, 0.389, 0.3861, 0.3841, 0.3828, 0.3819, 0.3812",\
"0.4205, 0.414, 0.4016, 0.3934, 0.3888, 0.3861, 0.3841, 0.3828, 0.3818, 0.3812",\
"0.4204, 0.4141, 0.4015, 0.3934, 0.389, 0.3861, 0.384, 0.3827, 0.3818, 0.3812",\
"0.4206, 0.414, 0.402, 0.3936, 0.3892, 0.3863, 0.3844, 0.383, 0.3821, 0.3815",\
"0.4227, 0.416, 0.4037, 0.3955, 0.3909, 0.3882, 0.3862, 0.3849, 0.3839, 0.3833",\
"0.4259, 0.4193, 0.407, 0.399, 0.3942, 0.3912, 0.3894, 0.3881, 0.3872, 0.3865",\
"0.4304, 0.4239, 0.4115, 0.4032, 0.3986, 0.3955, 0.3937, 0.3922, 0.3913, 0.3906",\
"0.4364, 0.4296, 0.4171, 0.409, 0.4041, 0.4012, 0.3994, 0.398, 0.397, 0.3963",\
"0.4431, 0.4366, 0.4241, 0.4154, 0.4107, 0.4077, 0.4058, 0.4044, 0.4034, 0.4027",\
"0.4511, 0.4444, 0.4316, 0.4234, 0.4185, 0.4155, 0.4136, 0.4122, 0.4113, 0.4106");
}
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.00404, 0.01471, 0.03509, 0.06684, 0.1114, 0.17, 0.2439, 0.334, 0.4415");
values("0.5069, 0.5027, 0.4945, 0.4892, 0.4864, 0.486, 0.487, 0.4882, 0.4895, 0.493",\
"0.5071, 0.5027, 0.4946, 0.4895, 0.4867, 0.4862, 0.4877, 0.4888, 0.4903, 0.4954",\
"0.5072, 0.5029, 0.495, 0.4898, 0.4869, 0.4864, 0.4873, 0.4892, 0.4898, 0.4935",\
"0.5081, 0.5038, 0.4952, 0.4904, 0.4875, 0.4872, 0.4887, 0.4899, 0.4906, 0.4955",\
"0.5106, 0.5061, 0.4982, 0.4929, 0.4901, 0.4896, 0.4912, 0.4918, 0.4933, 0.4998",\
"0.5137, 0.5095, 0.5014, 0.4964, 0.4934, 0.4928, 0.4944, 0.4951, 0.4965, 0.502",\
"0.5178, 0.5134, 0.5055, 0.5006, 0.4977, 0.4973, 0.4983, 0.4993, 0.5011, 0.5076",\
"0.5236, 0.5193, 0.5112, 0.5052, 0.5039, 0.5032, 0.5036, 0.5046, 0.5061, 0.5165",\
"0.5292, 0.5252, 0.5166, 0.5112, 0.5088, 0.5096, 0.5113, 0.5115, 0.5119, 0.5262",\
"0.5355, 0.5311, 0.523, 0.5174, 0.5146, 0.514, 0.5158, 0.5191, 0.5212, 0.5428");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_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.00404, 0.01471, 0.03509, 0.06684, 0.1114, 0.17, 0.2439, 0.334, 0.4415");
values("1.098, 1.131, 1.222, 1.356, 1.53, 1.752, 2.037, 2.393, 2.828, 3.346",\
"1.11, 1.144, 1.235, 1.369, 1.542, 1.765, 2.049, 2.406, 2.841, 3.359",\
"1.161, 1.194, 1.285, 1.419, 1.592, 1.815, 2.1, 2.456, 2.891, 3.409",\
"1.264, 1.297, 1.388, 1.522, 1.696, 1.918, 2.203, 2.559, 2.994, 3.512",\
"1.414, 1.447, 1.538, 1.672, 1.846, 2.068, 2.353, 2.709, 3.144, 3.662",\
"1.592, 1.625, 1.716, 1.85, 2.023, 2.246, 2.53, 2.887, 3.322, 3.84",\
"1.794, 1.828, 1.918, 2.053, 2.226, 2.449, 2.733, 3.09, 3.524, 4.043",\
"2.02, 2.053, 2.144, 2.279, 2.452, 2.674, 2.959, 3.315, 3.75, 4.268",\
"2.267, 2.3, 2.391, 2.526, 2.699, 2.922, 3.207, 3.563, 3.998, 4.516",\
"2.536, 2.57, 2.661, 2.796, 2.969, 3.192, 3.476, 3.832, 4.267, 4.786");
}
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.00404, 0.01471, 0.03509, 0.06684, 0.1114, 0.17, 0.2439, 0.334, 0.4415");
values("1.245, 1.279, 1.38, 1.56, 1.835, 2.223, 2.733, 3.377, 4.162, 5.1",\
"1.258, 1.292, 1.393, 1.573, 1.848, 2.235, 2.746, 3.389, 4.175, 5.111",\
"1.308, 1.342, 1.444, 1.623, 1.898, 2.286, 2.796, 3.44, 4.225, 5.163",\
"1.413, 1.447, 1.548, 1.727, 2.003, 2.39, 2.901, 3.545, 4.33, 5.268",\
"1.567, 1.601, 1.703, 1.882, 2.157, 2.545, 3.056, 3.699, 4.485, 5.421",\
"1.753, 1.787, 1.888, 2.068, 2.343, 2.731, 3.241, 3.885, 4.67, 5.607",\
"1.965, 1.999, 2.1, 2.279, 2.555, 2.942, 3.453, 4.096, 4.883, 5.82",\
"2.204, 2.237, 2.339, 2.518, 2.793, 3.181, 3.691, 4.335, 5.121, 6.058",\
"2.463, 2.497, 2.599, 2.778, 3.053, 3.441, 3.952, 4.595, 5.38, 6.318",\
"2.745, 2.779, 2.88, 3.059, 3.334, 3.722, 4.232, 4.876, 5.661, 6.598");
}
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.00404, 0.01471, 0.03509, 0.06684, 0.1114, 0.17, 0.2439, 0.334, 0.4415");
values("0.1364, 0.1692, 0.2646, 0.4162, 0.644, 0.98, 1.442, 2.039, 2.772, 3.648",\
"0.1364, 0.1694, 0.2646, 0.4166, 0.6438, 0.9798, 1.442, 2.04, 2.772, 3.648",\
"0.1368, 0.1696, 0.2646, 0.4164, 0.6442, 0.9802, 1.442, 2.04, 2.772, 3.647",\
"0.1366, 0.169, 0.2644, 0.4162, 0.6442, 0.9788, 1.443, 2.04, 2.773, 3.648",\
"0.1366, 0.1694, 0.2648, 0.4166, 0.6428, 0.9802, 1.443, 2.04, 2.775, 3.653",\
"0.1368, 0.17, 0.265, 0.4166, 0.644, 0.9782, 1.443, 2.038, 2.771, 3.648",\
"0.137, 0.1702, 0.2648, 0.4166, 0.6436, 0.978, 1.443, 2.039, 2.775, 3.653",\
"0.1374, 0.1704, 0.265, 0.417, 0.6432, 0.98, 1.442, 2.038, 2.774, 3.647",\
"0.1374, 0.1706, 0.2656, 0.4172, 0.6428, 0.9786, 1.441, 2.037, 2.769, 3.648",\
"0.1378, 0.1706, 0.2656, 0.4174, 0.6442, 0.9794, 1.443, 2.039, 2.773, 3.645");
}
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.00404, 0.01471, 0.03509, 0.06684, 0.1114, 0.17, 0.2439, 0.334, 0.4415");
values("0.1328, 0.1772, 0.329, 0.6334, 1.124, 1.823, 2.739, 3.898, 5.314, 6.994",\
"0.133, 0.1772, 0.329, 0.6334, 1.124, 1.823, 2.74, 3.897, 5.313, 6.992",\
"0.1326, 0.177, 0.3292, 0.633, 1.124, 1.823, 2.739, 3.896, 5.308, 6.994",\
"0.1326, 0.1768, 0.3292, 0.6326, 1.124, 1.823, 2.74, 3.897, 5.309, 6.991",\
"0.133, 0.1772, 0.3288, 0.6334, 1.123, 1.823, 2.74, 3.897, 5.313, 6.992",\
"0.132, 0.1766, 0.3288, 0.6332, 1.125, 1.822, 2.738, 3.895, 5.306, 6.994",\
"0.1322, 0.1764, 0.3288, 0.6326, 1.123, 1.819, 2.742, 3.902, 5.318, 6.994",\
"0.132, 0.176, 0.3288, 0.633, 1.124, 1.82, 2.74, 3.901, 5.316, 6.992",\
"0.1324, 0.1762, 0.3286, 0.6334, 1.125, 1.822, 2.739, 3.896, 5.307, 6.996",\
"0.132, 0.1766, 0.3286, 0.6328, 1.125, 1.821, 2.739, 3.894, 5.312, 6.994");
}
}
}
}