blob: d4abc27b6823cfb0238a38d16b1344ed4955ef2f [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__dffnq_1) {
area : 84.672000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "8.663292e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0001002474" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "6.426684e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "6.376986e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0001002474" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004536 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6 ;
min_period : 1.434 ;
min_pulse_width_high : 0.522 ;
min_pulse_width_low : 0.61 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.05853, 0.05827, 0.05775, 0.05749, 0.05787, 0.05888, 0.06051, \
0.06277, 0.06584, 0.06964");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03759, 0.03745, 0.03708, 0.03683, 0.03695, 0.03771, 0.03914, \
0.0412, 0.044, 0.04759");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.05862, 0.05833, 0.05782, 0.05753, 0.05795, 0.05895, 0.06057, \
0.06288, 0.0659, 0.0697");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03752, 0.03738, 0.03702, 0.03676, 0.03688, 0.03763, 0.03905, \
0.0411, 0.0439, 0.04749");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.588");
}
rise_constraint(scalar) {
values("0.522");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.61");
}
rise_constraint(scalar) {
values("0.458");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.203");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.434");
}
}
}
pin(D) {
capacitance : 0.003554 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6 ;
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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.0131, 0.01272, 0.01243, 0.01262, 0.01327, 0.01434, 0.01594, \
0.01811, 0.02087, 0.0243");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.002182, 0.001968, 0.001652, 0.001652, 0.002106, 0.003035, 0.004475, \
0.006446, 0.008968, 0.01204");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.04229, 0.04207, 0.04179, 0.04172, 0.04217, 0.04309, 0.04454, \
0.04647, 0.049, 0.05218");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.02908, 0.02893, 0.02873, 0.02867, 0.02887, 0.02949, 0.03059, \
0.03221, 0.03439, 0.03717");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("-0.052, -0.038, 0.004, 0.098, 0.19, 0.291, 0.404, 0.547, 0.713, 0.901",\
"-0.066, -0.051, -0.007, 0.086, 0.178, 0.27, 0.39, 0.534, 0.695, 0.882",\
"-0.115, -0.104, -0.064, 0.033, 0.128, 0.22, 0.34, 0.478, 0.644, 0.827",\
"-0.213, -0.201, -0.159, -0.07, 0.027, 0.116, 0.232, 0.376, 0.542, 0.723",\
"-0.343, -0.33, -0.284, -0.198, -0.098, -0.016, 0.1, 0.234, 0.4, 0.581",\
"-0.477, -0.469, -0.425, -0.34, -0.243, -0.155, -0.048, 0.081, 0.247, 0.431",\
"-0.636, -0.62, -0.582, -0.491, -0.395, -0.308, -0.207, -0.078, 0.081, 0.253",\
"-0.8, -0.791, -0.753, -0.662, -0.571, -0.481, -0.378, -0.259, -0.102, 0.072",\
"-0.996, -0.985, -0.949, -0.852, -0.768, -0.676, -0.574, -0.45, -0.306, -0.135",\
"-1.211, -1.195, -1.162, -1.072, -0.977, -0.897, -0.792, -0.674, -0.524, -0.353");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.212, 0.228, 0.281, 0.379, 0.534, 0.697, 0.868, 1.062, 1.268, 1.49",\
"0.2, 0.211, 0.263, 0.367, 0.522, 0.685, 0.861, 1.047, 1.254, 1.483",\
"0.161, 0.176, 0.222, 0.329, 0.479, 0.639, 0.816, 1.01, 1.213, 1.442",\
"0.111, 0.126, 0.172, 0.277, 0.432, 0.595, 0.77, 0.967, 1.168, 1.395",\
"0.073, 0.089, 0.138, 0.246, 0.393, 0.553, 0.731, 0.924, 1.13, 1.355",\
"0.055, 0.067, 0.116, 0.223, 0.371, 0.534, 0.711, 0.9, 1.106, 1.334",\
"0.046, 0.061, 0.11, 0.219, 0.366, 0.528, 0.699, 0.896, 1.099, 1.324",\
"0.061, 0.08, 0.126, 0.234, 0.372, 0.535, 0.707, 0.898, 1.107, 1.33",\
"0.096, 0.11, 0.161, 0.264, 0.405, 0.562, 0.728, 0.921, 1.123, 1.353",\
"0.159, 0.177, 0.218, 0.32, 0.453, 0.608, 0.772, 0.966, 1.167, 1.394");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.406, 0.389, 0.336, 0.24, 0.124, -0.012, -0.155, -0.319, -0.504, -0.702",\
"0.417, 0.407, 0.346, 0.255, 0.135, 0.006, -0.137, -0.304, -0.489, -0.69",\
"0.474, 0.463, 0.4, 0.306, 0.19, 0.06, -0.086, -0.247, -0.432, -0.639",\
"0.58, 0.564, 0.508, 0.415, 0.3, 0.165, 0.018, -0.148, -0.331, -0.526",\
"0.737, 0.725, 0.661, 0.572, 0.452, 0.32, 0.17, 0.009, -0.178, -0.38",\
"0.926, 0.91, 0.845, 0.754, 0.635, 0.496, 0.355, 0.182, -0.002, -0.203",\
"1.123, 1.115, 1.051, 0.95, 0.829, 0.692, 0.544, 0.375, 0.186, -0.017",\
"1.349, 1.329, 1.268, 1.176, 1.046, 0.906, 0.758, 0.582, 0.398, 0.191",\
"1.59, 1.573, 1.513, 1.41, 1.285, 1.144, 0.991, 0.821, 0.625, 0.42",\
"1.851, 1.839, 1.775, 1.672, 1.549, 1.398, 1.243, 1.072, 0.878, 0.668");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.177, 0.168, 0.115, 0.024, -0.124, -0.283, -0.417, -0.589, -0.696, -0.783",\
"0.189, 0.182, 0.126, 0.035, -0.12, -0.27, -0.422, -0.594, -0.643, -0.779",\
"0.235, 0.223, 0.171, 0.073, -0.07, -0.229, -0.386, -0.54, -0.661, -0.775",\
"0.299, 0.291, 0.239, 0.132, -0.011, -0.164, -0.326, -0.481, -0.592, -0.732",\
"0.371, 0.359, 0.304, 0.206, 0.059, -0.103, -0.256, -0.418, -0.553, -0.657",\
"0.435, 0.426, 0.369, 0.26, 0.11, -0.046, -0.212, -0.38, -0.55, -0.723",\
"0.478, 0.465, 0.412, 0.304, 0.158, -0.009, -0.178, -0.357, -0.54, -0.746",\
"0.513, 0.5, 0.442, 0.338, 0.182, 0.015, -0.154, -0.34, -0.535, -0.741",\
"0.527, 0.512, 0.456, 0.35, 0.199, 0.032, -0.152, -0.34, -0.542, -0.758",\
"0.525, 0.512, 0.456, 0.344, 0.194, 0.021, -0.154, -0.349, -0.559, -0.777");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3141 ;
max_transition : 6 ;
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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
values("0.05854, 0.05861, 0.05886, 0.05915, 0.05941, 0.05959, 0.05968, 0.05975, 0.05979, 0.05982",\
"0.05855, 0.05865, 0.05888, 0.05919, 0.05945, 0.05963, 0.05973, 0.05979, 0.05983, 0.05986",\
"0.05854, 0.05863, 0.05887, 0.05916, 0.05941, 0.05959, 0.05971, 0.05975, 0.05979, 0.05982",\
"0.05845, 0.05854, 0.05878, 0.0591, 0.05933, 0.05951, 0.05961, 0.05967, 0.05971, 0.05974",\
"0.05839, 0.05844, 0.05867, 0.059, 0.05925, 0.05944, 0.05953, 0.05959, 0.05964, 0.05966",\
"0.05834, 0.05842, 0.05869, 0.05899, 0.05927, 0.05944, 0.05953, 0.05959, 0.05963, 0.05966",\
"0.05844, 0.05852, 0.05876, 0.05904, 0.05932, 0.05948, 0.05959, 0.05965, 0.05969, 0.05972",\
"0.05856, 0.0586, 0.05882, 0.05916, 0.05945, 0.05962, 0.05973, 0.05981, 0.05985, 0.05987",\
"0.05865, 0.05872, 0.05895, 0.05927, 0.0595, 0.05969, 0.0598, 0.05986, 0.05991, 0.05994",\
"0.05878, 0.05885, 0.05908, 0.0594, 0.05964, 0.05981, 0.05991, 0.05998, 0.06003, 0.06006");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
values("0.07105, 0.07112, 0.07134, 0.07181, 0.07225, 0.07272, 0.07314, 0.0734, 0.07368, 0.07445",\
"0.07104, 0.07106, 0.07135, 0.07182, 0.07222, 0.07281, 0.07307, 0.07347, 0.0739, 0.07406",\
"0.07099, 0.07106, 0.07131, 0.07178, 0.07225, 0.0727, 0.073, 0.07343, 0.07402, 0.07384",\
"0.07105, 0.07112, 0.07133, 0.07181, 0.07229, 0.07276, 0.07316, 0.07348, 0.07393, 0.07405",\
"0.07131, 0.07137, 0.07164, 0.07214, 0.07252, 0.07303, 0.07339, 0.07372, 0.07399, 0.07435",\
"0.07168, 0.07169, 0.07194, 0.07247, 0.07281, 0.07332, 0.07366, 0.07414, 0.07467, 0.07494",\
"0.072, 0.07204, 0.07229, 0.07285, 0.07325, 0.07374, 0.07416, 0.07442, 0.07467, 0.07516",\
"0.07237, 0.07246, 0.0726, 0.0731, 0.07367, 0.07414, 0.07438, 0.07477, 0.07524, 0.07536",\
"0.07267, 0.07278, 0.07301, 0.07349, 0.07392, 0.07457, 0.07505, 0.07508, 0.07553, 0.07621",\
"0.07301, 0.07307, 0.0733, 0.07376, 0.07424, 0.07445, 0.07525, 0.07569, 0.07582, 0.07608");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
values("0.8662, 0.891, 0.9582, 1.056, 1.181, 1.342, 1.548, 1.807, 2.123, 2.499",\
"0.8806, 0.9055, 0.9726, 1.07, 1.195, 1.356, 1.563, 1.822, 2.137, 2.514",\
"0.9344, 0.959, 1.026, 1.124, 1.249, 1.41, 1.617, 1.875, 2.191, 2.567",\
"1.041, 1.066, 1.134, 1.231, 1.356, 1.517, 1.724, 1.982, 2.298, 2.674",\
"1.2, 1.225, 1.292, 1.39, 1.515, 1.676, 1.882, 2.141, 2.457, 2.833",\
"1.382, 1.407, 1.475, 1.572, 1.697, 1.858, 2.065, 2.324, 2.639, 3.015",\
"1.577, 1.602, 1.669, 1.767, 1.892, 2.053, 2.26, 2.518, 2.834, 3.21",\
"1.785, 1.81, 1.877, 1.975, 2.1, 2.261, 2.468, 2.727, 3.042, 3.419",\
"2.01, 2.035, 2.102, 2.2, 2.325, 2.486, 2.693, 2.951, 3.267, 3.643",\
"2.254, 2.279, 2.346, 2.444, 2.569, 2.73, 2.937, 3.196, 3.512, 3.887");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
values("0.9681, 0.997, 1.087, 1.251, 1.5, 1.848, 2.305, 2.88, 3.582, 4.417",\
"0.9822, 1.011, 1.102, 1.265, 1.515, 1.863, 2.319, 2.894, 3.595, 4.432",\
"1.036, 1.065, 1.155, 1.319, 1.568, 1.916, 2.373, 2.948, 3.648, 4.486",\
"1.143, 1.172, 1.263, 1.426, 1.676, 2.024, 2.48, 3.055, 3.756, 4.593",\
"1.301, 1.33, 1.42, 1.584, 1.833, 2.181, 2.638, 3.213, 3.915, 4.75",\
"1.481, 1.51, 1.601, 1.764, 2.013, 2.361, 2.818, 3.393, 4.093, 4.93",\
"1.674, 1.702, 1.793, 1.956, 2.206, 2.554, 3.011, 3.586, 4.288, 5.123",\
"1.88, 1.909, 1.999, 2.162, 2.412, 2.76, 3.216, 3.791, 4.493, 5.329",\
"2.102, 2.131, 2.221, 2.385, 2.634, 2.982, 3.439, 4.013, 4.714, 5.55",\
"2.343, 2.372, 2.462, 2.625, 2.875, 3.223, 3.68, 4.254, 4.955, 5.79");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
values("0.1139, 0.1356, 0.2007, 0.3081, 0.4722, 0.7176, 1.056, 1.49, 2.023, 2.663",\
"0.1138, 0.1355, 0.2007, 0.308, 0.4722, 0.7174, 1.056, 1.491, 2.022, 2.663",\
"0.114, 0.1356, 0.2006, 0.3082, 0.4722, 0.7186, 1.057, 1.49, 2.023, 2.663",\
"0.114, 0.1356, 0.2008, 0.3082, 0.4722, 0.7176, 1.057, 1.489, 2.022, 2.663",\
"0.1138, 0.1356, 0.201, 0.3082, 0.4722, 0.7174, 1.057, 1.491, 2.023, 2.663",\
"0.114, 0.1356, 0.2008, 0.3082, 0.4728, 0.7188, 1.057, 1.49, 2.023, 2.663",\
"0.1142, 0.136, 0.2014, 0.3082, 0.473, 0.7188, 1.057, 1.49, 2.022, 2.663",\
"0.1144, 0.1362, 0.2014, 0.3084, 0.473, 0.718, 1.056, 1.488, 2.023, 2.658",\
"0.1146, 0.136, 0.2012, 0.3084, 0.4724, 0.7182, 1.057, 1.489, 2.021, 2.656",\
"0.1146, 0.1366, 0.2018, 0.3086, 0.4722, 0.7174, 1.057, 1.489, 2.024, 2.659");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
values("0.1217, 0.1578, 0.2908, 0.5572, 0.9792, 1.574, 2.361, 3.352, 4.561, 6.002",\
"0.1224, 0.1584, 0.2906, 0.5574, 0.9782, 1.576, 2.359, 3.352, 4.564, 6.002",\
"0.1226, 0.158, 0.2904, 0.5578, 0.9784, 1.576, 2.361, 3.35, 4.562, 6.006",\
"0.122, 0.1576, 0.291, 0.5576, 0.9798, 1.575, 2.361, 3.352, 4.564, 6.002",\
"0.1222, 0.1578, 0.2906, 0.5568, 0.9796, 1.574, 2.361, 3.353, 4.563, 5.998",\
"0.1224, 0.1578, 0.2908, 0.557, 0.9798, 1.576, 2.358, 3.348, 4.562, 6.006",\
"0.1218, 0.158, 0.2908, 0.5566, 0.9798, 1.574, 2.361, 3.353, 4.562, 6.001",\
"0.1214, 0.1572, 0.2908, 0.5572, 0.9782, 1.574, 2.359, 3.352, 4.564, 5.999",\
"0.1216, 0.1574, 0.2906, 0.5568, 0.9792, 1.574, 2.358, 3.348, 4.556, 5.999",\
"0.1216, 0.157, 0.2906, 0.5576, 0.9798, 1.576, 2.359, 3.346, 4.555, 6.001");
}
}
}
}