blob: d04be7a441b054c89f07ecc71b4578454a406892 [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_1) {
area : 65.856000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.000476645" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000480075" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00041104" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000409295" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000480075" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003466 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
min_period : 1.091 ;
min_pulse_width_high : 0.406 ;
min_pulse_width_low : 0.446 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.3085, 0.3081, 0.3111, 0.3269, 0.3605, 0.4131, 0.4861, 0.5803, \
0.6966, 0.8356");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1986, 0.1984, 0.2004, 0.2136, 0.2414, 0.2867, 0.3503, 0.4334, \
0.5366, 0.6609");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.3085, 0.3081, 0.3111, 0.3268, 0.3604, 0.4129, 0.4859, 0.5801, \
0.6963, 0.8354");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1989, 0.1985, 0.2006, 0.2137, 0.2416, 0.2868, 0.3506, 0.4335, \
0.5368, 0.6613");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.368");
}
rise_constraint(scalar) {
values("0.406");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.446");
}
rise_constraint(scalar) {
values("0.351");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.833");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.091");
}
}
}
pin(D) {
capacitance : 0.002412 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.05714, 0.05686, 0.06192, 0.07552, 0.09961, 0.1349, 0.1823, 0.2427, \
0.3167, 0.4054");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.004977, 0.004938, 0.007951, 0.01828, 0.03782, 0.06742, 0.1078, \
0.1596, 0.2234, 0.2999");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2043, 0.2043, 0.2075, 0.219, 0.243, 0.2805, 0.3325, 0.3994, \
0.4817, 0.5803");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.131, 0.131, 0.1337, 0.1434, 0.1623, 0.1924, 0.2343, 0.2891, \
0.3575, 0.44");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.04, 0.045, 0.076, 0.117, 0.184, 0.257, 0.339, 0.429, 0.542, 0.662",\
"0.031, 0.041, 0.071, 0.109, 0.179, 0.249, 0.334, 0.421, 0.537, 0.65",\
"0.005, 0.015, 0.037, 0.08, 0.146, 0.216, 0.301, 0.39, 0.5, 0.618",\
"-0.054, -0.049, -0.025, 0.026, 0.081, 0.154, 0.231, 0.323, 0.433, 0.549",\
"-0.133, -0.127, -0.107, -0.064, -0, 0.064, 0.143, 0.228, 0.336, 0.451",\
"-0.239, -0.236, -0.209, -0.168, -0.108, -0.043, 0.033, 0.12, 0.217, 0.328",\
"-0.356, -0.351, -0.328, -0.292, -0.234, -0.172, -0.102, -0.022, 0.077, 0.184",\
"-0.5, -0.498, -0.469, -0.429, -0.381, -0.325, -0.253, -0.177, -0.083, 0.022",\
"-0.658, -0.654, -0.628, -0.594, -0.546, -0.49, -0.428, -0.35, -0.259, -0.164",\
"-0.843, -0.837, -0.815, -0.776, -0.731, -0.681, -0.62, -0.554, -0.46, -0.368");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.143, 0.151, 0.18, 0.232, 0.31, 0.404, 0.511, 0.629, 0.759, 0.903",\
"0.137, 0.149, 0.174, 0.229, 0.31, 0.399, 0.509, 0.622, 0.756, 0.897",\
"0.126, 0.135, 0.156, 0.212, 0.29, 0.383, 0.494, 0.611, 0.741, 0.882",\
"0.113, 0.12, 0.141, 0.198, 0.279, 0.373, 0.477, 0.6, 0.73, 0.872",\
"0.112, 0.117, 0.142, 0.197, 0.273, 0.375, 0.473, 0.591, 0.73, 0.868",\
"0.122, 0.132, 0.152, 0.209, 0.292, 0.383, 0.491, 0.603, 0.738, 0.879",\
"0.151, 0.163, 0.185, 0.24, 0.318, 0.412, 0.52, 0.639, 0.764, 0.906",\
"0.209, 0.219, 0.237, 0.295, 0.373, 0.462, 0.569, 0.682, 0.815, 0.956",\
"0.29, 0.302, 0.323, 0.374, 0.443, 0.536, 0.638, 0.754, 0.882, 1.024",\
"0.397, 0.407, 0.426, 0.478, 0.55, 0.637, 0.728, 0.851, 0.976, 1.114");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.263, 0.255, 0.23, 0.182, 0.112, 0.036, -0.047, -0.143, -0.246, -0.366",\
"0.269, 0.264, 0.238, 0.186, 0.125, 0.045, -0.037, -0.137, -0.238, -0.361",\
"0.301, 0.294, 0.265, 0.217, 0.152, 0.072, -0.007, -0.107, -0.209, -0.329",\
"0.364, 0.355, 0.329, 0.276, 0.214, 0.134, 0.05, -0.047, -0.153, -0.27",\
"0.454, 0.449, 0.425, 0.375, 0.308, 0.23, 0.142, 0.047, -0.061, -0.176",\
"0.581, 0.58, 0.551, 0.501, 0.429, 0.351, 0.266, 0.175, 0.066, -0.051",\
"0.734, 0.727, 0.696, 0.648, 0.581, 0.498, 0.41, 0.323, 0.213, 0.095",\
"0.91, 0.907, 0.875, 0.83, 0.758, 0.677, 0.583, 0.489, 0.386, 0.266",\
"1.117, 1.109, 1.08, 1.027, 0.959, 0.874, 0.781, 0.686, 0.578, 0.472",\
"1.345, 1.337, 1.311, 1.26, 1.183, 1.102, 1.008, 0.91, 0.802, 0.687");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.149, 0.143, 0.118, 0.061, -0.006, -0.098, -0.21, -0.319, -0.456, -0.592",\
"0.151, 0.149, 0.118, 0.066, -0.005, -0.099, -0.194, -0.32, -0.442, -0.584",\
"0.172, 0.165, 0.14, 0.086, 0.017, -0.082, -0.182, -0.298, -0.427, -0.567",\
"0.197, 0.193, 0.163, 0.112, 0.038, -0.055, -0.166, -0.278, -0.399, -0.544",\
"0.226, 0.214, 0.194, 0.132, 0.063, -0.037, -0.137, -0.251, -0.39, -0.525",\
"0.239, 0.23, 0.21, 0.154, 0.073, -0.016, -0.126, -0.243, -0.373, -0.514",\
"0.245, 0.238, 0.21, 0.151, 0.075, -0.02, -0.126, -0.243, -0.377, -0.518",\
"0.23, 0.22, 0.193, 0.139, 0.061, -0.028, -0.144, -0.259, -0.395, -0.539",\
"0.2, 0.192, 0.161, 0.11, 0.033, -0.066, -0.173, -0.289, -0.422, -0.571",\
"0.145, 0.139, 0.112, 0.054, -0.024, -0.117, -0.225, -0.343, -0.48, -0.62");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.2214 ;
max_transition : 4 ;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002521, 0.007861, 0.01806, 0.03395, 0.05624, 0.08557, 0.1225, 0.1676, 0.2214");
values("0.3724, 0.3698, 0.3647, 0.3612, 0.3592, 0.3579, 0.3571, 0.3564, 0.356, 0.3557",\
"0.3725, 0.3699, 0.3647, 0.3613, 0.3593, 0.3578, 0.357, 0.3564, 0.356, 0.3557",\
"0.3725, 0.3699, 0.3648, 0.3614, 0.3593, 0.3579, 0.357, 0.3564, 0.356, 0.3557",\
"0.3733, 0.3704, 0.3655, 0.3621, 0.36, 0.3586, 0.3578, 0.3571, 0.3567, 0.3565",\
"0.3768, 0.3742, 0.369, 0.3656, 0.3635, 0.3621, 0.3612, 0.3606, 0.3602, 0.3599",\
"0.383, 0.3803, 0.3755, 0.3719, 0.3697, 0.3683, 0.3675, 0.3669, 0.3664, 0.3661",\
"0.3913, 0.3885, 0.3836, 0.38, 0.3778, 0.3764, 0.3755, 0.3749, 0.3745, 0.3742",\
"0.4017, 0.399, 0.3938, 0.3902, 0.3879, 0.3865, 0.3856, 0.3849, 0.3845, 0.3842",\
"0.4137, 0.4108, 0.4054, 0.4019, 0.3996, 0.3983, 0.3975, 0.3968, 0.3963, 0.396",\
"0.4271, 0.4242, 0.4191, 0.4152, 0.4129, 0.4111, 0.4103, 0.4096, 0.4092, 0.4089");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002521, 0.007861, 0.01806, 0.03395, 0.05624, 0.08557, 0.1225, 0.1676, 0.2214");
values("0.5075, 0.5051, 0.4999, 0.4962, 0.4935, 0.4926, 0.4926, 0.4927, 0.4934, 0.4942",\
"0.5073, 0.505, 0.4996, 0.496, 0.4934, 0.4925, 0.4925, 0.4926, 0.4933, 0.4941",\
"0.5079, 0.506, 0.5007, 0.4969, 0.4942, 0.4932, 0.4932, 0.4933, 0.4941, 0.4946",\
"0.5096, 0.5072, 0.502, 0.4983, 0.4955, 0.4945, 0.4948, 0.4949, 0.4956, 0.4958",\
"0.5127, 0.5103, 0.5051, 0.5015, 0.4989, 0.4979, 0.498, 0.4981, 0.499, 0.4992",\
"0.518, 0.5155, 0.5105, 0.5069, 0.5042, 0.5032, 0.503, 0.5033, 0.504, 0.5047",\
"0.5244, 0.5221, 0.5169, 0.5134, 0.5105, 0.5092, 0.5093, 0.5095, 0.5105, 0.5112",\
"0.5326, 0.5305, 0.5252, 0.5217, 0.5193, 0.5184, 0.5177, 0.5184, 0.5178, 0.5196",\
"0.5412, 0.5385, 0.5336, 0.53, 0.5271, 0.5271, 0.5273, 0.5269, 0.5272, 0.5279",\
"0.5502, 0.5477, 0.5425, 0.5389, 0.5363, 0.5353, 0.5362, 0.5374, 0.5375, 0.5378");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002521, 0.007861, 0.01806, 0.03395, 0.05624, 0.08557, 0.1225, 0.1676, 0.2214");
values("0.5447, 0.5599, 0.6043, 0.6754, 0.7735, 0.9054, 1.078, 1.295, 1.561, 1.877",\
"0.5511, 0.5663, 0.6107, 0.6818, 0.7799, 0.9118, 1.084, 1.302, 1.567, 1.884",\
"0.5777, 0.5929, 0.6373, 0.7084, 0.8065, 0.9384, 1.111, 1.328, 1.594, 1.91",\
"0.6336, 0.6489, 0.6933, 0.7643, 0.8624, 0.9943, 1.167, 1.384, 1.65, 1.966",\
"0.7154, 0.7305, 0.775, 0.8461, 0.9442, 1.076, 1.249, 1.466, 1.731, 2.048",\
"0.8139, 0.8292, 0.8736, 0.9447, 1.043, 1.175, 1.347, 1.564, 1.83, 2.146",\
"0.927, 0.9422, 0.9866, 1.058, 1.156, 1.288, 1.46, 1.678, 1.943, 2.26",\
"1.052, 1.067, 1.112, 1.183, 1.281, 1.413, 1.585, 1.803, 2.068, 2.384",\
"1.189, 1.205, 1.249, 1.32, 1.419, 1.55, 1.723, 1.94, 2.206, 2.522",\
"1.339, 1.354, 1.399, 1.47, 1.568, 1.7, 1.872, 2.09, 2.355, 2.671");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002521, 0.007861, 0.01806, 0.03395, 0.05624, 0.08557, 0.1225, 0.1676, 0.2214");
values("0.6896, 0.7069, 0.7625, 0.864, 1.022, 1.245, 1.539, 1.91, 2.363, 2.903",\
"0.6958, 0.7131, 0.7688, 0.8703, 1.028, 1.251, 1.545, 1.916, 2.37, 2.909",\
"0.7228, 0.7404, 0.7959, 0.8974, 1.055, 1.278, 1.572, 1.943, 2.396, 2.936",\
"0.7801, 0.7974, 0.8529, 0.9544, 1.112, 1.335, 1.629, 2, 2.453, 2.993",\
"0.8643, 0.8816, 0.9372, 1.039, 1.197, 1.42, 1.714, 2.085, 2.538, 3.078",\
"0.9678, 0.985, 1.041, 1.142, 1.3, 1.523, 1.817, 2.188, 2.641, 3.182",\
"1.087, 1.104, 1.16, 1.261, 1.419, 1.642, 1.936, 2.307, 2.761, 3.3",\
"1.22, 1.238, 1.293, 1.395, 1.553, 1.776, 2.07, 2.441, 2.893, 3.434",\
"1.365, 1.383, 1.438, 1.54, 1.698, 1.921, 2.215, 2.585, 3.038, 3.578",\
"1.522, 1.54, 1.595, 1.697, 1.855, 2.078, 2.372, 2.743, 3.196, 3.735");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002521, 0.007861, 0.01806, 0.03395, 0.05624, 0.08557, 0.1225, 0.1676, 0.2214");
values("0.07584, 0.09188, 0.1422, 0.2326, 0.3734, 0.5837, 0.8692, 1.23, 1.673, 2.2",\
"0.07584, 0.09198, 0.1426, 0.2327, 0.3734, 0.5835, 0.8694, 1.231, 1.673, 2.2",\
"0.07584, 0.092, 0.1425, 0.2327, 0.3734, 0.5833, 0.8694, 1.231, 1.673, 2.199",\
"0.07602, 0.09178, 0.1425, 0.2327, 0.3733, 0.5842, 0.8682, 1.23, 1.673, 2.2",\
"0.076, 0.0922, 0.1424, 0.2326, 0.3744, 0.5838, 0.869, 1.23, 1.673, 2.201",\
"0.0762, 0.0918, 0.1424, 0.2328, 0.3742, 0.5842, 0.8684, 1.23, 1.673, 2.2",\
"0.0762, 0.0922, 0.1426, 0.2328, 0.3734, 0.5832, 0.8684, 1.229, 1.671, 2.199",\
"0.0766, 0.0924, 0.1426, 0.2328, 0.374, 0.5834, 0.8676, 1.229, 1.672, 2.196",\
"0.0766, 0.0924, 0.143, 0.2332, 0.3742, 0.5838, 0.8678, 1.229, 1.67, 2.195",\
"0.077, 0.0928, 0.1432, 0.2332, 0.3744, 0.5842, 0.8678, 1.229, 1.671, 2.195");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002521, 0.007861, 0.01806, 0.03395, 0.05624, 0.08557, 0.1225, 0.1676, 0.2214");
values("0.09028, 0.1147, 0.202, 0.3763, 0.6569, 1.056, 1.579, 2.237, 3.041, 3.999",\
"0.09096, 0.1144, 0.202, 0.3763, 0.6568, 1.055, 1.579, 2.237, 3.041, 3.999",\
"0.09028, 0.1146, 0.2018, 0.3764, 0.6568, 1.056, 1.579, 2.238, 3.041, 3.999",\
"0.09066, 0.1146, 0.2018, 0.3766, 0.6564, 1.053, 1.577, 2.24, 3.04, 3.999",\
"0.0908, 0.1146, 0.202, 0.3764, 0.6568, 1.056, 1.579, 2.237, 3.041, 3.999",\
"0.09, 0.114, 0.2018, 0.3768, 0.6564, 1.054, 1.578, 2.239, 3.04, 4",\
"0.09, 0.1146, 0.2018, 0.3768, 0.6566, 1.055, 1.578, 2.239, 3.04, 3.998",\
"0.0894, 0.114, 0.2016, 0.3766, 0.6564, 1.053, 1.579, 2.235, 3.039, 4.001",\
"0.0908, 0.114, 0.202, 0.377, 0.6566, 1.054, 1.578, 2.237, 3.04, 3.997",\
"0.0898, 0.114, 0.2016, 0.3772, 0.6568, 1.054, 1.578, 2.236, 3.041, 4.006");
}
}
}
}