blob: e1bd52759a72a933b3989f3a60e96c3de96ae3bb [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.02507285" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0226809" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0186241" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0225819" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.02507285" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003451 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.4 ;
min_period : 0.941 ;
min_pulse_width_high : 0.373 ;
min_pulse_width_low : 0.386 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.3796, 0.3797, 0.3869, 0.4157, 0.4748, 0.5668, 0.6932, 0.8548, \
1.053, 1.291");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.2462, 0.2465, 0.2512, 0.2752, 0.325, 0.4043, 0.5144, 0.6571, \
0.8339, 1.046");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.3792, 0.3794, 0.3866, 0.4153, 0.4744, 0.5664, 0.6925, 0.8545, \
1.053, 1.29");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.2466, 0.2468, 0.2517, 0.2757, 0.3255, 0.4044, 0.5145, 0.6574, \
0.8342, 1.046");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.32");
}
rise_constraint(scalar) {
values("0.373");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.386");
}
rise_constraint(scalar) {
values("0.311");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.745");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.941");
}
}
}
pin(D) {
capacitance : 0.002457 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.07188, 0.07248, 0.08155, 0.1047, 0.145, 0.2037, 0.2822, 0.3821, \
0.5043, 0.6505");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.00592, 0.006313, 0.01231, 0.03045, 0.0637, 0.1135, 0.181, 0.2672, \
0.3734, 0.5006");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.2652, 0.2657, 0.2722, 0.2935, 0.3361, 0.4025, 0.4939, 0.6109, \
0.7546, 0.9261");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.1714, 0.1717, 0.1772, 0.1946, 0.2285, 0.2816, 0.3551, 0.4505, \
0.5693, 0.7122");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.08, 0.087, 0.103, 0.145, 0.203, 0.259, 0.318, 0.398, 0.487, 0.585",\
"0.073, 0.079, 0.1, 0.139, 0.192, 0.252, 0.314, 0.39, 0.483, 0.579",\
"0.044, 0.055, 0.077, 0.111, 0.165, 0.225, 0.286, 0.364, 0.451, 0.553",\
"-0.007, -0, 0.015, 0.054, 0.107, 0.167, 0.227, 0.302, 0.394, 0.485",\
"-0.073, -0.067, -0.053, -0.011, 0.031, 0.086, 0.148, 0.216, 0.304, 0.396",\
"-0.156, -0.153, -0.136, -0.094, -0.055, -0.009, 0.046, 0.11, 0.191, 0.281",\
"-0.25, -0.245, -0.23, -0.192, -0.158, -0.114, -0.068, -0.01, 0.071, 0.151",\
"-0.362, -0.36, -0.342, -0.308, -0.278, -0.237, -0.201, -0.142, -0.077, -0.001",\
"-0.486, -0.483, -0.464, -0.438, -0.406, -0.382, -0.343, -0.294, -0.235, -0.162",\
"-0.629, -0.623, -0.606, -0.578, -0.563, -0.536, -0.508, -0.467, -0.408, -0.348");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.12, 0.124, 0.149, 0.193, 0.256, 0.335, 0.423, 0.52, 0.627, 0.741",\
"0.116, 0.119, 0.149, 0.189, 0.255, 0.329, 0.421, 0.514, 0.625, 0.745",\
"0.105, 0.112, 0.136, 0.18, 0.242, 0.319, 0.406, 0.508, 0.611, 0.73",\
"0.1, 0.105, 0.129, 0.171, 0.237, 0.313, 0.402, 0.496, 0.606, 0.725",\
"0.109, 0.105, 0.127, 0.175, 0.241, 0.32, 0.405, 0.498, 0.604, 0.72",\
"0.125, 0.128, 0.147, 0.197, 0.256, 0.338, 0.425, 0.52, 0.625, 0.738",\
"0.163, 0.166, 0.186, 0.236, 0.296, 0.374, 0.462, 0.558, 0.665, 0.776",\
"0.228, 0.231, 0.255, 0.296, 0.355, 0.434, 0.514, 0.614, 0.715, 0.831",\
"0.325, 0.322, 0.342, 0.382, 0.438, 0.514, 0.592, 0.686, 0.787, 0.905",\
"0.451, 0.446, 0.469, 0.505, 0.557, 0.617, 0.695, 0.788, 0.886, 1.002");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.246, 0.234, 0.213, 0.174, 0.124, 0.071, 0.005, -0.067, -0.151, -0.24",\
"0.247, 0.238, 0.218, 0.182, 0.129, 0.073, 0.014, -0.062, -0.145, -0.232",\
"0.272, 0.263, 0.252, 0.21, 0.153, 0.099, 0.034, -0.039, -0.117, -0.206",\
"0.325, 0.316, 0.294, 0.264, 0.205, 0.151, 0.088, 0.017, -0.065, -0.152",\
"0.408, 0.403, 0.379, 0.338, 0.29, 0.232, 0.168, 0.098, 0.02, -0.062",\
"0.518, 0.506, 0.485, 0.446, 0.397, 0.338, 0.276, 0.208, 0.131, 0.043",\
"0.656, 0.642, 0.622, 0.585, 0.534, 0.471, 0.408, 0.335, 0.261, 0.176",\
"0.809, 0.801, 0.78, 0.741, 0.686, 0.626, 0.558, 0.492, 0.415, 0.333",\
"0.996, 0.983, 0.965, 0.921, 0.864, 0.799, 0.733, 0.665, 0.59, 0.513",\
"1.199, 1.188, 1.166, 1.123, 1.064, 0.993, 0.928, 0.857, 0.788, 0.704");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.143, 0.135, 0.121, 0.078, 0.018, -0.053, -0.13, -0.225, -0.319, -0.413",\
"0.148, 0.139, 0.12, 0.083, 0.019, -0.054, -0.123, -0.221, -0.32, -0.423",\
"0.164, 0.157, 0.136, 0.091, 0.033, -0.036, -0.118, -0.214, -0.298, -0.402",\
"0.182, 0.172, 0.155, 0.116, 0.049, -0.021, -0.105, -0.194, -0.284, -0.384",\
"0.203, 0.2, 0.173, 0.132, 0.068, -0.008, -0.089, -0.184, -0.28, -0.386",\
"0.21, 0.203, 0.184, 0.141, 0.079, 0, -0.091, -0.181, -0.277, -0.382",\
"0.213, 0.207, 0.182, 0.14, 0.079, 0, -0.088, -0.185, -0.285, -0.391",\
"0.199, 0.19, 0.167, 0.126, 0.059, -0.017, -0.108, -0.198, -0.305, -0.415",\
"0.165, 0.158, 0.138, 0.094, 0.028, -0.044, -0.134, -0.237, -0.343, -0.452",\
"0.119, 0.11, 0.091, 0.05, -0.017, -0.101, -0.187, -0.287, -0.396, -0.505");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.2125 ;
max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.00246, 0.007584, 0.01737, 0.03262, 0.05401, 0.08216, 0.1176, 0.1609, 0.2125");
values("0.5189, 0.5146, 0.5048, 0.4965, 0.4911, 0.4876, 0.4852, 0.4836, 0.4822, 0.4815",\
"0.5189, 0.5147, 0.5045, 0.4966, 0.4911, 0.4875, 0.4852, 0.4834, 0.4824, 0.4815",\
"0.5189, 0.5146, 0.5047, 0.4964, 0.4909, 0.4875, 0.4852, 0.4836, 0.4822, 0.4815",\
"0.5212, 0.5168, 0.5066, 0.4987, 0.4934, 0.4898, 0.4874, 0.4857, 0.4845, 0.4836",\
"0.5291, 0.5247, 0.5145, 0.5066, 0.501, 0.4977, 0.4952, 0.4934, 0.4924, 0.4916",\
"0.5436, 0.5393, 0.5292, 0.5208, 0.5154, 0.5118, 0.5093, 0.5076, 0.5064, 0.5055",\
"0.5622, 0.5576, 0.5477, 0.539, 0.5334, 0.5297, 0.5272, 0.5255, 0.5243, 0.5233",\
"0.5851, 0.5805, 0.5702, 0.5616, 0.5557, 0.552, 0.5493, 0.5475, 0.5462, 0.5453",\
"0.612, 0.6075, 0.5968, 0.5866, 0.581, 0.5771, 0.5751, 0.5732, 0.5721, 0.5711",\
"0.641, 0.6362, 0.6253, 0.616, 0.6098, 0.6057, 0.603, 0.601, 0.5996, 0.5986");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.00246, 0.007584, 0.01737, 0.03262, 0.05401, 0.08216, 0.1176, 0.1609, 0.2125");
values("0.6985, 0.6938, 0.6842, 0.6767, 0.6704, 0.6665, 0.6649, 0.6646, 0.6641, 0.6652",\
"0.6987, 0.6944, 0.685, 0.6768, 0.6703, 0.6665, 0.6652, 0.6645, 0.6645, 0.6645",\
"0.699, 0.6946, 0.6852, 0.6772, 0.6708, 0.6668, 0.6657, 0.665, 0.6649, 0.6649",\
"0.7021, 0.6976, 0.6883, 0.6805, 0.6741, 0.6703, 0.6688, 0.6681, 0.6681, 0.6687",\
"0.7094, 0.7051, 0.695, 0.6873, 0.6811, 0.6774, 0.6756, 0.6751, 0.675, 0.6751",\
"0.7203, 0.7155, 0.7059, 0.6981, 0.6919, 0.6881, 0.6866, 0.6865, 0.6859, 0.687",\
"0.7347, 0.7298, 0.7208, 0.7128, 0.7069, 0.7028, 0.7012, 0.7007, 0.7006, 0.7023",\
"0.7526, 0.7486, 0.7379, 0.73, 0.7245, 0.7208, 0.7185, 0.7169, 0.7174, 0.7179",\
"0.771, 0.7663, 0.7565, 0.7485, 0.7419, 0.7389, 0.7379, 0.7366, 0.7361, 0.7361",\
"0.7913, 0.7871, 0.7774, 0.7689, 0.7619, 0.7576, 0.7567, 0.7582, 0.7571, 0.7571");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.00246, 0.007584, 0.01737, 0.03262, 0.05401, 0.08216, 0.1176, 0.1609, 0.2125");
values("0.4729, 0.4862, 0.5252, 0.5884, 0.6766, 0.7953, 0.9505, 1.146, 1.385, 1.67",\
"0.4781, 0.4913, 0.5303, 0.5935, 0.6817, 0.8004, 0.9556, 1.151, 1.39, 1.676",\
"0.4998, 0.513, 0.5521, 0.6152, 0.7034, 0.8221, 0.9772, 1.173, 1.412, 1.697",\
"0.5457, 0.559, 0.598, 0.6612, 0.7494, 0.8682, 1.023, 1.219, 1.458, 1.743",\
"0.6135, 0.6267, 0.6658, 0.729, 0.8173, 0.936, 1.091, 1.287, 1.526, 1.811",\
"0.696, 0.7092, 0.7483, 0.8115, 0.8997, 1.018, 1.173, 1.369, 1.608, 1.894",\
"0.7885, 0.8018, 0.841, 0.9041, 0.9924, 1.111, 1.266, 1.462, 1.701, 1.986",\
"0.8913, 0.9045, 0.9436, 1.007, 1.095, 1.214, 1.369, 1.564, 1.803, 2.088",\
"1.003, 1.016, 1.055, 1.118, 1.207, 1.325, 1.48, 1.676, 1.915, 2.2",\
"1.124, 1.137, 1.176, 1.239, 1.327, 1.446, 1.601, 1.797, 2.035, 2.32");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.00246, 0.007584, 0.01737, 0.03262, 0.05401, 0.08216, 0.1176, 0.1609, 0.2125");
values("0.591, 0.6056, 0.6514, 0.7346, 0.8628, 1.044, 1.284, 1.588, 1.959, 2.401",\
"0.5962, 0.611, 0.6566, 0.7396, 0.868, 1.049, 1.29, 1.593, 1.964, 2.406",\
"0.6182, 0.633, 0.6786, 0.7617, 0.89, 1.072, 1.312, 1.615, 1.986, 2.428",\
"0.6658, 0.6804, 0.7263, 0.8093, 0.9378, 1.119, 1.359, 1.663, 2.034, 2.476",\
"0.7367, 0.7514, 0.7969, 0.8801, 1.008, 1.19, 1.43, 1.733, 2.104, 2.546",\
"0.8242, 0.8388, 0.8845, 0.9676, 1.096, 1.278, 1.517, 1.821, 2.192, 2.635",\
"0.9242, 0.9388, 0.9846, 1.068, 1.196, 1.378, 1.618, 1.921, 2.292, 2.735",\
"1.035, 1.05, 1.095, 1.178, 1.306, 1.488, 1.728, 2.031, 2.402, 2.845",\
"1.154, 1.169, 1.214, 1.297, 1.425, 1.607, 1.847, 2.15, 2.521, 2.963",\
"1.283, 1.297, 1.343, 1.426, 1.554, 1.736, 1.975, 2.279, 2.649, 3.091");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.00246, 0.007584, 0.01737, 0.03262, 0.05401, 0.08216, 0.1176, 0.1609, 0.2125");
values("0.07526, 0.09, 0.1355, 0.2186, 0.3492, 0.5431, 0.8051, 1.139, 1.549, 2.037",\
"0.07522, 0.0899, 0.1354, 0.2185, 0.3496, 0.5423, 0.806, 1.14, 1.549, 2.036",\
"0.07522, 0.08992, 0.1356, 0.2186, 0.349, 0.5422, 0.8059, 1.14, 1.548, 2.036",\
"0.07522, 0.09002, 0.1355, 0.2186, 0.3489, 0.5424, 0.8052, 1.139, 1.549, 2.036",\
"0.07528, 0.09006, 0.1356, 0.2187, 0.349, 0.5424, 0.8054, 1.139, 1.548, 2.036",\
"0.0754, 0.0898, 0.1356, 0.2188, 0.3494, 0.5432, 0.8046, 1.138, 1.549, 2.037",\
"0.0756, 0.0902, 0.1356, 0.219, 0.3496, 0.5428, 0.8048, 1.14, 1.546, 2.036",\
"0.076, 0.0906, 0.1362, 0.2192, 0.3496, 0.5434, 0.8044, 1.138, 1.547, 2.036",\
"0.0766, 0.091, 0.1368, 0.2192, 0.35, 0.543, 0.8058, 1.138, 1.545, 2.033",\
"0.077, 0.0914, 0.137, 0.2196, 0.3502, 0.5434, 0.805, 1.14, 1.548, 2.033");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.00246, 0.007584, 0.01737, 0.03262, 0.05401, 0.08216, 0.1176, 0.1609, 0.2125");
values("0.08934, 0.1094, 0.181, 0.3276, 0.5631, 0.8993, 1.344, 1.906, 2.591, 3.4",\
"0.08968, 0.1091, 0.1807, 0.3273, 0.563, 0.899, 1.345, 1.903, 2.585, 3.4",\
"0.08932, 0.109, 0.181, 0.3278, 0.5629, 0.8992, 1.345, 1.903, 2.585, 3.4",\
"0.0894, 0.1093, 0.1812, 0.3273, 0.563, 0.899, 1.345, 1.904, 2.589, 3.4",\
"0.0894, 0.109, 0.1808, 0.328, 0.563, 0.9, 1.344, 1.906, 2.586, 3.399",\
"0.089, 0.1084, 0.181, 0.3278, 0.563, 0.8992, 1.344, 1.906, 2.591, 3.4",\
"0.0894, 0.1086, 0.1812, 0.3278, 0.5628, 0.8992, 1.344, 1.905, 2.591, 3.4",\
"0.0892, 0.109, 0.181, 0.3278, 0.5628, 0.8994, 1.345, 1.906, 2.585, 3.399",\
"0.0894, 0.1088, 0.181, 0.3276, 0.563, 0.8998, 1.344, 1.906, 2.585, 3.399",\
"0.0892, 0.1092, 0.1808, 0.3274, 0.5632, 0.8992, 1.344, 1.903, 2.586, 3.401");
}
}
}
}