blob: ee8ced2b7ad207d5067eb0913ffaea3cdc34fd55 [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.003559248" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.005132754" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.003348576" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.004520142" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.005132754" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003289 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.9 ;
min_period : 2.872 ;
min_pulse_width_high : 1.263 ;
min_pulse_width_low : 1.432 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.04367, 0.04353, 0.04343, 0.04408, 0.04609, 0.04946, 0.05438, \
0.06097, 0.06939, 0.0797");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03219, 0.03209, 0.03201, 0.03254, 0.03406, 0.03681, 0.04101, \
0.04676, 0.05408, 0.06306");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.04446, 0.04432, 0.04421, 0.04486, 0.04687, 0.05023, 0.05513, \
0.06173, 0.07015, 0.08048");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03204, 0.03196, 0.03188, 0.03242, 0.03396, 0.03671, 0.04093, \
0.0467, 0.05406, 0.06306");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.432");
}
rise_constraint(scalar) {
values("0.764");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.01");
}
rise_constraint(scalar) {
values("1.263");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.872");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.614");
}
}
}
pin(D) {
capacitance : 0.002384 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.02507, 0.02494, 0.02468, 0.02482, 0.02572, 0.02747, 0.02993, \
0.03314, 0.03719, 0.04212");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.01707, 0.01711, 0.01718, 0.01748, 0.0182, 0.01944, 0.02132, \
0.02386, 0.02713, 0.03113");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.001669, 0.001666, 0.001667, 0.001668, 0.001665, 0.001668, 0.001666, \
0.001661, 0.001656, 0.00165");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("-0.001037, -0.001039, -0.001042, -0.001047, -0.001049, -0.001057, \
-0.001066, -0.001072, -0.00108, -0.00109");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.085, 0.098, 0.149, 0.24, 0.309, 0.364, 0.39, 0.391, 0.366, 0.298",\
"0.08, 0.097, 0.144, 0.233, 0.302, 0.352, 0.375, 0.38, 0.35, 0.286",\
"0.043, 0.055, 0.105, 0.195, 0.259, 0.312, 0.34, 0.34, 0.307, 0.243",\
"-0.073, -0.065, -0.01, 0.079, 0.146, 0.204, 0.228, 0.23, 0.205, 0.142",\
"-0.255, -0.254, -0.196, -0.109, -0.042, 0.013, 0.046, 0.051, 0.018, -0.039",\
"-0.494, -0.491, -0.443, -0.356, -0.285, -0.229, -0.2, -0.194, -0.223, -0.275",\
"-0.781, -0.782, -0.733, -0.646, -0.578, -0.524, -0.493, -0.487, -0.509, -0.571",\
"-1.122, -1.12, -1.078, -0.989, -0.924, -0.868, -0.84, -0.84, -0.862, -0.915",\
"-1.509, -1.519, -1.478, -1.388, -1.328, -1.277, -1.25, -1.24, -1.255, -1.315",\
"-1.977, -1.971, -1.94, -1.848, -1.791, -1.738, -1.709, -1.701, -1.722, -1.778");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.074, 0.091, 0.138, 0.203, 0.247, 0.269, 0.268, 0.238, 0.185, 0.115",\
"0.06, 0.081, 0.126, 0.193, 0.238, 0.26, 0.26, 0.232, 0.184, 0.113",\
"0.042, 0.055, 0.105, 0.171, 0.223, 0.239, 0.246, 0.218, 0.17, 0.099",\
"0.038, 0.054, 0.091, 0.165, 0.206, 0.227, 0.228, 0.202, 0.16, 0.084",\
"0.058, 0.072, 0.117, 0.18, 0.222, 0.239, 0.235, 0.212, 0.165, 0.085",\
"0.11, 0.122, 0.162, 0.225, 0.267, 0.278, 0.273, 0.241, 0.183, 0.107",\
"0.201, 0.217, 0.258, 0.313, 0.349, 0.36, 0.342, 0.304, 0.248, 0.167",\
"0.364, 0.379, 0.411, 0.467, 0.492, 0.49, 0.467, 0.426, 0.36, 0.273",\
"0.597, 0.605, 0.625, 0.68, 0.696, 0.689, 0.656, 0.604, 0.531, 0.436",\
"0.88, 0.895, 0.916, 0.963, 0.969, 0.949, 0.91, 0.849, 0.775, 0.661");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.745, 0.728, 0.665, 0.57, 0.471, 0.406, 0.367, 0.353, 0.375, 0.44",\
"0.751, 0.738, 0.67, 0.577, 0.477, 0.414, 0.376, 0.366, 0.389, 0.446",\
"0.787, 0.777, 0.716, 0.615, 0.52, 0.452, 0.417, 0.404, 0.429, 0.489",\
"0.91, 0.895, 0.837, 0.74, 0.642, 0.58, 0.535, 0.529, 0.553, 0.61",\
"1.143, 1.127, 1.064, 0.962, 0.867, 0.809, 0.763, 0.752, 0.774, 0.833",\
"1.455, 1.439, 1.378, 1.283, 1.189, 1.12, 1.083, 1.073, 1.09, 1.15",\
"1.851, 1.835, 1.77, 1.671, 1.576, 1.518, 1.476, 1.46, 1.481, 1.537",\
"2.305, 2.298, 2.228, 2.134, 2.04, 1.973, 1.934, 1.917, 1.937, 1.996",\
"2.85, 2.83, 2.769, 2.671, 2.571, 2.502, 2.46, 2.447, 2.47, 2.526",\
"3.462, 3.445, 3.376, 3.277, 3.177, 3.109, 3.066, 3.054, 3.072, 3.128");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.625, 0.604, 0.55, 0.449, 0.358, 0.306, 0.297, 0.311, 0.35, 0.434",\
"0.641, 0.618, 0.556, 0.459, 0.366, 0.323, 0.306, 0.317, 0.365, 0.446",\
"0.684, 0.663, 0.604, 0.502, 0.421, 0.366, 0.343, 0.36, 0.395, 0.478",\
"0.752, 0.737, 0.676, 0.575, 0.484, 0.436, 0.411, 0.419, 0.454, 0.541",\
"0.806, 0.786, 0.733, 0.625, 0.541, 0.493, 0.462, 0.469, 0.51, 0.587",\
"0.821, 0.801, 0.746, 0.642, 0.556, 0.507, 0.478, 0.49, 0.521, 0.602",\
"0.799, 0.765, 0.714, 0.614, 0.524, 0.475, 0.45, 0.457, 0.497, 0.571",\
"0.72, 0.695, 0.642, 0.547, 0.457, 0.406, 0.375, 0.39, 0.422, 0.511",\
"0.604, 0.574, 0.521, 0.422, 0.331, 0.281, 0.254, 0.269, 0.306, 0.393",\
"0.411, 0.389, 0.332, 0.234, 0.146, 0.1, 0.071, 0.083, 0.129, 0.206");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.9336 ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.007437, 0.03003, 0.07318, 0.1404, 0.2347, 0.3588, 0.5152, 0.7061, 0.9336");
values("0.09699, 0.09553, 0.09395, 0.09347, 0.09337, 0.09337, 0.09336, 0.09334, 0.09335, 0.09335",\
"0.09695, 0.09551, 0.09396, 0.09344, 0.09332, 0.09339, 0.09335, 0.09334, 0.09335, 0.09334",\
"0.09698, 0.09552, 0.09396, 0.09347, 0.09334, 0.09335, 0.09334, 0.09334, 0.09336, 0.09336",\
"0.09705, 0.09559, 0.09401, 0.09355, 0.09344, 0.09341, 0.09341, 0.0934, 0.09341, 0.09341",\
"0.09713, 0.09572, 0.09414, 0.09363, 0.09353, 0.09353, 0.09353, 0.09353, 0.09354, 0.09354",\
"0.09726, 0.09584, 0.0943, 0.09381, 0.0937, 0.09368, 0.09367, 0.09367, 0.09365, 0.09365",\
"0.09743, 0.09599, 0.09439, 0.09393, 0.09387, 0.09382, 0.09382, 0.0938, 0.0938, 0.0938",\
"0.09759, 0.09617, 0.09457, 0.09408, 0.094, 0.09401, 0.09402, 0.09401, 0.09401, 0.09401",\
"0.09785, 0.09641, 0.09482, 0.09431, 0.09422, 0.09419, 0.09423, 0.09422, 0.09421, 0.09421",\
"0.09813, 0.09667, 0.09507, 0.09458, 0.09451, 0.09449, 0.09448, 0.09446, 0.09446, 0.09445");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.007437, 0.03003, 0.07318, 0.1404, 0.2347, 0.3588, 0.5152, 0.7061, 0.9336");
values("0.1011, 0.09995, 0.09795, 0.09717, 0.09733, 0.09792, 0.09882, 0.09983, 0.102, 0.1103",\
"0.1012, 0.09987, 0.09793, 0.09719, 0.09735, 0.09793, 0.09874, 0.09991, 0.1013, 0.11",\
"0.1011, 0.09985, 0.09792, 0.09714, 0.09728, 0.09791, 0.09878, 0.09958, 0.1014, 0.1112",\
"0.1011, 0.09984, 0.09788, 0.09712, 0.09742, 0.09775, 0.09864, 0.1, 0.1013, 0.1115",\
"0.101, 0.09976, 0.09786, 0.09717, 0.09723, 0.09781, 0.09872, 0.09969, 0.1015, 0.1131",\
"0.1011, 0.09984, 0.09793, 0.09715, 0.09733, 0.09787, 0.09864, 0.09991, 0.1019, 0.1156",\
"0.1012, 0.09986, 0.09796, 0.09725, 0.09759, 0.09803, 0.09882, 0.1001, 0.1021, 0.1189",\
"0.1014, 0.1001, 0.09818, 0.09728, 0.09752, 0.09872, 0.09941, 0.1002, 0.1032, 0.1262",\
"0.1016, 0.1003, 0.0984, 0.09758, 0.09762, 0.09805, 0.09983, 0.101, 0.1056, 0.1367",\
"0.102, 0.1008, 0.0988, 0.09822, 0.09804, 0.09827, 0.09926, 0.1013, 0.1087, 0.1539");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.007437, 0.03003, 0.07318, 0.1404, 0.2347, 0.3588, 0.5152, 0.7061, 0.9336");
values("1.472, 1.511, 1.614, 1.761, 1.951, 2.196, 2.511, 2.906, 3.386, 3.96",\
"1.487, 1.526, 1.63, 1.776, 1.966, 2.211, 2.527, 2.921, 3.402, 3.974",\
"1.543, 1.582, 1.686, 1.832, 2.022, 2.267, 2.582, 2.977, 3.458, 4.031",\
"1.641, 1.68, 1.783, 1.93, 2.12, 2.365, 2.68, 3.075, 3.556, 4.128",\
"1.734, 1.774, 1.877, 2.023, 2.213, 2.459, 2.774, 3.168, 3.649, 4.223",\
"1.803, 1.843, 1.946, 2.092, 2.282, 2.528, 2.843, 3.237, 3.718, 4.292",\
"1.849, 1.889, 1.992, 2.139, 2.328, 2.574, 2.889, 3.284, 3.765, 4.338",\
"1.87, 1.91, 2.013, 2.159, 2.349, 2.595, 2.91, 3.304, 3.784, 4.358",\
"1.862, 1.902, 2.005, 2.151, 2.341, 2.587, 2.901, 3.296, 3.777, 4.35",\
"1.822, 1.861, 1.965, 2.111, 2.301, 2.547, 2.862, 3.256, 3.737, 4.31");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.007437, 0.03003, 0.07318, 0.1404, 0.2347, 0.3588, 0.5152, 0.7061, 0.9336");
values("1.622, 1.672, 1.81, 2.041, 2.395, 2.892, 3.546, 4.368, 5.372, 6.568",\
"1.637, 1.687, 1.826, 2.057, 2.411, 2.908, 3.562, 4.383, 5.388, 6.583",\
"1.693, 1.743, 1.881, 2.112, 2.466, 2.963, 3.617, 4.439, 5.443, 6.639",\
"1.789, 1.839, 1.977, 2.208, 2.563, 3.06, 3.712, 4.535, 5.539, 6.735",\
"1.882, 1.932, 2.07, 2.301, 2.655, 3.152, 3.806, 4.628, 5.631, 6.828",\
"1.952, 2.001, 2.14, 2.371, 2.725, 3.222, 3.876, 4.698, 5.702, 6.897",\
"1.999, 2.048, 2.186, 2.418, 2.772, 3.269, 3.922, 4.745, 5.748, 6.945",\
"2.023, 2.073, 2.211, 2.443, 2.797, 3.293, 3.946, 4.769, 5.773, 6.97",\
"2.021, 2.071, 2.209, 2.44, 2.794, 3.291, 3.944, 4.767, 5.77, 6.966",\
"1.989, 2.038, 2.177, 2.408, 2.762, 3.259, 3.912, 4.735, 5.739, 6.934");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.007437, 0.03003, 0.07318, 0.1404, 0.2347, 0.3588, 0.5152, 0.7061, 0.9336");
values("0.1488, 0.186, 0.2908, 0.4614, 0.7266, 1.116, 1.65, 2.332, 3.174, 4.177",\
"0.1484, 0.1854, 0.2916, 0.4606, 0.726, 1.116, 1.649, 2.334, 3.174, 4.174",\
"0.1486, 0.1858, 0.2916, 0.4618, 0.726, 1.116, 1.65, 2.331, 3.174, 4.178",\
"0.1488, 0.186, 0.2916, 0.4614, 0.7266, 1.116, 1.649, 2.332, 3.172, 4.174",\
"0.1488, 0.1856, 0.2918, 0.4614, 0.7266, 1.117, 1.65, 2.333, 3.174, 4.176",\
"0.1488, 0.1856, 0.291, 0.462, 0.726, 1.116, 1.65, 2.335, 3.174, 4.169",\
"0.1486, 0.1858, 0.2914, 0.4608, 0.7262, 1.115, 1.648, 2.334, 3.172, 4.177",\
"0.1486, 0.1854, 0.2908, 0.4614, 0.7264, 1.116, 1.648, 2.33, 3.167, 4.175",\
"0.1486, 0.1852, 0.2912, 0.4612, 0.7258, 1.116, 1.651, 2.331, 3.171, 4.167",\
"0.1484, 0.1856, 0.2914, 0.4614, 0.726, 1.116, 1.65, 2.33, 3.167, 4.169");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.007437, 0.03003, 0.07318, 0.1404, 0.2347, 0.3588, 0.5152, 0.7061, 0.9336");
values("0.1772, 0.2344, 0.416, 0.7958, 1.423, 2.311, 3.481, 4.958, 6.755, 8.909",\
"0.1778, 0.2342, 0.4164, 0.7962, 1.423, 2.31, 3.484, 4.957, 6.76, 8.912",\
"0.1774, 0.2346, 0.4162, 0.796, 1.423, 2.309, 3.479, 4.954, 6.755, 8.909",\
"0.1768, 0.2344, 0.416, 0.7976, 1.422, 2.311, 3.483, 4.955, 6.76, 8.91",\
"0.1772, 0.2342, 0.4162, 0.7962, 1.423, 2.311, 3.483, 4.955, 6.75, 8.898",\
"0.1766, 0.2334, 0.4162, 0.7958, 1.423, 2.31, 3.484, 4.958, 6.759, 8.912",\
"0.1772, 0.2338, 0.4158, 0.7962, 1.422, 2.31, 3.483, 4.952, 6.758, 8.903",\
"0.1772, 0.2344, 0.4158, 0.7962, 1.423, 2.31, 3.481, 4.95, 6.756, 8.903",\
"0.1768, 0.2338, 0.416, 0.7958, 1.423, 2.31, 3.485, 4.951, 6.758, 8.909",\
"0.1772, 0.2344, 0.4154, 0.7978, 1.423, 2.31, 3.478, 4.95, 6.751, 8.9");
}
}
}
}