blob: 14d507246d3e4d874013dd1a77995dfd1c9333ad [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__dffq_4) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.00988308" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.01548612" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00966096" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.01331136" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.01548612" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003391 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
min_period : 1.402 ;
min_pulse_width_high : 0.624 ;
min_pulse_width_low : 0.701 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1496, 0.1495, 0.1534, 0.1689, 0.1986, 0.2441, 0.3059, 0.385, \
0.4819, 0.5978");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1093, 0.1092, 0.1121, 0.1251, 0.1502, 0.1895, 0.2438, 0.3137, \
0.3999, 0.5032");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1521, 0.1519, 0.1558, 0.1713, 0.2011, 0.2465, 0.3083, 0.3873, \
0.4841, 0.6");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1087, 0.1085, 0.1115, 0.1245, 0.1498, 0.1892, 0.2436, 0.3135, \
0.3996, 0.5027");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.701");
}
rise_constraint(scalar) {
values("0.434");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.486");
}
rise_constraint(scalar) {
values("0.624");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.402");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.285");
}
}
}
pin(D) {
capacitance : 0.002431 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
nextstate_type : data ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.08878, 0.08817, 0.08886, 0.09495, 0.1083, 0.1292, 0.1579, 0.1948, \
0.2401, 0.2941");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.05784, 0.05814, 0.05983, 0.06545, 0.07602, 0.0923, 0.1149, 0.144, \
0.1802, 0.2234");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.005316, 0.00531, 0.005308, 0.005318, 0.005309, 0.00531, 0.005319, \
0.005308, 0.005308, 0.0053");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("-0.003833, -0.003843, -0.00384, -0.003835, -0.00384, -0.003862, \
-0.00387, -0.003879, -0.003891, -0.003905");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.109, 0.114, 0.151, 0.195, 0.232, 0.253, 0.255, 0.235, 0.189, 0.122",\
"0.106, 0.114, 0.147, 0.195, 0.231, 0.246, 0.249, 0.225, 0.181, 0.121",\
"0.059, 0.072, 0.107, 0.148, 0.191, 0.208, 0.207, 0.188, 0.142, 0.078",\
"-0.031, -0.022, 0.012, 0.054, 0.097, 0.115, 0.117, 0.088, 0.043, -0.022",\
"-0.173, -0.164, -0.13, -0.088, -0.047, -0.035, -0.026, -0.06, -0.109, -0.172",\
"-0.344, -0.335, -0.298, -0.262, -0.225, -0.216, -0.221, -0.251, -0.296, -0.369",\
"-0.556, -0.548, -0.507, -0.483, -0.451, -0.44, -0.448, -0.484, -0.544, -0.613",\
"-0.815, -0.806, -0.765, -0.749, -0.716, -0.705, -0.715, -0.762, -0.825, -0.894",\
"-1.119, -1.113, -1.073, -1.064, -1.03, -1.027, -1.045, -1.088, -1.162, -1.237",\
"-1.473, -1.462, -1.432, -1.429, -1.404, -1.402, -1.414, -1.467, -1.545, -1.624");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.074, 0.081, 0.116, 0.154, 0.186, 0.203, 0.203, 0.194, 0.168, 0.14",\
"0.072, 0.076, 0.109, 0.152, 0.184, 0.2, 0.204, 0.194, 0.167, 0.139",\
"0.069, 0.072, 0.107, 0.148, 0.175, 0.197, 0.199, 0.188, 0.163, 0.133",\
"0.076, 0.082, 0.116, 0.149, 0.18, 0.191, 0.196, 0.181, 0.149, 0.113",\
"0.111, 0.117, 0.147, 0.181, 0.2, 0.209, 0.202, 0.177, 0.145, 0.101",\
"0.201, 0.203, 0.233, 0.255, 0.271, 0.272, 0.252, 0.224, 0.175, 0.122",\
"0.348, 0.348, 0.369, 0.386, 0.394, 0.384, 0.357, 0.318, 0.258, 0.201",\
"0.549, 0.547, 0.567, 0.578, 0.58, 0.557, 0.518, 0.475, 0.406, 0.338",\
"0.812, 0.807, 0.826, 0.827, 0.821, 0.785, 0.738, 0.685, 0.605, 0.535",\
"1.139, 1.13, 1.147, 1.145, 1.12, 1.079, 1.02, 0.957, 0.865, 0.786");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.338, 0.326, 0.285, 0.232, 0.19, 0.166, 0.164, 0.185, 0.233, 0.31",\
"0.342, 0.328, 0.286, 0.239, 0.192, 0.172, 0.169, 0.189, 0.237, 0.314",\
"0.382, 0.372, 0.33, 0.282, 0.239, 0.211, 0.211, 0.233, 0.288, 0.359",\
"0.499, 0.491, 0.449, 0.4, 0.358, 0.332, 0.334, 0.347, 0.396, 0.468",\
"0.701, 0.69, 0.651, 0.598, 0.559, 0.531, 0.533, 0.548, 0.592, 0.666",\
"0.975, 0.96, 0.923, 0.869, 0.828, 0.807, 0.793, 0.812, 0.858, 0.928",\
"1.313, 1.302, 1.264, 1.204, 1.166, 1.135, 1.133, 1.143, 1.187, 1.26",\
"1.717, 1.709, 1.661, 1.601, 1.564, 1.536, 1.526, 1.544, 1.578, 1.653",\
"2.182, 2.169, 2.127, 2.063, 2.021, 1.988, 1.979, 1.992, 2.036, 2.108",\
"2.724, 2.705, 2.666, 2.59, 2.537, 2.508, 2.499, 2.508, 2.556, 2.622");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.321, 0.313, 0.275, 0.208, 0.177, 0.156, 0.164, 0.19, 0.246, 0.319",\
"0.335, 0.328, 0.281, 0.221, 0.185, 0.166, 0.169, 0.2, 0.244, 0.333",\
"0.357, 0.356, 0.308, 0.251, 0.216, 0.194, 0.195, 0.217, 0.267, 0.349",\
"0.384, 0.378, 0.33, 0.278, 0.237, 0.217, 0.221, 0.248, 0.298, 0.371",\
"0.384, 0.382, 0.337, 0.282, 0.241, 0.218, 0.225, 0.253, 0.305, 0.383",\
"0.354, 0.345, 0.303, 0.249, 0.209, 0.197, 0.197, 0.228, 0.287, 0.369",\
"0.277, 0.279, 0.231, 0.178, 0.133, 0.112, 0.126, 0.155, 0.222, 0.311",\
"0.153, 0.148, 0.102, 0.053, 0.004, -0.01, 0.006, 0.04, 0.108, 0.2",\
"-0.025, -0.035, -0.08, -0.131, -0.174, -0.187, -0.171, -0.131, -0.053, 0.048",\
"-0.256, -0.269, -0.312, -0.371, -0.403, -0.414, -0.397, -0.357, -0.273, -0.167");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.453 ;
max_transition : 7.4 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "CLK" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.01102, 0.0462, 0.1134, 0.218, 0.3649, 0.5581, 0.8015, 1.099, 1.453");
values("0.4078, 0.3922, 0.3699, 0.3583, 0.3522, 0.3488, 0.3466, 0.3452, 0.3441, 0.3435",\
"0.4079, 0.3923, 0.3699, 0.3584, 0.352, 0.3487, 0.3464, 0.3451, 0.344, 0.3435",\
"0.408, 0.3926, 0.3701, 0.3584, 0.3523, 0.3489, 0.3467, 0.3453, 0.3443, 0.3437",\
"0.4085, 0.3931, 0.3708, 0.359, 0.3529, 0.3495, 0.3474, 0.3459, 0.345, 0.3442",\
"0.41, 0.3942, 0.3721, 0.3603, 0.3543, 0.351, 0.3489, 0.3471, 0.3462, 0.3456",\
"0.4112, 0.3959, 0.3731, 0.362, 0.3556, 0.3518, 0.3498, 0.3484, 0.3475, 0.3468",\
"0.413, 0.3976, 0.3753, 0.3639, 0.3574, 0.3539, 0.3515, 0.3503, 0.3491, 0.3485",\
"0.4151, 0.3999, 0.3773, 0.3657, 0.3594, 0.3559, 0.354, 0.3524, 0.3513, 0.3506",\
"0.4175, 0.4021, 0.3798, 0.3681, 0.3617, 0.3582, 0.3561, 0.3545, 0.3537, 0.3531",\
"0.42, 0.4045, 0.382, 0.371, 0.3643, 0.3609, 0.3586, 0.3573, 0.3564, 0.3558");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.01102, 0.0462, 0.1134, 0.218, 0.3649, 0.5581, 0.8015, 1.099, 1.453");
values("0.453, 0.4387, 0.4177, 0.4056, 0.4, 0.3997, 0.4015, 0.4028, 0.4066, 0.4171",\
"0.453, 0.4387, 0.4182, 0.4056, 0.4003, 0.3996, 0.4014, 0.4027, 0.4061, 0.4167",\
"0.4529, 0.4385, 0.418, 0.4054, 0.3998, 0.3994, 0.4012, 0.4029, 0.4059, 0.4179",\
"0.4534, 0.439, 0.4179, 0.406, 0.4012, 0.4001, 0.4012, 0.4036, 0.4056, 0.42",\
"0.4546, 0.4398, 0.4191, 0.4073, 0.4019, 0.4015, 0.4029, 0.4046, 0.4092, 0.4223",\
"0.4569, 0.4416, 0.4216, 0.4105, 0.4045, 0.4034, 0.4052, 0.408, 0.41, 0.4266",\
"0.4606, 0.446, 0.4252, 0.4122, 0.4088, 0.4088, 0.4092, 0.4112, 0.4137, 0.4321",\
"0.4662, 0.4514, 0.4317, 0.4181, 0.411, 0.4109, 0.4149, 0.4166, 0.4195, 0.4432",\
"0.4729, 0.4582, 0.4371, 0.4244, 0.4186, 0.4149, 0.4181, 0.4272, 0.4294, 0.4608",\
"0.4816, 0.4661, 0.4454, 0.4321, 0.4255, 0.4229, 0.4225, 0.4298, 0.4446, 0.4889");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.01102, 0.0462, 0.1134, 0.218, 0.3649, 0.5581, 0.8015, 1.099, 1.453");
values("0.8136, 0.8466, 0.9299, 1.055, 1.231, 1.472, 1.788, 2.186, 2.672, 3.252",\
"0.8231, 0.856, 0.9392, 1.064, 1.24, 1.481, 1.797, 2.195, 2.681, 3.261",\
"0.8597, 0.8928, 0.9761, 1.101, 1.277, 1.518, 1.834, 2.232, 2.718, 3.298",\
"0.9157, 0.9486, 1.032, 1.157, 1.333, 1.574, 1.89, 2.288, 2.775, 3.355",\
"0.9635, 0.9964, 1.079, 1.205, 1.38, 1.621, 1.937, 2.336, 2.822, 3.402",\
"0.9967, 1.03, 1.113, 1.238, 1.414, 1.654, 1.97, 2.369, 2.855, 3.435",\
"1.012, 1.045, 1.128, 1.253, 1.429, 1.669, 1.985, 2.384, 2.87, 3.45",\
"1.006, 1.039, 1.122, 1.248, 1.423, 1.664, 1.98, 2.378, 2.864, 3.444",\
"0.977, 1.01, 1.093, 1.218, 1.394, 1.635, 1.951, 2.349, 2.835, 3.415",\
"0.9242, 0.9571, 1.04, 1.166, 1.342, 1.582, 1.898, 2.297, 2.783, 3.363");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.01102, 0.0462, 0.1134, 0.218, 0.3649, 0.5581, 0.8015, 1.099, 1.453");
values("0.8228, 0.8586, 0.9601, 1.145, 1.433, 1.838, 2.372, 3.046, 3.868, 4.848",\
"0.832, 0.8678, 0.9694, 1.154, 1.442, 1.848, 2.382, 3.055, 3.877, 4.857",\
"0.8685, 0.9043, 1.006, 1.191, 1.479, 1.884, 2.418, 3.091, 3.913, 4.894",\
"0.9249, 0.9607, 1.062, 1.247, 1.535, 1.94, 2.475, 3.147, 3.97, 4.95",\
"0.9743, 1.01, 1.111, 1.296, 1.585, 1.99, 2.524, 3.197, 4.019, 5",\
"1.011, 1.047, 1.149, 1.334, 1.622, 2.027, 2.561, 3.234, 4.056, 5.036",\
"1.032, 1.068, 1.169, 1.354, 1.642, 2.047, 2.581, 3.255, 4.078, 5.058",\
"1.034, 1.07, 1.172, 1.357, 1.645, 2.05, 2.584, 3.257, 4.079, 5.06",\
"1.016, 1.052, 1.153, 1.338, 1.626, 2.031, 2.565, 3.238, 4.06, 5.04",\
"0.9754, 1.011, 1.113, 1.298, 1.586, 1.991, 2.525, 3.198, 4.02, 5");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.01102, 0.0462, 0.1134, 0.218, 0.3649, 0.5581, 0.8015, 1.099, 1.453");
values("0.08826, 0.1215, 0.2148, 0.3833, 0.6592, 1.065, 1.608, 2.293, 3.132, 4.128",\
"0.08798, 0.1217, 0.2147, 0.3834, 0.6592, 1.066, 1.606, 2.293, 3.131, 4.128",\
"0.08824, 0.1212, 0.2146, 0.3836, 0.6592, 1.064, 1.606, 2.293, 3.132, 4.129",\
"0.0878, 0.1214, 0.2148, 0.3836, 0.6592, 1.065, 1.608, 2.291, 3.129, 4.134",\
"0.0882, 0.1212, 0.2146, 0.3838, 0.6602, 1.064, 1.607, 2.295, 3.134, 4.134",\
"0.0878, 0.1216, 0.2144, 0.3832, 0.659, 1.065, 1.609, 2.294, 3.129, 4.129",\
"0.0878, 0.1218, 0.2148, 0.3838, 0.6594, 1.065, 1.606, 2.291, 3.132, 4.128",\
"0.0878, 0.1218, 0.2146, 0.3832, 0.659, 1.064, 1.607, 2.292, 3.126, 4.126",\
"0.0878, 0.1216, 0.2148, 0.3838, 0.659, 1.065, 1.608, 2.29, 3.126, 4.123",\
"0.0878, 0.1212, 0.2144, 0.384, 0.659, 1.064, 1.606, 2.291, 3.131, 4.126");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.01102, 0.0462, 0.1134, 0.218, 0.3649, 0.5581, 0.8015, 1.099, 1.453");
values("0.09636, 0.1397, 0.3009, 0.6322, 1.159, 1.903, 2.881, 4.12, 5.635, 7.421",\
"0.0962, 0.1397, 0.3008, 0.632, 1.159, 1.904, 2.883, 4.119, 5.635, 7.42",\
"0.0966, 0.1398, 0.3006, 0.6324, 1.159, 1.904, 2.882, 4.12, 5.635, 7.42",\
"0.0964, 0.1398, 0.3006, 0.6318, 1.159, 1.904, 2.885, 4.116, 5.632, 7.422",\
"0.0964, 0.1398, 0.3008, 0.6318, 1.16, 1.904, 2.883, 4.12, 5.635, 7.419",\
"0.096, 0.1398, 0.3004, 0.633, 1.16, 1.904, 2.884, 4.116, 5.635, 7.422",\
"0.0964, 0.1398, 0.3014, 0.6334, 1.159, 1.901, 2.885, 4.122, 5.628, 7.421",\
"0.0966, 0.1398, 0.3014, 0.6324, 1.159, 1.906, 2.882, 4.118, 5.636, 7.417",\
"0.0968, 0.14, 0.3016, 0.6324, 1.16, 1.902, 2.882, 4.115, 5.622, 7.422",\
"0.0972, 0.1402, 0.3014, 0.6328, 1.159, 1.902, 2.884, 4.118, 5.626, 7.42");
}
}
}
}