blob: 36c0f8cf9aa07037dd5be4345f464997ea4bacd1 [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_mcu9t5v0__dffq_1) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.002124936" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.002590632" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.002018016" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.002313234" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.002590632" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004767 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.4 ;
min_period : 1.977 ;
min_pulse_width_high : 0.687 ;
min_pulse_width_low : 0.982 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.05994, 0.05965, 0.05935, 0.06022, 0.06297, 0.06758, 0.07425, \
0.08317, 0.09453, 0.1085");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03956, 0.03941, 0.03921, 0.03988, 0.04195, 0.04578, 0.05162, \
0.05956, 0.06972, 0.08218");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.06197, 0.06167, 0.06136, 0.06224, 0.06498, 0.06958, 0.07621, \
0.08515, 0.09651, 0.1104");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03954, 0.03938, 0.03917, 0.03985, 0.04195, 0.04578, 0.05166, \
0.05963, 0.0698, 0.08225");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.982");
}
rise_constraint(scalar) {
values("0.595");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.905");
}
rise_constraint(scalar) {
values("0.687");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.977");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.792");
}
}
}
pin(D) {
capacitance : 0.003628 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03488, 0.03467, 0.03429, 0.03464, 0.03628, 0.03907, 0.04306, \
0.0484, 0.05513, 0.06334");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.02427, 0.0243, 0.02429, 0.02468, 0.02587, 0.02809, 0.03149, \
0.03609, 0.04196, 0.04909");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.003798, 0.0038, 0.003805, 0.003805, 0.003794, 0.003805, 0.0038, \
0.003796, 0.003785, 0.003772");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("-0.003472, -0.003479, -0.003475, -0.003482, -0.003489, -0.003513, \
-0.003527, -0.003539, -0.003551, -0.003564");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.177, 0.199, 0.245, 0.329, 0.397, 0.447, 0.477, 0.474, 0.454, 0.399",\
"0.169, 0.181, 0.233, 0.318, 0.386, 0.432, 0.457, 0.459, 0.44, 0.383",\
"0.126, 0.141, 0.193, 0.272, 0.341, 0.39, 0.42, 0.419, 0.395, 0.34",\
"0.046, 0.061, 0.109, 0.195, 0.264, 0.316, 0.338, 0.335, 0.322, 0.265",\
"-0.046, -0.03, 0.017, 0.094, 0.165, 0.218, 0.245, 0.244, 0.229, 0.173",\
"-0.154, -0.138, -0.097, -0.015, 0.047, 0.106, 0.133, 0.137, 0.121, 0.069",\
"-0.27, -0.264, -0.225, -0.142, -0.083, -0.015, 0.016, 0.016, 0.009, -0.037",\
"-0.416, -0.407, -0.377, -0.302, -0.229, -0.162, -0.131, -0.129, -0.122, -0.163",\
"-0.579, -0.566, -0.549, -0.476, -0.405, -0.332, -0.298, -0.294, -0.274, -0.309",\
"-0.775, -0.762, -0.749, -0.675, -0.604, -0.524, -0.485, -0.476, -0.447, -0.48");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("-0.017, -0.006, 0.038, 0.088, 0.105, 0.103, 0.089, 0.041, -0.028, -0.13",\
"-0.029, -0.016, 0.028, 0.072, 0.09, 0.097, 0.071, 0.033, -0.039, -0.134",\
"-0.076, -0.058, -0.016, 0.033, 0.059, 0.065, 0.048, 0.006, -0.066, -0.158",\
"-0.115, -0.1, -0.056, -0.007, 0.021, 0.022, 0.006, -0.031, -0.097, -0.194",\
"-0.141, -0.121, -0.077, -0.031, -0.007, -0.005, -0.029, -0.068, -0.131, -0.229",\
"-0.149, -0.138, -0.097, -0.043, -0.021, -0.026, -0.044, -0.085, -0.165, -0.259",\
"-0.138, -0.13, -0.083, -0.045, -0.021, -0.028, -0.055, -0.098, -0.176, -0.282",\
"-0.104, -0.091, -0.049, -0.008, 0.003, -0.006, -0.035, -0.09, -0.175, -0.28",\
"-0.027, -0.009, 0.025, 0.063, 0.066, 0.053, 0.014, -0.043, -0.137, -0.248",\
"0.08, 0.098, 0.131, 0.162, 0.164, 0.146, 0.101, 0.038, -0.06, -0.18");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.401, 0.387, 0.328, 0.234, 0.151, 0.094, 0.06, 0.046, 0.067, 0.111",\
"0.41, 0.394, 0.334, 0.241, 0.167, 0.104, 0.072, 0.055, 0.078, 0.124",\
"0.452, 0.438, 0.38, 0.286, 0.213, 0.147, 0.112, 0.103, 0.122, 0.168",\
"0.571, 0.556, 0.5, 0.406, 0.326, 0.264, 0.229, 0.221, 0.233, 0.282",\
"0.755, 0.742, 0.682, 0.585, 0.508, 0.451, 0.416, 0.401, 0.419, 0.468",\
"0.977, 0.963, 0.909, 0.817, 0.733, 0.676, 0.637, 0.628, 0.642, 0.683",\
"1.244, 1.228, 1.164, 1.081, 0.995, 0.937, 0.9, 0.89, 0.898, 0.944",\
"1.542, 1.528, 1.465, 1.373, 1.301, 1.241, 1.199, 1.186, 1.197, 1.239",\
"1.879, 1.869, 1.81, 1.714, 1.635, 1.576, 1.539, 1.521, 1.528, 1.568",\
"2.261, 2.243, 2.185, 2.092, 2.012, 1.953, 1.915, 1.896, 1.9, 1.94");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.538, 0.523, 0.461, 0.386, 0.334, 0.308, 0.324, 0.352, 0.425, 0.523",\
"0.553, 0.544, 0.48, 0.402, 0.341, 0.324, 0.332, 0.364, 0.439, 0.534",\
"0.595, 0.584, 0.519, 0.44, 0.384, 0.366, 0.369, 0.407, 0.478, 0.572",\
"0.678, 0.66, 0.596, 0.526, 0.466, 0.443, 0.444, 0.482, 0.549, 0.638",\
"0.747, 0.734, 0.672, 0.589, 0.533, 0.511, 0.516, 0.545, 0.613, 0.707",\
"0.791, 0.779, 0.715, 0.638, 0.578, 0.56, 0.558, 0.595, 0.662, 0.753",\
"0.815, 0.801, 0.748, 0.66, 0.609, 0.581, 0.584, 0.614, 0.684, 0.784",\
"0.826, 0.809, 0.747, 0.668, 0.613, 0.59, 0.598, 0.626, 0.696, 0.794",\
"0.805, 0.793, 0.735, 0.655, 0.59, 0.572, 0.575, 0.61, 0.677, 0.785",\
"0.755, 0.737, 0.676, 0.599, 0.546, 0.524, 0.534, 0.57, 0.641, 0.75");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3294 ;
max_transition : 8.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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.003267, 0.01122, 0.02642, 0.05009, 0.08331, 0.127, 0.1821, 0.2493, 0.3294");
values("0.05884, 0.05864, 0.05842, 0.05838, 0.05843, 0.05845, 0.05847, 0.05847, 0.05848, 0.05849",\
"0.05883, 0.05864, 0.05841, 0.05837, 0.05839, 0.05842, 0.05844, 0.05845, 0.05846, 0.05846",\
"0.05884, 0.05865, 0.05841, 0.05839, 0.05842, 0.05844, 0.05846, 0.05847, 0.05848, 0.05848",\
"0.05901, 0.05881, 0.05859, 0.05855, 0.05858, 0.05861, 0.05863, 0.05864, 0.05865, 0.05865",\
"0.0593, 0.0591, 0.05887, 0.05884, 0.05887, 0.0589, 0.05892, 0.05892, 0.05893, 0.05894",\
"0.05961, 0.05941, 0.05919, 0.05917, 0.05918, 0.05921, 0.05922, 0.05924, 0.05924, 0.05925",\
"0.05994, 0.05974, 0.05952, 0.05946, 0.05952, 0.05955, 0.05957, 0.05957, 0.05958, 0.05958",\
"0.06037, 0.06016, 0.05994, 0.05991, 0.05993, 0.05997, 0.05999, 0.06, 0.06, 0.05999",\
"0.06083, 0.06062, 0.06041, 0.06036, 0.0604, 0.06042, 0.06044, 0.06045, 0.06046, 0.06047",\
"0.06123, 0.06102, 0.06081, 0.06075, 0.06079, 0.06082, 0.06084, 0.06085, 0.06086, 0.06086");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.003267, 0.01122, 0.02642, 0.05009, 0.08331, 0.127, 0.1821, 0.2493, 0.3294");
values("0.05268, 0.05257, 0.05248, 0.05265, 0.05301, 0.05341, 0.05375, 0.05403, 0.05461, 0.05626",\
"0.0527, 0.05256, 0.05248, 0.05265, 0.05301, 0.05341, 0.0537, 0.05399, 0.05453, 0.05614",\
"0.05264, 0.0525, 0.05242, 0.0526, 0.05294, 0.05336, 0.05367, 0.05394, 0.05438, 0.05627",\
"0.05262, 0.05248, 0.0524, 0.05257, 0.05292, 0.05333, 0.05366, 0.05396, 0.0543, 0.05626",\
"0.05266, 0.05257, 0.05244, 0.05265, 0.05296, 0.05337, 0.05366, 0.05396, 0.05432, 0.05673",\
"0.05287, 0.05275, 0.05269, 0.0529, 0.05319, 0.0536, 0.05389, 0.05419, 0.05459, 0.05732",\
"0.0531, 0.05298, 0.05286, 0.05302, 0.0535, 0.05388, 0.05413, 0.05448, 0.05498, 0.05811",\
"0.05347, 0.05334, 0.05322, 0.05338, 0.05365, 0.05421, 0.05471, 0.055, 0.05537, 0.05978",\
"0.05403, 0.05389, 0.05381, 0.05387, 0.05416, 0.05465, 0.05496, 0.05575, 0.05656, 0.06259",\
"0.05459, 0.05446, 0.05435, 0.05442, 0.05477, 0.05509, 0.0553, 0.05616, 0.05785, 0.06631");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.003267, 0.01122, 0.02642, 0.05009, 0.08331, 0.127, 0.1821, 0.2493, 0.3294");
values("1.184, 1.215, 1.305, 1.435, 1.607, 1.829, 2.114, 2.471, 2.906, 3.424",\
"1.199, 1.231, 1.32, 1.45, 1.622, 1.845, 2.13, 2.486, 2.921, 3.44",\
"1.254, 1.286, 1.375, 1.505, 1.677, 1.899, 2.185, 2.541, 2.976, 3.495",\
"1.345, 1.377, 1.466, 1.597, 1.768, 1.991, 2.276, 2.632, 3.067, 3.586",\
"1.427, 1.459, 1.548, 1.679, 1.85, 2.073, 2.358, 2.715, 3.15, 3.668",\
"1.489, 1.521, 1.61, 1.74, 1.912, 2.135, 2.42, 2.776, 3.211, 3.73",\
"1.53, 1.562, 1.651, 1.782, 1.953, 2.176, 2.461, 2.818, 3.252, 3.771",\
"1.549, 1.581, 1.67, 1.8, 1.972, 2.195, 2.48, 2.836, 3.271, 3.789",\
"1.542, 1.574, 1.663, 1.793, 1.965, 2.187, 2.472, 2.829, 3.264, 3.782",\
"1.504, 1.536, 1.625, 1.756, 1.927, 2.15, 2.435, 2.792, 3.227, 3.745");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.003267, 0.01122, 0.02642, 0.05009, 0.08331, 0.127, 0.1821, 0.2493, 0.3294");
values("1.086, 1.125, 1.246, 1.463, 1.798, 2.266, 2.881, 3.655, 4.6, 5.727",\
"1.101, 1.14, 1.262, 1.478, 1.813, 2.281, 2.895, 3.67, 4.615, 5.742",\
"1.155, 1.194, 1.315, 1.532, 1.867, 2.335, 2.95, 3.723, 4.667, 5.793",\
"1.241, 1.28, 1.402, 1.619, 1.953, 2.421, 3.036, 3.81, 4.755, 5.881",\
"1.319, 1.358, 1.479, 1.696, 2.031, 2.499, 3.114, 3.888, 4.833, 5.96",\
"1.377, 1.417, 1.538, 1.755, 2.089, 2.558, 3.172, 3.946, 4.892, 6.019",\
"1.417, 1.456, 1.577, 1.794, 2.129, 2.597, 3.211, 3.986, 4.931, 6.056",\
"1.435, 1.475, 1.596, 1.813, 2.147, 2.615, 3.23, 4.003, 4.947, 6.075",\
"1.429, 1.469, 1.59, 1.807, 2.142, 2.61, 3.225, 3.998, 4.942, 6.067",\
"1.395, 1.434, 1.556, 1.773, 2.107, 2.575, 3.19, 3.965, 4.907, 6.033");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.003267, 0.01122, 0.02642, 0.05009, 0.08331, 0.127, 0.1821, 0.2493, 0.3294");
values("0.155, 0.1862, 0.2784, 0.4318, 0.672, 1.023, 1.504, 2.12, 2.877, 3.784",\
"0.155, 0.1858, 0.2786, 0.4324, 0.672, 1.023, 1.503, 2.12, 2.877, 3.784",\
"0.1554, 0.1862, 0.279, 0.4324, 0.6722, 1.023, 1.504, 2.118, 2.878, 3.783",\
"0.1554, 0.1856, 0.279, 0.432, 0.6716, 1.023, 1.503, 2.12, 2.876, 3.78",\
"0.155, 0.1862, 0.2792, 0.4328, 0.6722, 1.023, 1.503, 2.12, 2.877, 3.784",\
"0.1548, 0.1858, 0.2782, 0.4332, 0.6716, 1.025, 1.504, 2.12, 2.878, 3.778",\
"0.1548, 0.1866, 0.2782, 0.4324, 0.6718, 1.024, 1.501, 2.117, 2.874, 3.779",\
"0.1548, 0.1862, 0.2784, 0.4328, 0.6722, 1.023, 1.504, 2.117, 2.873, 3.775",\
"0.1548, 0.1864, 0.2788, 0.4326, 0.672, 1.023, 1.502, 2.118, 2.874, 3.776",\
"0.1548, 0.1864, 0.2788, 0.4324, 0.6714, 1.022, 1.503, 2.119, 2.873, 3.775");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.003267, 0.01122, 0.02642, 0.05009, 0.08331, 0.127, 0.1821, 0.2493, 0.3294");
values("0.18, 0.2308, 0.411, 0.781, 1.374, 2.211, 3.312, 4.695, 6.404, 8.427",\
"0.1802, 0.2308, 0.4108, 0.7812, 1.375, 2.208, 3.309, 4.693, 6.4, 8.419",\
"0.18, 0.2306, 0.411, 0.781, 1.374, 2.213, 3.315, 4.696, 6.384, 8.402",\
"0.18, 0.2308, 0.4106, 0.7812, 1.374, 2.212, 3.312, 4.695, 6.388, 8.408",\
"0.1804, 0.2304, 0.4108, 0.7826, 1.374, 2.209, 3.307, 4.693, 6.385, 8.418",\
"0.18, 0.231, 0.4108, 0.7812, 1.374, 2.212, 3.307, 4.692, 6.386, 8.417",\
"0.1804, 0.231, 0.411, 0.782, 1.374, 2.209, 3.315, 4.695, 6.407, 8.409",\
"0.181, 0.2308, 0.4112, 0.7812, 1.374, 2.21, 3.308, 4.701, 6.386, 8.429",\
"0.1804, 0.231, 0.4112, 0.781, 1.374, 2.21, 3.313, 4.693, 6.389, 8.417",\
"0.1812, 0.2316, 0.4112, 0.7812, 1.376, 2.211, 3.31, 4.695, 6.382, 8.4");
}
}
}
}