blob: a296df24aba98d840b031647553e2b6ba3c5c713 [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.0002879964" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0002894796" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0002532924" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0002496132" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002894796" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003433 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
min_period : 0.834 ;
min_pulse_width_high : 0.324 ;
min_pulse_width_low : 0.414 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1545, 0.1541, 0.1567, 0.1682, 0.1904, 0.2247, 0.2717, 0.3321, \
0.4067, 0.4957");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.09827, 0.09805, 0.1001, 0.1097, 0.1283, 0.1577, 0.199, 0.2519, \
0.3173, 0.3957");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1544, 0.1541, 0.1566, 0.1681, 0.1904, 0.2246, 0.2716, 0.3321, \
0.4066, 0.4954");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.09848, 0.09819, 0.1003, 0.1099, 0.1285, 0.158, 0.199, 0.2521, \
0.3174, 0.3959");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.382");
}
rise_constraint(scalar) {
values("0.324");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.414");
}
rise_constraint(scalar) {
values("0.3");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.769");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.834");
}
}
}
pin(D) {
capacitance : 0.002446 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.02942, 0.02938, 0.03302, 0.04249, 0.05879, 0.08253, 0.1143, \
0.1546, 0.2042, 0.2635");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.002555, 0.002551, 0.004969, 0.01245, 0.02599, 0.04605, 0.07309, \
0.1076, 0.1501, 0.2008");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1034, 0.1033, 0.1056, 0.1143, 0.1307, 0.1557, 0.1899, 0.2339, \
0.2879, 0.3526");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.06654, 0.06656, 0.0687, 0.07571, 0.08877, 0.109, 0.1369, 0.1732, \
0.2182, 0.2723");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.046, 0.053, 0.083, 0.142, 0.216, 0.303, 0.4, 0.517, 0.653, 0.804",\
"0.037, 0.043, 0.078, 0.134, 0.211, 0.293, 0.393, 0.506, 0.647, 0.795",\
"-0.004, 0.007, 0.035, 0.095, 0.166, 0.252, 0.345, 0.465, 0.598, 0.754",\
"-0.076, -0.071, -0.039, 0.015, 0.092, 0.173, 0.267, 0.379, 0.511, 0.664",\
"-0.176, -0.17, -0.138, -0.079, -0.009, 0.063, 0.16, 0.274, 0.401, 0.55",\
"-0.296, -0.285, -0.252, -0.201, -0.136, -0.061, 0.026, 0.134, 0.26, 0.407",\
"-0.437, -0.431, -0.403, -0.35, -0.29, -0.219, -0.13, -0.026, 0.1, 0.237",\
"-0.598, -0.595, -0.566, -0.521, -0.459, -0.395, -0.311, -0.211, -0.089, 0.048",\
"-0.791, -0.785, -0.762, -0.717, -0.665, -0.603, -0.521, -0.424, -0.305, -0.178",\
"-1.011, -1.008, -0.98, -0.941, -0.888, -0.837, -0.763, -0.664, -0.555, -0.425");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.132, 0.142, 0.179, 0.248, 0.338, 0.453, 0.577, 0.716, 0.88, 1.055",\
"0.121, 0.135, 0.172, 0.238, 0.332, 0.446, 0.568, 0.716, 0.876, 1.047",\
"0.11, 0.12, 0.153, 0.225, 0.317, 0.425, 0.552, 0.699, 0.855, 1.032",\
"0.103, 0.11, 0.148, 0.217, 0.307, 0.417, 0.545, 0.688, 0.847, 1.023",\
"0.107, 0.118, 0.153, 0.226, 0.321, 0.425, 0.547, 0.698, 0.852, 1.034",\
"0.14, 0.153, 0.186, 0.259, 0.343, 0.455, 0.582, 0.724, 0.881, 1.059",\
"0.192, 0.203, 0.242, 0.307, 0.4, 0.504, 0.627, 0.776, 0.929, 1.104",\
"0.284, 0.289, 0.329, 0.389, 0.482, 0.583, 0.703, 0.847, 1.006, 1.182",\
"0.406, 0.412, 0.445, 0.502, 0.588, 0.691, 0.803, 0.953, 1.107, 1.276",\
"0.558, 0.57, 0.602, 0.652, 0.733, 0.825, 0.945, 1.086, 1.23, 1.406");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.223, 0.217, 0.18, 0.116, 0.036, -0.055, -0.163, -0.286, -0.415, -0.573",\
"0.232, 0.227, 0.186, 0.123, 0.045, -0.047, -0.152, -0.273, -0.406, -0.562",\
"0.275, 0.267, 0.223, 0.165, 0.083, -0.004, -0.115, -0.231, -0.372, -0.523",\
"0.354, 0.343, 0.306, 0.243, 0.164, 0.071, -0.034, -0.154, -0.294, -0.445",\
"0.469, 0.462, 0.428, 0.363, 0.278, 0.187, 0.077, -0.043, -0.179, -0.331",\
"0.619, 0.608, 0.574, 0.511, 0.425, 0.333, 0.218, 0.102, -0.04, -0.185",\
"0.803, 0.792, 0.754, 0.69, 0.606, 0.506, 0.397, 0.274, 0.134, -0.01",\
"1.02, 1.008, 0.971, 0.905, 0.818, 0.714, 0.601, 0.479, 0.339, 0.196",\
"1.266, 1.255, 1.219, 1.145, 1.057, 0.952, 0.835, 0.715, 0.582, 0.426",\
"1.544, 1.533, 1.502, 1.423, 1.328, 1.226, 1.104, 0.987, 0.841, 0.693");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.132, 0.121, 0.092, 0.023, -0.06, -0.16, -0.297, -0.435, -0.583, -0.753",\
"0.142, 0.128, 0.092, 0.033, -0.049, -0.154, -0.289, -0.43, -0.576, -0.75",\
"0.161, 0.154, 0.117, 0.051, -0.027, -0.136, -0.27, -0.41, -0.557, -0.728",\
"0.188, 0.183, 0.144, 0.077, -0.01, -0.117, -0.242, -0.379, -0.544, -0.707",\
"0.206, 0.196, 0.166, 0.092, 0.008, -0.103, -0.232, -0.366, -0.53, -0.698",\
"0.213, 0.201, 0.161, 0.097, 0.002, -0.102, -0.236, -0.379, -0.538, -0.71",\
"0.195, 0.186, 0.144, 0.078, -0.012, -0.125, -0.26, -0.402, -0.557, -0.736",\
"0.154, 0.146, 0.107, 0.037, -0.049, -0.164, -0.298, -0.444, -0.607, -0.781",\
"0.089, 0.078, 0.043, -0.025, -0.12, -0.231, -0.366, -0.512, -0.667, -0.852",\
"0.001, -0.014, -0.047, -0.122, -0.213, -0.324, -0.455, -0.597, -0.767, -0.95");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.28 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.00983, 0.04082, 0.1, 0.1922, 0.3216, 0.4919, 0.7064, 0.9682, 1.28");
values("0.4337, 0.4165, 0.3857, 0.3672, 0.357, 0.3511, 0.3471, 0.3446, 0.3427, 0.3414",\
"0.4337, 0.4166, 0.3855, 0.3672, 0.3569, 0.351, 0.3471, 0.3445, 0.3427, 0.3414",\
"0.4337, 0.4163, 0.3856, 0.3671, 0.357, 0.3509, 0.3471, 0.3444, 0.3426, 0.3414",\
"0.4346, 0.4173, 0.3863, 0.368, 0.358, 0.3519, 0.348, 0.3454, 0.3436, 0.3424",\
"0.4372, 0.4196, 0.3885, 0.3704, 0.3604, 0.3542, 0.3503, 0.3477, 0.3459, 0.3446",\
"0.4405, 0.4232, 0.3923, 0.3739, 0.3636, 0.3574, 0.3534, 0.3507, 0.3489, 0.3476",\
"0.4452, 0.4277, 0.3965, 0.378, 0.3677, 0.3615, 0.3576, 0.355, 0.3531, 0.3519",\
"0.4508, 0.433, 0.4016, 0.3833, 0.373, 0.3669, 0.3629, 0.3602, 0.3584, 0.357",\
"0.4573, 0.4397, 0.4082, 0.3895, 0.379, 0.3729, 0.3688, 0.3662, 0.3644, 0.363",\
"0.465, 0.4474, 0.4156, 0.3969, 0.3863, 0.3798, 0.3756, 0.3729, 0.371, 0.3697");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.00983, 0.04082, 0.1, 0.1922, 0.3216, 0.4919, 0.7064, 0.9682, 1.28");
values("0.4542, 0.4449, 0.4307, 0.4223, 0.4174, 0.4161, 0.4196, 0.4208, 0.4222, 0.4259",\
"0.4543, 0.4449, 0.4301, 0.4224, 0.4194, 0.4168, 0.4203, 0.4208, 0.424, 0.4292",\
"0.4546, 0.4454, 0.4302, 0.4221, 0.4181, 0.4171, 0.4196, 0.4208, 0.4232, 0.4262",\
"0.4559, 0.4461, 0.4315, 0.4239, 0.4195, 0.4186, 0.4221, 0.4229, 0.4254, 0.4288",\
"0.4582, 0.4485, 0.4335, 0.4261, 0.4231, 0.4215, 0.4236, 0.4248, 0.4258, 0.4299",\
"0.4603, 0.4513, 0.437, 0.4286, 0.4243, 0.4233, 0.4257, 0.4276, 0.4304, 0.4329",\
"0.4641, 0.4538, 0.4402, 0.4315, 0.4304, 0.4285, 0.4295, 0.431, 0.4331, 0.44",\
"0.4689, 0.4593, 0.4434, 0.4356, 0.4336, 0.4346, 0.4367, 0.4379, 0.4378, 0.4414",\
"0.4728, 0.4635, 0.4503, 0.4408, 0.437, 0.4372, 0.4432, 0.4433, 0.4454, 0.4472",\
"0.4782, 0.4689, 0.4547, 0.4465, 0.4425, 0.4405, 0.4437, 0.4521, 0.4523, 0.4558");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.00983, 0.04082, 0.1, 0.1922, 0.3216, 0.4919, 0.7064, 0.9682, 1.28");
values("0.5675, 0.5938, 0.6602, 0.755, 0.8765, 1.034, 1.237, 1.493, 1.805, 2.177",\
"0.5764, 0.6028, 0.6692, 0.764, 0.8855, 1.043, 1.246, 1.502, 1.814, 2.186",\
"0.6135, 0.6398, 0.7062, 0.801, 0.9225, 1.08, 1.283, 1.539, 1.851, 2.223",\
"0.6868, 0.713, 0.7795, 0.8742, 0.9958, 1.153, 1.357, 1.612, 1.924, 2.296",\
"0.7842, 0.8106, 0.877, 0.9719, 1.093, 1.251, 1.454, 1.71, 2.022, 2.394",\
"0.901, 0.9272, 0.9937, 1.089, 1.21, 1.368, 1.571, 1.826, 2.138, 2.511",\
"1.035, 1.061, 1.128, 1.223, 1.344, 1.502, 1.705, 1.96, 2.272, 2.645",\
"1.186, 1.212, 1.279, 1.373, 1.495, 1.652, 1.856, 2.111, 2.423, 2.795",\
"1.353, 1.38, 1.446, 1.541, 1.663, 1.82, 2.023, 2.279, 2.591, 2.963",\
"1.538, 1.564, 1.631, 1.726, 1.847, 2.005, 2.208, 2.464, 2.776, 3.148");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.00983, 0.04082, 0.1, 0.1922, 0.3216, 0.4919, 0.7064, 0.9682, 1.28");
values("0.6279, 0.6533, 0.7283, 0.8642, 1.076, 1.376, 1.77, 2.267, 2.875, 3.6",\
"0.637, 0.6623, 0.7371, 0.8732, 1.086, 1.385, 1.779, 2.277, 2.884, 3.608",\
"0.6742, 0.6997, 0.7745, 0.9105, 1.123, 1.422, 1.817, 2.314, 2.922, 3.646",\
"0.749, 0.7742, 0.8491, 0.9852, 1.198, 1.497, 1.891, 2.389, 2.996, 3.72",\
"0.8495, 0.875, 0.9498, 1.086, 1.298, 1.598, 1.992, 2.489, 3.097, 3.821",\
"0.9704, 0.9959, 1.071, 1.207, 1.419, 1.718, 2.113, 2.61, 3.217, 3.942",\
"1.111, 1.136, 1.211, 1.347, 1.56, 1.859, 2.254, 2.751, 3.359, 4.081",\
"1.268, 1.294, 1.368, 1.504, 1.716, 2.016, 2.41, 2.908, 3.515, 4.239",\
"1.441, 1.467, 1.542, 1.677, 1.89, 2.189, 2.584, 3.081, 3.688, 4.412",\
"1.631, 1.656, 1.731, 1.867, 2.079, 2.379, 2.773, 3.271, 3.878, 4.601");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.00983, 0.04082, 0.1, 0.1922, 0.3216, 0.4919, 0.7064, 0.9682, 1.28");
values("0.08662, 0.1117, 0.177, 0.2813, 0.4399, 0.6783, 1.008, 1.43, 1.948, 2.565",\
"0.08662, 0.112, 0.1771, 0.2811, 0.439, 0.6773, 1.008, 1.43, 1.948, 2.568",\
"0.08672, 0.1117, 0.1771, 0.2815, 0.4399, 0.678, 1.008, 1.43, 1.948, 2.568",\
"0.08686, 0.1119, 0.1772, 0.2812, 0.4396, 0.6774, 1.006, 1.429, 1.949, 2.567",\
"0.0866, 0.1112, 0.177, 0.2814, 0.439, 0.6776, 1.008, 1.431, 1.948, 2.565",\
"0.0866, 0.112, 0.1772, 0.2816, 0.4392, 0.6786, 1.007, 1.429, 1.948, 2.568",\
"0.087, 0.1116, 0.1772, 0.2812, 0.439, 0.6782, 1.006, 1.428, 1.947, 2.568",\
"0.087, 0.1116, 0.1774, 0.2814, 0.4392, 0.679, 1.006, 1.428, 1.946, 2.565",\
"0.0872, 0.1124, 0.1776, 0.2818, 0.4392, 0.678, 1.006, 1.428, 1.945, 2.562",\
"0.0876, 0.1122, 0.1778, 0.2818, 0.4392, 0.6774, 1.007, 1.428, 1.946, 2.564");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.00983, 0.04082, 0.1, 0.1922, 0.3216, 0.4919, 0.7064, 0.9682, 1.28");
values("0.0708, 0.1027, 0.2161, 0.4476, 0.8181, 1.341, 2.029, 2.897, 3.954, 5.211",\
"0.0707, 0.103, 0.2163, 0.4473, 0.8181, 1.34, 2.028, 2.896, 3.95, 5.211",\
"0.07108, 0.1027, 0.2163, 0.4474, 0.817, 1.341, 2.029, 2.897, 3.949, 5.21",\
"0.0706, 0.103, 0.2162, 0.4474, 0.8172, 1.34, 2.028, 2.891, 3.95, 5.213",\
"0.0712, 0.1026, 0.2162, 0.4474, 0.818, 1.341, 2.028, 2.897, 3.956, 5.21",\
"0.0706, 0.1024, 0.2162, 0.4476, 0.8184, 1.341, 2.026, 2.89, 3.949, 5.216",\
"0.0704, 0.1028, 0.216, 0.4476, 0.8178, 1.34, 2.027, 2.896, 3.954, 5.208",\
"0.0698, 0.1022, 0.2158, 0.4474, 0.8178, 1.339, 2.027, 2.894, 3.948, 5.21",\
"0.0706, 0.1022, 0.2156, 0.4476, 0.8184, 1.339, 2.025, 2.891, 3.946, 5.204",\
"0.0694, 0.1022, 0.216, 0.4474, 0.8176, 1.34, 2.027, 2.889, 3.946, 5.215");
}
}
}
}