blob: 6f2dae367d887906bf881e6672e03397031a859f [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.0003436182" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0003684042" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0003768768" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0003834702" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003834702" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003081 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 25 ;
min_period : 13.26 ;
min_pulse_width_high : 6.622 ;
min_pulse_width_low : 6.293 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02905, 0.029, 0.02884, 0.02868, 0.02855, 0.02851, 0.02852, 0.0286, \
0.02854, 0.01535");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02282, 0.0228, 0.0227, 0.02252, 0.02238, 0.02228, 0.02227, 0.0223, \
0.02248, 0.02288");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.0294, 0.02934, 0.02919, 0.02902, 0.0289, 0.02885, 0.02885, 0.0289, \
0.02871, 0.01528");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02286, 0.02283, 0.02273, 0.02255, 0.0224, 0.02231, 0.02229, \
0.02233, 0.02252, 0.02297");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("6.293");
}
rise_constraint(scalar) {
values("2.876");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("4.032");
}
rise_constraint(scalar) {
values("6.622");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("12.59");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("13.26");
}
}
}
pin(D) {
capacitance : 0.002199 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.0151, 0.01509, 0.01492, 0.01477, 0.01471, 0.0147, 0.01475, 0.01481, \
0.01343, 0.004242");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.01143, 0.01144, 0.01144, 0.01138, 0.01133, 0.01129, 0.01129, \
0.01134, 0.01146, 0.01169");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.000938, 0.000938, 0.0009379, 0.0009372, 0.0009352, 0.0009304, \
0.0009207, 0.0009013, 0.0008127, 0.0006184");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("-0.0004827, -0.0004872, -0.0004942, -0.0005055, -0.0005135, -0.0005245, \
-0.0005388, -0.0005664, -0.000618, -0.0005972");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.149, 0.211, 0.415, 0.799, 1.324, 1.842, 2.338, 2.795, 3.234, 3.56",\
"0.094, 0.159, 0.356, 0.739, 1.254, 1.771, 2.259, 2.712, 3.147, 3.471",\
"-0.065, -0.003, 0.2, 0.58, 1.09, 1.6, 2.09, 2.537, 2.964, 3.287",\
"-0.484, -0.417, -0.213, 0.176, 0.682, 1.194, 1.682, 2.136, 2.567, 2.891",\
"-1.163, -1.096, -0.904, -0.514, -0.009, 0.504, 0.993, 1.447, 1.885, 2.199",\
"-1.988, -1.929, -1.739, -1.363, -0.878, -0.383, 0.103, 0.534, 0.973, 1.283",\
"-2.947, -2.895, -2.703, -2.347, -1.871, -1.399, -0.924, -0.498, -0.062, 0.233",\
"-4.024, -3.973, -3.799, -3.449, -2.996, -2.53, -2.074, -1.665, -1.233, -0.96",\
"-5.23, -5.177, -5.006, -4.677, -4.242, -3.791, -3.344, -2.948, -2.521, -2.273",\
"-6.553, -6.506, -6.357, -6.032, -5.6, -5.164, -4.753, -4.372, -3.951, -3.718");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.086, 0.148, 0.359, 0.688, 1.022, 1.334, 1.608, 1.847, 2.025, 2.145",\
"0.032, 0.098, 0.309, 0.643, 0.978, 1.29, 1.569, 1.81, 1.99, 2.106",\
"-0.131, -0.074, 0.148, 0.481, 0.824, 1.144, 1.434, 1.675, 1.864, 1.989",\
"-0.321, -0.258, -0.051, 0.293, 0.633, 0.955, 1.245, 1.498, 1.688, 1.814",\
"-0.472, -0.415, -0.21, 0.13, 0.465, 0.781, 1.073, 1.311, 1.502, 1.63",\
"-0.572, -0.515, -0.31, 0.021, 0.347, 0.654, 0.935, 1.177, 1.361, 1.486",\
"-0.588, -0.53, -0.334, -0.005, 0.308, 0.607, 0.873, 1.103, 1.279, 1.398",\
"-0.494, -0.449, -0.265, 0.06, 0.359, 0.646, 0.907, 1.126, 1.297, 1.397",\
"-0.316, -0.276, -0.086, 0.225, 0.514, 0.787, 1.032, 1.233, 1.395, 1.492",\
"-0.026, 0.012, 0.202, 0.507, 0.785, 1.037, 1.269, 1.458, 1.607, 1.694");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("3.475, 3.427, 3.143, 2.696, 2.075, 1.428, 0.843, 0.265, -0.243, -0.7",\
"3.57, 3.481, 3.204, 2.754, 2.132, 1.49, 0.902, 0.327, -0.185, -0.636",\
"3.735, 3.657, 3.375, 2.926, 2.302, 1.661, 1.073, 0.492, -0.016, -0.47",\
"4.162, 4.073, 3.797, 3.354, 2.726, 2.083, 1.492, 0.923, 0.41, -0.044",\
"4.856, 4.808, 4.522, 4.077, 3.453, 2.815, 2.224, 1.648, 1.158, 0.683",\
"5.92, 5.877, 5.593, 5.148, 4.517, 3.878, 3.295, 2.719, 2.204, 1.749",\
"7.334, 7.282, 6.997, 6.552, 5.927, 5.288, 4.702, 4.124, 3.62, 3.159",\
"8.998, 8.958, 8.674, 8.234, 7.604, 6.963, 6.379, 5.793, 5.279, 4.828",\
"10.82, 10.79, 10.49, 10.04, 9.421, 8.772, 8.192, 7.603, 7.101, 6.628",\
"12.78, 12.74, 12.43, 11.99, 11.37, 10.72, 10.14, 9.537, 9.037, 8.577");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("2.273, 2.19, 1.925, 1.499, 0.891, 0.335, -0.142, -0.535, -0.845, -1.041",\
"2.334, 2.237, 1.98, 1.55, 0.948, 0.385, -0.088, -0.483, -0.792, -0.987",\
"2.527, 2.433, 2.171, 1.745, 1.139, 0.585, 0.104, -0.3, -0.612, -0.821",\
"2.882, 2.79, 2.531, 2.112, 1.502, 0.937, 0.452, 0.041, -0.264, -0.53",\
"3.303, 3.209, 2.953, 2.53, 1.931, 1.367, 0.875, 0.458, 0.117, -0.116",\
"3.727, 3.635, 3.373, 2.957, 2.362, 1.796, 1.298, 0.878, 0.526, 0.288",\
"4.077, 3.986, 3.728, 3.303, 2.709, 2.147, 1.638, 1.212, 0.863, 0.61",\
"4.329, 4.24, 3.982, 3.562, 2.965, 2.393, 1.9, 1.469, 1.108, 0.835",\
"4.494, 4.395, 4.14, 3.718, 3.134, 2.569, 2.054, 1.635, 1.277, 1.019",\
"4.575, 4.478, 4.211, 3.792, 3.219, 2.632, 2.148, 1.706, 1.331, 1.083");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7715 ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.006318, 0.02498, 0.06063, 0.1162, 0.1941, 0.2966, 0.4258, 0.5835, 0.7715");
values("0.05538, 0.0557, 0.0565, 0.05728, 0.05782, 0.05815, 0.05834, 0.05846, 0.05853, 0.05849",\
"0.05537, 0.0557, 0.05649, 0.05726, 0.0578, 0.05813, 0.05833, 0.05845, 0.05852, 0.05846",\
"0.05537, 0.05569, 0.05649, 0.05726, 0.0578, 0.05813, 0.05833, 0.05845, 0.05851, 0.05843",\
"0.05538, 0.05569, 0.05649, 0.05727, 0.0578, 0.05813, 0.05833, 0.05845, 0.0585, 0.05835",\
"0.0554, 0.05572, 0.05651, 0.05729, 0.05783, 0.05816, 0.05835, 0.05847, 0.05848, 0.05817",\
"0.05544, 0.05576, 0.05656, 0.05733, 0.05787, 0.05821, 0.0584, 0.0585, 0.0584, 0.05766",\
"0.05546, 0.05578, 0.05657, 0.05737, 0.0579, 0.05822, 0.05841, 0.05843, 0.05786, 0.05625",\
"0.05549, 0.05581, 0.0566, 0.0574, 0.05793, 0.05824, 0.05833, 0.05765, 0.0557, 0.0535",\
"0.05548, 0.05582, 0.05661, 0.05738, 0.05787, 0.05766, 0.05558, 0.05295, 0.05107, 0.04972",\
"0.04666, 0.04575, 0.04252, 0.04088, 0.04022, 0.03992, 0.03976, 0.03967, 0.03962, 0.03958");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.006318, 0.02498, 0.06063, 0.1162, 0.1941, 0.2966, 0.4258, 0.5835, 0.7715");
values("-0.03507, -0.03486, -0.03436, -0.03368, -0.03295, -0.03183, -0.01947, 0.0672, 0.2605, 0.4558",\
"-0.03509, -0.03487, -0.03439, -0.03372, -0.03294, -0.03183, -0.01852, 0.07072, 0.2647, 0.4573",\
"-0.0351, -0.03492, -0.03438, -0.03367, -0.03286, -0.03159, -0.01554, 0.08365, 0.2788, 0.4617",\
"-0.03517, -0.03496, -0.03444, -0.03373, -0.03299, -0.03133, -0.007725, 0.1107, 0.3028, 0.4658",\
"-0.03523, -0.03504, -0.03451, -0.03385, -0.03303, -0.02984, 0.01042, 0.1539, 0.3289, 0.4621",\
"-0.03535, -0.03515, -0.03464, -0.03397, -0.03304, -0.0247, 0.04854, 0.2048, 0.3423, 0.4399",\
"-0.03563, -0.03544, -0.0349, -0.03419, -0.03252, -0.003433, 0.1123, 0.2373, 0.3247, 0.3851",\
"-0.03638, -0.03618, -0.03566, -0.03487, -0.02093, 0.06131, 0.1525, 0.2124, 0.2518, 0.2787",\
"-0.03892, -0.03875, -0.03789, -0.01599, 0.03001, 0.05803, 0.07435, 0.08433, 0.09072, 0.09505",\
"-0.07638, -0.07638, -0.07638, -0.07639, -0.0764, -0.0764, -0.0764, -0.0764, -0.0764, -0.07641");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.006318, 0.02498, 0.06063, 0.1162, 0.1941, 0.2966, 0.4258, 0.5835, 0.7715");
values("5.627, 5.731, 5.992, 6.355, 6.822, 7.418, 8.174, 9.117, 10.26, 11.63",\
"5.693, 5.797, 6.058, 6.421, 6.888, 7.484, 8.24, 9.183, 10.33, 11.7",\
"5.924, 6.027, 6.288, 6.652, 7.119, 7.715, 8.471, 9.414, 10.56, 11.93",\
"6.362, 6.465, 6.726, 7.09, 7.556, 8.152, 8.909, 9.851, 11, 12.37",\
"6.951, 7.055, 7.316, 7.678, 8.146, 8.741, 9.498, 10.44, 11.59, 12.95",\
"7.557, 7.659, 7.921, 8.284, 8.751, 9.347, 10.1, 11.05, 12.19, 13.56",\
"8.145, 8.246, 8.508, 8.872, 9.338, 9.934, 10.69, 11.63, 12.78, 14.15",\
"8.697, 8.8, 9.061, 9.424, 9.891, 10.49, 11.24, 12.19, 13.33, 14.7",\
"9.211, 9.314, 9.575, 9.937, 10.41, 11, 11.76, 12.7, 13.85, 15.21",\
"9.665, 9.768, 10.03, 10.39, 10.86, 11.46, 12.21, 13.15, 14.3, 15.67");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.006318, 0.02498, 0.06063, 0.1162, 0.1941, 0.2966, 0.4258, 0.5835, 0.7715");
values("7.938, 8.085, 8.493, 9.186, 10.25, 11.73, 13.67, 16.12, 19.11, 22.66",\
"8.003, 8.151, 8.559, 9.252, 10.31, 11.79, 13.74, 16.19, 19.17, 22.73",\
"8.233, 8.38, 8.789, 9.481, 10.54, 12.02, 13.97, 16.42, 19.4, 22.96",\
"8.663, 8.811, 9.219, 9.912, 10.97, 12.45, 14.4, 16.85, 19.83, 23.39",\
"9.243, 9.39, 9.798, 10.49, 11.55, 13.03, 14.98, 17.43, 20.41, 23.97",\
"9.839, 9.987, 10.39, 11.09, 12.15, 13.63, 15.57, 18.02, 21.01, 24.57",\
"10.42, 10.57, 10.97, 11.67, 12.73, 14.21, 16.16, 18.6, 21.59, 25.15",\
"10.97, 11.12, 11.53, 12.22, 13.28, 14.76, 16.7, 19.15, 22.14, 25.7",\
"11.48, 11.62, 12.03, 12.73, 13.78, 15.27, 17.21, 19.66, 22.65, 26.2",\
"11.93, 12.08, 12.49, 13.18, 14.24, 15.72, 17.67, 20.11, 23.1, 26.66");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.006318, 0.02498, 0.06063, 0.1162, 0.1941, 0.2966, 0.4258, 0.5835, 0.7715");
values("0.4312, 0.512, 0.7526, 1.162, 1.785, 2.693, 3.928, 5.518, 7.471, 9.826",\
"0.4314, 0.5134, 0.7536, 1.161, 1.788, 2.691, 3.929, 5.523, 7.476, 9.819",\
"0.4316, 0.5128, 0.7534, 1.162, 1.787, 2.692, 3.926, 5.519, 7.474, 9.83",\
"0.4314, 0.5126, 0.7518, 1.16, 1.785, 2.691, 3.927, 5.515, 7.472, 9.826",\
"0.432, 0.5124, 0.7532, 1.162, 1.786, 2.694, 3.928, 5.516, 7.474, 9.832",\
"0.432, 0.514, 0.752, 1.162, 1.788, 2.692, 3.93, 5.522, 7.48, 9.83",\
"0.432, 0.512, 0.752, 1.164, 1.786, 2.694, 3.928, 5.514, 7.48, 9.826",\
"0.432, 0.512, 0.752, 1.164, 1.786, 2.694, 3.928, 5.52, 7.472, 9.81",\
"0.43, 0.514, 0.752, 1.16, 1.786, 2.694, 3.926, 5.52, 7.47, 9.8",\
"0.432, 0.512, 0.754, 1.162, 1.786, 2.694, 3.93, 5.522, 7.466, 9.808");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.006318, 0.02498, 0.06063, 0.1162, 0.1941, 0.2966, 0.4258, 0.5835, 0.7715");
values("0.571, 0.7006, 1.197, 2.281, 4.045, 6.528, 9.792, 13.91, 18.94, 24.98",\
"0.5708, 0.7006, 1.198, 2.281, 4.046, 6.53, 9.796, 13.93, 18.95, 24.92",\
"0.5706, 0.701, 1.197, 2.282, 4.044, 6.534, 9.802, 13.92, 18.95, 24.94",\
"0.5712, 0.7008, 1.196, 2.28, 4.046, 6.532, 9.796, 13.92, 18.93, 24.94",\
"0.57, 0.702, 1.196, 2.28, 4.044, 6.532, 9.804, 13.93, 18.95, 24.95",\
"0.572, 0.7, 1.198, 2.28, 4.044, 6.532, 9.8, 13.91, 18.95, 24.94",\
"0.572, 0.702, 1.2, 2.282, 4.046, 6.534, 9.806, 13.92, 18.96, 24.94",\
"0.572, 0.704, 1.198, 2.282, 4.044, 6.526, 9.788, 13.91, 18.96, 24.97",\
"0.572, 0.702, 1.198, 2.28, 4.038, 6.52, 9.788, 13.92, 18.96, 24.97",\
"0.572, 0.7, 1.198, 2.278, 4.04, 6.518, 9.782, 13.91, 18.93, 24.94");
}
}
}
}