blob: 6e3f78c0fcf632b9dda836ef554165d5ec8d8962 [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_1) {
area : 63.660800 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.000120603" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.000134025" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0001392" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.000136098" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0001392" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003092 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
min_period : 2.455 ;
min_pulse_width_high : 1.04 ;
min_pulse_width_low : 1.238 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.09887, 0.09849, 0.09806, 0.09898, 0.102, 0.1072, 0.1147, 0.1247, \
0.1375, 0.1532");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.07731, 0.077, 0.07657, 0.07713, 0.0793, 0.08355, 0.09002, 0.09891, \
0.1102, 0.1241");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.1002, 0.09979, 0.09936, 0.1003, 0.1034, 0.1085, 0.1159, 0.126, \
0.1388, 0.1544");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.07734, 0.07711, 0.07659, 0.07715, 0.07937, 0.08367, 0.09016, \
0.09901, 0.1104, 0.1243");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.238");
}
rise_constraint(scalar) {
values("0.61");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.877");
}
rise_constraint(scalar) {
values("1.04");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.455");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.213");
}
}
}
pin(D) {
capacitance : 0.002299 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.05149, 0.05107, 0.05043, 0.05072, 0.05242, 0.05532, 0.05925, \
0.06434, 0.07068, 0.07843");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.0376, 0.03769, 0.03767, 0.038, 0.03903, 0.04098, 0.04401, 0.04817, \
0.05349, 0.06001");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.003312, 0.003307, 0.003299, 0.003309, 0.003313, 0.003312, 0.00331, \
0.003306, 0.003297, 0.003289");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("-0.002033, -0.002036, -0.002075, -0.002099, -0.00211, -0.002129, \
-0.002138, -0.002144, -0.002153, -0.002165");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.097, 0.117, 0.191, 0.308, 0.424, 0.499, 0.555, 0.591, 0.592, 0.566",\
"0.091, 0.112, 0.183, 0.296, 0.409, 0.485, 0.539, 0.572, 0.573, 0.547",\
"0.022, 0.041, 0.111, 0.23, 0.338, 0.419, 0.472, 0.512, 0.509, 0.485",\
"-0.135, -0.111, -0.041, 0.075, 0.183, 0.267, 0.323, 0.359, 0.364, 0.34",\
"-0.351, -0.323, -0.263, -0.138, -0.034, 0.05, 0.107, 0.148, 0.143, 0.121",\
"-0.621, -0.603, -0.53, -0.414, -0.309, -0.225, -0.168, -0.131, -0.127, -0.147",\
"-0.953, -0.932, -0.866, -0.751, -0.642, -0.556, -0.502, -0.462, -0.461, -0.484",\
"-1.336, -1.318, -1.25, -1.136, -1.03, -0.953, -0.895, -0.858, -0.854, -0.877",\
"-1.782, -1.768, -1.704, -1.594, -1.488, -1.404, -1.35, -1.311, -1.308, -1.333",\
"-2.299, -2.283, -2.222, -2.11, -2.007, -1.925, -1.868, -1.83, -1.829, -1.846");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.029, 0.052, 0.118, 0.194, 0.251, 0.284, 0.301, 0.293, 0.259, 0.196",\
"0.012, 0.035, 0.102, 0.175, 0.238, 0.273, 0.286, 0.286, 0.247, 0.194",\
"-0.039, -0.02, 0.056, 0.132, 0.193, 0.236, 0.256, 0.253, 0.221, 0.165",\
"-0.081, -0.059, 0.008, 0.094, 0.157, 0.203, 0.222, 0.223, 0.193, 0.14",\
"-0.087, -0.067, -0, 0.085, 0.151, 0.193, 0.216, 0.214, 0.185, 0.128",\
"-0.062, -0.045, 0.027, 0.108, 0.17, 0.211, 0.232, 0.232, 0.199, 0.149",\
"-0, 0.021, 0.085, 0.167, 0.224, 0.27, 0.281, 0.282, 0.245, 0.197",\
"0.116, 0.145, 0.202, 0.283, 0.33, 0.366, 0.381, 0.371, 0.34, 0.276",\
"0.291, 0.318, 0.377, 0.445, 0.493, 0.526, 0.536, 0.519, 0.476, 0.417",\
"0.531, 0.553, 0.612, 0.677, 0.72, 0.748, 0.747, 0.73, 0.685, 0.62");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.55, 0.527, 0.453, 0.314, 0.187, 0.089, 0.021, -0.025, -0.047, -0.031",\
"0.56, 0.54, 0.461, 0.327, 0.208, 0.102, 0.031, -0.014, -0.033, -0.02",\
"0.627, 0.61, 0.529, 0.394, 0.268, 0.171, 0.097, 0.053, 0.031, 0.047",\
"0.801, 0.781, 0.7, 0.564, 0.439, 0.337, 0.268, 0.224, 0.201, 0.215",\
"1.081, 1.063, 0.982, 0.845, 0.723, 0.622, 0.549, 0.498, 0.481, 0.493",\
"1.437, 1.418, 1.335, 1.201, 1.074, 0.98, 0.909, 0.857, 0.839, 0.855",\
"1.842, 1.821, 1.743, 1.606, 1.479, 1.382, 1.309, 1.26, 1.242, 1.256",\
"2.313, 2.292, 2.216, 2.082, 1.958, 1.855, 1.781, 1.738, 1.713, 1.726",\
"2.856, 2.837, 2.758, 2.625, 2.497, 2.402, 2.334, 2.281, 2.259, 2.269",\
"3.483, 3.456, 3.379, 3.248, 3.12, 3.028, 2.949, 2.902, 2.879, 2.89");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.521, 0.498, 0.416, 0.282, 0.178, 0.096, 0.053, 0.035, 0.049, 0.102",\
"0.545, 0.523, 0.441, 0.304, 0.198, 0.117, 0.069, 0.054, 0.064, 0.113",\
"0.609, 0.583, 0.501, 0.366, 0.262, 0.179, 0.131, 0.108, 0.115, 0.163",\
"0.698, 0.671, 0.595, 0.46, 0.354, 0.263, 0.217, 0.19, 0.19, 0.229",\
"0.762, 0.74, 0.66, 0.524, 0.42, 0.33, 0.282, 0.255, 0.247, 0.288",\
"0.785, 0.757, 0.682, 0.551, 0.441, 0.354, 0.296, 0.275, 0.267, 0.304",\
"0.762, 0.733, 0.655, 0.524, 0.418, 0.334, 0.271, 0.245, 0.25, 0.284",\
"0.696, 0.67, 0.591, 0.46, 0.354, 0.259, 0.213, 0.182, 0.184, 0.217",\
"0.576, 0.547, 0.467, 0.337, 0.233, 0.146, 0.095, 0.065, 0.07, 0.105",\
"0.395, 0.367, 0.294, 0.169, 0.053, -0.032, -0.084, -0.11, -0.105, -0.065");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3584 ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003467, 0.01212, 0.02866, 0.05442, 0.09056, 0.1381, 0.198, 0.2712, 0.3584");
values("0.08263, 0.08269, 0.08316, 0.08369, 0.08402, 0.08422, 0.08435, 0.0844, 0.08445, 0.08449",\
"0.08265, 0.0827, 0.08319, 0.08372, 0.08404, 0.08425, 0.08436, 0.08444, 0.08448, 0.08452",\
"0.08256, 0.08267, 0.08311, 0.08363, 0.08397, 0.08418, 0.0843, 0.08437, 0.08441, 0.08445",\
"0.08275, 0.08284, 0.08325, 0.08381, 0.08415, 0.08435, 0.08447, 0.08455, 0.08461, 0.08464",\
"0.08315, 0.08323, 0.0837, 0.08422, 0.08455, 0.08475, 0.08486, 0.08494, 0.08499, 0.08503",\
"0.08342, 0.08348, 0.08393, 0.08444, 0.08477, 0.08497, 0.08513, 0.0852, 0.08524, 0.08528",\
"0.0838, 0.08385, 0.0843, 0.08486, 0.0852, 0.08538, 0.08549, 0.08555, 0.08562, 0.08566",\
"0.08406, 0.0841, 0.08454, 0.08512, 0.08541, 0.08561, 0.08572, 0.08579, 0.08583, 0.08586",\
"0.08435, 0.08439, 0.08483, 0.08543, 0.08578, 0.08599, 0.0861, 0.08618, 0.08617, 0.08619",\
"0.08474, 0.08484, 0.08527, 0.08581, 0.08615, 0.08633, 0.08645, 0.0865, 0.08654, 0.08658");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003467, 0.01212, 0.02866, 0.05442, 0.09056, 0.1381, 0.198, 0.2712, 0.3584");
values("0.07969, 0.07955, 0.07955, 0.07999, 0.08087, 0.08149, 0.08227, 0.08295, 0.08497, 0.09742",\
"0.07966, 0.07953, 0.07951, 0.08008, 0.08074, 0.08146, 0.08196, 0.08267, 0.08393, 0.09933",\
"0.07965, 0.07947, 0.07946, 0.07985, 0.08075, 0.08146, 0.08215, 0.08262, 0.08503, 0.09877",\
"0.0796, 0.07943, 0.07943, 0.07983, 0.0807, 0.08142, 0.08207, 0.08272, 0.0852, 0.1013",\
"0.0797, 0.07959, 0.07954, 0.07995, 0.08082, 0.08138, 0.08216, 0.08308, 0.0846, 0.1049",\
"0.07981, 0.07967, 0.0797, 0.08018, 0.08096, 0.08168, 0.08221, 0.08292, 0.08543, 0.1123",\
"0.08011, 0.07977, 0.07973, 0.08029, 0.08128, 0.08176, 0.08223, 0.08288, 0.08681, 0.121",\
"0.08025, 0.08001, 0.08005, 0.08044, 0.08107, 0.08235, 0.08304, 0.08347, 0.08905, 0.139",\
"0.08078, 0.08054, 0.08052, 0.08075, 0.08156, 0.08212, 0.08323, 0.0848, 0.09436, 0.1667",\
"0.08102, 0.08086, 0.08083, 0.08148, 0.08196, 0.08265, 0.08269, 0.08569, 0.1055, 0.2197");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003467, 0.01212, 0.02866, 0.05442, 0.09056, 0.1381, 0.198, 0.2712, 0.3584");
values("1.238, 1.282, 1.398, 1.577, 1.837, 2.197, 2.669, 3.265, 3.991, 4.857",\
"1.259, 1.303, 1.419, 1.598, 1.858, 2.218, 2.69, 3.285, 4.012, 4.878",\
"1.334, 1.378, 1.494, 1.674, 1.933, 2.293, 2.766, 3.361, 4.088, 4.954",\
"1.466, 1.51, 1.626, 1.805, 2.065, 2.425, 2.898, 3.493, 4.22, 5.085",\
"1.593, 1.637, 1.752, 1.932, 2.192, 2.551, 3.024, 3.62, 4.346, 5.212",\
"1.693, 1.737, 1.853, 2.033, 2.293, 2.652, 3.125, 3.72, 4.447, 5.312",\
"1.77, 1.814, 1.93, 2.11, 2.369, 2.729, 3.202, 3.797, 4.523, 5.389",\
"1.823, 1.867, 1.983, 2.162, 2.422, 2.782, 3.254, 3.849, 4.576, 5.441",\
"1.85, 1.894, 2.01, 2.189, 2.449, 2.809, 3.282, 3.877, 4.603, 5.469",\
"1.846, 1.89, 2.006, 2.185, 2.445, 2.805, 3.277, 3.873, 4.599, 5.466");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003467, 0.01212, 0.02866, 0.05442, 0.09056, 0.1381, 0.198, 0.2712, 0.3584");
values("1.446, 1.501, 1.665, 1.962, 2.422, 3.067, 3.914, 4.981, 6.284, 7.838",\
"1.467, 1.522, 1.686, 1.982, 2.443, 3.088, 3.935, 5.002, 6.305, 7.857",\
"1.542, 1.597, 1.76, 2.057, 2.518, 3.163, 4.01, 5.077, 6.38, 7.934",\
"1.672, 1.727, 1.89, 2.187, 2.647, 3.292, 4.14, 5.207, 6.509, 8.064",\
"1.797, 1.852, 2.016, 2.313, 2.773, 3.418, 4.265, 5.333, 6.635, 8.188",\
"1.899, 1.955, 2.118, 2.415, 2.876, 3.52, 4.367, 5.435, 6.738, 8.29",\
"1.979, 2.034, 2.197, 2.494, 2.954, 3.599, 4.447, 5.514, 6.817, 8.37",\
"2.035, 2.09, 2.253, 2.55, 3.011, 3.655, 4.503, 5.57, 6.873, 8.424",\
"2.069, 2.124, 2.287, 2.584, 3.044, 3.689, 4.536, 5.603, 6.905, 8.457",\
"2.074, 2.129, 2.292, 2.589, 3.05, 3.695, 4.542, 5.609, 6.912, 8.463");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003467, 0.01212, 0.02866, 0.05442, 0.09056, 0.1381, 0.198, 0.2712, 0.3584");
values("0.135, 0.176, 0.3026, 0.5474, 0.9522, 1.541, 2.32, 3.302, 4.504, 5.923",\
"0.1352, 0.1758, 0.3034, 0.5476, 0.9524, 1.541, 2.319, 3.299, 4.502, 5.929",\
"0.1352, 0.176, 0.303, 0.5474, 0.9524, 1.541, 2.32, 3.299, 4.5, 5.932",\
"0.135, 0.1758, 0.3024, 0.5474, 0.9522, 1.541, 2.32, 3.298, 4.502, 5.929",\
"0.1354, 0.1758, 0.3034, 0.5476, 0.9532, 1.54, 2.319, 3.304, 4.499, 5.932",\
"0.1354, 0.1764, 0.3024, 0.5468, 0.9522, 1.54, 2.316, 3.302, 4.504, 5.923",\
"0.1352, 0.1764, 0.3024, 0.5474, 0.9544, 1.539, 2.316, 3.295, 4.499, 5.923",\
"0.1354, 0.176, 0.3022, 0.5474, 0.953, 1.541, 2.317, 3.295, 4.49, 5.922",\
"0.135, 0.176, 0.3024, 0.5476, 0.9532, 1.539, 2.317, 3.297, 4.491, 5.916",\
"0.1352, 0.1758, 0.3022, 0.5478, 0.9532, 1.54, 2.318, 3.295, 4.496, 5.916");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003467, 0.01212, 0.02866, 0.05442, 0.09056, 0.1381, 0.198, 0.2712, 0.3584");
values("0.1738, 0.236, 0.4724, 0.969, 1.753, 2.852, 4.303, 6.13, 8.359, 11.02",\
"0.1742, 0.236, 0.4722, 0.967, 1.752, 2.852, 4.298, 6.121, 8.36, 11.02",\
"0.1746, 0.2364, 0.4726, 0.9688, 1.753, 2.853, 4.303, 6.13, 8.36, 11.02",\
"0.1744, 0.2362, 0.4724, 0.969, 1.753, 2.853, 4.303, 6.13, 8.359, 11.02",\
"0.1742, 0.2366, 0.4728, 0.969, 1.752, 2.849, 4.302, 6.128, 8.352, 11.03",\
"0.1738, 0.2362, 0.472, 0.9678, 1.752, 2.852, 4.297, 6.122, 8.361, 11.02",\
"0.174, 0.2362, 0.4726, 0.9688, 1.75, 2.85, 4.297, 6.125, 8.364, 11.01",\
"0.1744, 0.2362, 0.4726, 0.967, 1.75, 2.851, 4.294, 6.118, 8.36, 11.02",\
"0.1742, 0.2356, 0.4738, 0.969, 1.752, 2.85, 4.301, 6.12, 8.353, 11.01",\
"0.174, 0.236, 0.4722, 0.9672, 1.753, 2.851, 4.304, 6.118, 8.344, 11");
}
}
}
}