blob: 90f146eb0dc53097224d7d76cd339b9dbcd1f139 [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_2) {
area : 68.051200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.02229425" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0305514" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0211035" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.02417855" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0305514" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.00324 ;
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.978 ;
min_pulse_width_high : 0.486 ;
min_pulse_width_low : 0.477 ;
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.3588, 0.359, 0.3663, 0.3943, 0.4509, 0.5386, 0.659, 0.8133, \
1.003, 1.229");
}
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.2619, 0.2618, 0.2667, 0.2891, 0.3372, 0.4133, 0.5197, 0.6576, \
0.8283, 1.033");
}
}
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.3491, 0.3494, 0.3568, 0.385, 0.4419, 0.5295, 0.65, 0.8038, 0.9932, \
1.219");
}
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.2598, 0.2601, 0.2648, 0.2877, 0.3358, 0.4125, 0.5191, 0.6569, \
0.8272, 1.032");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.477");
}
rise_constraint(scalar) {
values("0.287");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.311");
}
rise_constraint(scalar) {
values("0.486");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.959");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.978");
}
}
}
pin(D) {
capacitance : 0.002432 ;
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 : "!CLK" ;
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.214, 0.2132, 0.214, 0.2243, 0.2491, 0.2905, 0.3487, 0.424, 0.5167, \
0.6272");
}
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.1385, 0.1391, 0.142, 0.1525, 0.1729, 0.205, 0.2499, 0.3082, \
0.3806, 0.4679");
}
}
internal_power() {
when : "CLK" ;
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.01188, 0.01186, 0.01184, 0.01185, 0.01187, 0.01188, 0.0119, \
0.01189, 0.0119, 0.01189");
}
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.009247, -0.009238, -0.00922, -0.009167, -0.009137, -0.009133, \
-0.009131, -0.009169, -0.009184, -0.009158");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
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.109, 0.105, 0.126, 0.15, 0.18, 0.2, 0.22, 0.225, 0.232, 0.223",\
"0.104, 0.106, 0.124, 0.144, 0.176, 0.197, 0.215, 0.226, 0.226, 0.223",\
"0.09, 0.087, 0.107, 0.13, 0.165, 0.184, 0.198, 0.209, 0.208, 0.206",\
"0.047, 0.049, 0.066, 0.093, 0.117, 0.141, 0.157, 0.166, 0.167, 0.161",\
"-0.013, -0.012, -0.001, 0.024, 0.056, 0.079, 0.089, 0.097, 0.099, 0.092",\
"-0.086, -0.092, -0.077, -0.048, -0.024, -0.009, 0.006, 0.004, -0.001, -0.011",\
"-0.175, -0.177, -0.166, -0.14, -0.119, -0.109, -0.095, -0.108, -0.115, -0.129",\
"-0.28, -0.288, -0.268, -0.251, -0.228, -0.223, -0.217, -0.236, -0.248, -0.268",\
"-0.399, -0.408, -0.395, -0.372, -0.359, -0.355, -0.363, -0.388, -0.406, -0.426",\
"-0.534, -0.545, -0.535, -0.513, -0.504, -0.515, -0.519, -0.558, -0.584, -0.613");
}
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.057, 0.062, 0.08, 0.102, 0.127, 0.146, 0.168, 0.174, 0.185, 0.188",\
"0.061, 0.059, 0.075, 0.1, 0.122, 0.148, 0.169, 0.175, 0.185, 0.188",\
"0.051, 0.055, 0.077, 0.098, 0.122, 0.143, 0.166, 0.172, 0.18, 0.188",\
"0.052, 0.055, 0.072, 0.093, 0.117, 0.141, 0.157, 0.166, 0.175, 0.18",\
"0.063, 0.066, 0.076, 0.099, 0.117, 0.141, 0.158, 0.166, 0.17, 0.17",\
"0.087, 0.09, 0.105, 0.124, 0.139, 0.16, 0.166, 0.167, 0.173, 0.169",\
"0.14, 0.143, 0.154, 0.175, 0.188, 0.196, 0.204, 0.201, 0.197, 0.192",\
"0.218, 0.221, 0.233, 0.245, 0.261, 0.265, 0.27, 0.255, 0.25, 0.239",\
"0.325, 0.329, 0.342, 0.352, 0.359, 0.357, 0.358, 0.343, 0.33, 0.313",\
"0.459, 0.463, 0.478, 0.486, 0.488, 0.478, 0.479, 0.45, 0.433, 0.414");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
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.206, 0.203, 0.19, 0.158, 0.132, 0.103, 0.088, 0.075, 0.077, 0.088",\
"0.204, 0.205, 0.193, 0.16, 0.129, 0.101, 0.09, 0.077, 0.078, 0.09",\
"0.226, 0.222, 0.203, 0.179, 0.145, 0.123, 0.106, 0.095, 0.099, 0.105",\
"0.272, 0.272, 0.256, 0.225, 0.195, 0.171, 0.157, 0.142, 0.147, 0.162",\
"0.362, 0.364, 0.345, 0.318, 0.29, 0.263, 0.247, 0.236, 0.233, 0.252",\
"0.497, 0.495, 0.479, 0.452, 0.421, 0.394, 0.374, 0.363, 0.366, 0.378",\
"0.663, 0.657, 0.646, 0.62, 0.583, 0.557, 0.544, 0.53, 0.534, 0.538",\
"0.855, 0.853, 0.844, 0.815, 0.78, 0.754, 0.737, 0.728, 0.725, 0.736",\
"1.083, 1.084, 1.069, 1.038, 1.006, 0.973, 0.957, 0.948, 0.946, 0.959",\
"1.337, 1.336, 1.326, 1.29, 1.26, 1.226, 1.214, 1.195, 1.198, 1.209");
}
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.212, 0.203, 0.19, 0.158, 0.132, 0.098, 0.088, 0.075, 0.077, 0.097",\
"0.216, 0.205, 0.193, 0.16, 0.129, 0.101, 0.09, 0.077, 0.078, 0.098",\
"0.226, 0.222, 0.203, 0.173, 0.145, 0.117, 0.098, 0.089, 0.092, 0.105",\
"0.246, 0.233, 0.218, 0.194, 0.155, 0.131, 0.114, 0.102, 0.111, 0.125",\
"0.256, 0.247, 0.225, 0.202, 0.167, 0.139, 0.119, 0.116, 0.122, 0.134",\
"0.248, 0.241, 0.231, 0.201, 0.164, 0.141, 0.127, 0.116, 0.122, 0.139",\
"0.228, 0.222, 0.206, 0.175, 0.148, 0.12, 0.109, 0.1, 0.115, 0.129",\
"0.189, 0.18, 0.161, 0.137, 0.109, 0.082, 0.071, 0.066, 0.077, 0.099",\
"0.124, 0.118, 0.103, 0.08, 0.044, 0.017, 0.012, 0.006, 0.019, 0.045",\
"0.033, 0.032, 0.011, -0.005, -0.046, -0.07, -0.082, -0.079, -0.067, -0.033");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4587 ;
max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.004159, 0.01525, 0.03642, 0.06941, 0.1157, 0.1766, 0.2533, 0.347, 0.4587");
values("0.5745, 0.5586, 0.5235, 0.4933, 0.4744, 0.4621, 0.4539, 0.4481, 0.444, 0.4413",\
"0.5742, 0.5583, 0.5234, 0.4929, 0.4741, 0.4621, 0.4538, 0.4481, 0.4439, 0.4412",\
"0.5745, 0.5584, 0.5235, 0.493, 0.4741, 0.4621, 0.4538, 0.448, 0.4439, 0.4413",\
"0.576, 0.5599, 0.525, 0.4945, 0.4755, 0.4635, 0.4553, 0.4495, 0.4454, 0.4427",\
"0.5784, 0.5626, 0.5275, 0.497, 0.4783, 0.4661, 0.4579, 0.4523, 0.4483, 0.4455",\
"0.5825, 0.5664, 0.5316, 0.5014, 0.4826, 0.4703, 0.4619, 0.4561, 0.4521, 0.4492",\
"0.5871, 0.5708, 0.5357, 0.5056, 0.4868, 0.4743, 0.4663, 0.4607, 0.4565, 0.4537",\
"0.5929, 0.5767, 0.5416, 0.5115, 0.4923, 0.48, 0.4717, 0.4662, 0.4619, 0.459",\
"0.5992, 0.5833, 0.548, 0.5173, 0.4986, 0.4863, 0.4779, 0.4723, 0.468, 0.4653",\
"0.6064, 0.5903, 0.5556, 0.525, 0.5057, 0.4934, 0.4848, 0.4792, 0.4752, 0.4724");
}
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.004159, 0.01525, 0.03642, 0.06941, 0.1157, 0.1766, 0.2533, 0.347, 0.4587");
values("0.5956, 0.5784, 0.5413, 0.5115, 0.4903, 0.4752, 0.4672, 0.4636, 0.4614, 0.4603",\
"0.595, 0.5774, 0.5419, 0.511, 0.4899, 0.4753, 0.4669, 0.4634, 0.4611, 0.4595",\
"0.5954, 0.5779, 0.5416, 0.5112, 0.4899, 0.4756, 0.4671, 0.463, 0.4608, 0.4608",\
"0.5963, 0.5793, 0.5422, 0.513, 0.4912, 0.4765, 0.4679, 0.4644, 0.4622, 0.4616",\
"0.6011, 0.5839, 0.5476, 0.5178, 0.4957, 0.4809, 0.4725, 0.469, 0.4662, 0.4652",\
"0.6079, 0.5909, 0.5544, 0.5235, 0.5021, 0.4877, 0.4783, 0.4748, 0.4731, 0.4721",\
"0.6176, 0.5995, 0.5631, 0.5334, 0.5128, 0.4975, 0.4895, 0.4843, 0.4815, 0.4805",\
"0.6305, 0.6131, 0.576, 0.5449, 0.5238, 0.5112, 0.5023, 0.4966, 0.4933, 0.4927",\
"0.6471, 0.6298, 0.5931, 0.5621, 0.538, 0.5241, 0.5185, 0.5144, 0.5105, 0.51",\
"0.6671, 0.6498, 0.6126, 0.5813, 0.5576, 0.5408, 0.5339, 0.5326, 0.5309, 0.5309");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_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.004159, 0.01525, 0.03642, 0.06941, 0.1157, 0.1766, 0.2533, 0.347, 0.4587");
values("0.5498, 0.5671, 0.6144, 0.6858, 0.7834, 0.9129, 1.081, 1.292, 1.551, 1.859",\
"0.5528, 0.5702, 0.6174, 0.6889, 0.7865, 0.916, 1.084, 1.295, 1.554, 1.862",\
"0.5669, 0.5842, 0.6315, 0.7028, 0.8005, 0.93, 1.098, 1.309, 1.568, 1.876",\
"0.5958, 0.6132, 0.6604, 0.7317, 0.8294, 0.9589, 1.127, 1.338, 1.597, 1.905",\
"0.6297, 0.6471, 0.6943, 0.7657, 0.8633, 0.9928, 1.161, 1.372, 1.631, 1.939",\
"0.661, 0.6783, 0.7255, 0.797, 0.8947, 1.024, 1.192, 1.404, 1.662, 1.971",\
"0.6864, 0.7037, 0.7509, 0.8223, 0.92, 1.049, 1.217, 1.429, 1.687, 1.996",\
"0.7047, 0.7221, 0.7692, 0.8406, 0.9382, 1.068, 1.236, 1.447, 1.705, 2.014",\
"0.7142, 0.7316, 0.7789, 0.8502, 0.9478, 1.077, 1.245, 1.457, 1.715, 2.023",\
"0.7148, 0.7321, 0.7793, 0.8507, 0.9484, 1.078, 1.246, 1.457, 1.716, 2.024");
}
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.004159, 0.01525, 0.03642, 0.06941, 0.1157, 0.1766, 0.2533, 0.347, 0.4587");
values("0.6246, 0.6432, 0.6938, 0.7777, 0.9049, 1.086, 1.326, 1.63, 2.003, 2.447",\
"0.6276, 0.6461, 0.6971, 0.7807, 0.908, 1.089, 1.329, 1.634, 2.006, 2.45",\
"0.6416, 0.6601, 0.711, 0.7945, 0.9219, 1.103, 1.343, 1.647, 2.02, 2.464",\
"0.671, 0.6896, 0.7402, 0.8242, 0.9514, 1.132, 1.373, 1.677, 2.049, 2.494",\
"0.7074, 0.7259, 0.7765, 0.8605, 0.9876, 1.169, 1.409, 1.713, 2.085, 2.529",\
"0.7422, 0.7608, 0.8115, 0.8952, 1.022, 1.203, 1.444, 1.747, 2.12, 2.564",\
"0.7726, 0.7911, 0.842, 0.9255, 1.053, 1.234, 1.474, 1.778, 2.15, 2.595",\
"0.7981, 0.8167, 0.8676, 0.9511, 1.078, 1.259, 1.499, 1.803, 2.176, 2.62",\
"0.8167, 0.8352, 0.8859, 0.9697, 1.097, 1.278, 1.518, 1.822, 2.194, 2.638",\
"0.8286, 0.8472, 0.898, 0.9815, 1.109, 1.29, 1.53, 1.833, 2.206, 2.65");
}
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.004159, 0.01525, 0.03642, 0.06941, 0.1157, 0.1766, 0.2533, 0.347, 0.4587");
values("0.07782, 0.09686, 0.149, 0.237, 0.3766, 0.5826, 0.8639, 1.224, 1.667, 2.192",\
"0.07768, 0.09682, 0.1491, 0.2368, 0.3768, 0.5827, 0.8642, 1.225, 1.667, 2.194",\
"0.0778, 0.09678, 0.1489, 0.2373, 0.3766, 0.5823, 0.8639, 1.224, 1.667, 2.192",\
"0.07782, 0.09678, 0.149, 0.2372, 0.3768, 0.5827, 0.8638, 1.224, 1.667, 2.192",\
"0.0778, 0.09688, 0.1492, 0.2368, 0.3766, 0.5824, 0.8634, 1.223, 1.667, 2.195",\
"0.0778, 0.0966, 0.1488, 0.237, 0.3768, 0.583, 0.8644, 1.225, 1.667, 2.192",\
"0.0776, 0.0964, 0.1484, 0.2368, 0.3764, 0.5818, 0.8642, 1.225, 1.667, 2.195",\
"0.0776, 0.0966, 0.1488, 0.237, 0.3768, 0.5822, 0.8626, 1.222, 1.665, 2.193",\
"0.0776, 0.097, 0.1492, 0.2368, 0.3766, 0.5824, 0.8624, 1.223, 1.664, 2.191",\
"0.0778, 0.0968, 0.149, 0.2368, 0.3768, 0.5824, 0.8636, 1.223, 1.666, 2.19");
}
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.004159, 0.01525, 0.03642, 0.06941, 0.1157, 0.1766, 0.2533, 0.347, 0.4587");
values("0.08654, 0.1083, 0.1759, 0.3147, 0.5484, 0.8859, 1.332, 1.896, 2.585, 3.398",\
"0.0863, 0.1087, 0.1759, 0.3148, 0.5483, 0.8854, 1.332, 1.896, 2.585, 3.399",\
"0.0868, 0.1085, 0.1758, 0.3147, 0.5484, 0.8854, 1.331, 1.897, 2.585, 3.399",\
"0.08624, 0.1083, 0.1759, 0.3155, 0.5484, 0.8858, 1.332, 1.897, 2.585, 3.399",\
"0.0864, 0.1086, 0.176, 0.3154, 0.5484, 0.8856, 1.333, 1.897, 2.585, 3.4",\
"0.0864, 0.1082, 0.1756, 0.3148, 0.548, 0.8856, 1.333, 1.893, 2.58, 3.398",\
"0.0868, 0.1084, 0.176, 0.3152, 0.5484, 0.8848, 1.331, 1.894, 2.584, 3.405",\
"0.0872, 0.1088, 0.1762, 0.3154, 0.5484, 0.8854, 1.332, 1.896, 2.583, 3.406",\
"0.0868, 0.109, 0.1764, 0.3154, 0.5486, 0.885, 1.335, 1.893, 2.584, 3.405",\
"0.0876, 0.1092, 0.1774, 0.3158, 0.5492, 0.8856, 1.332, 1.894, 2.58, 3.401");
}
}
}
}