blob: 36e17c496141f1d2c5113ca4ec87edccab61f098 [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__dffnq_4) {
area : 83.417600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.01060416" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.01414332" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00798912" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.01409364" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.01414332" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003448 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
min_period : 1.214 ;
min_pulse_width_high : 0.503 ;
min_pulse_width_low : 0.597 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1602, 0.1599, 0.1638, 0.1796, 0.2104, 0.2574, 0.3213, 0.4032, \
0.5035, 0.6234");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1025, 0.1023, 0.1054, 0.1188, 0.1448, 0.1853, 0.2412, 0.313, \
0.4016, 0.5078");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1599, 0.1596, 0.1635, 0.1793, 0.2101, 0.257, 0.321, 0.4028, \
0.5032, 0.6231");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1026, 0.1025, 0.1056, 0.119, 0.145, 0.1854, 0.2413, 0.3132, \
0.4018, 0.508");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.534");
}
rise_constraint(scalar) {
values("0.503");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.597");
}
rise_constraint(scalar) {
values("0.43");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.112");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.214");
}
}
}
pin(D) {
capacitance : 0.002454 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.03113, 0.03103, 0.03581, 0.0484, 0.06988, 0.101, 0.1426, 0.1954, \
0.2601, 0.3376");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.003264, 0.003338, 0.006633, 0.01653, 0.03427, 0.06056, 0.096, \
0.1412, 0.1966, 0.263");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.111, 0.111, 0.1144, 0.1261, 0.1487, 0.183, 0.2297, 0.2893, 0.3623, \
0.4495");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.07155, 0.07162, 0.0746, 0.08417, 0.1019, 0.1292, 0.1668, 0.2155, \
0.276, 0.3485");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.086, 0.101, 0.141, 0.228, 0.325, 0.44, 0.578, 0.738, 0.926, 1.14",\
"0.072, 0.084, 0.131, 0.213, 0.314, 0.427, 0.563, 0.723, 0.911, 1.127",\
"0.009, 0.023, 0.064, 0.148, 0.252, 0.364, 0.499, 0.658, 0.844, 1.061",\
"-0.096, -0.083, -0.04, 0.034, 0.134, 0.242, 0.378, 0.534, 0.716, 0.936",\
"-0.232, -0.218, -0.176, -0.106, -0.018, 0.087, 0.222, 0.363, 0.547, 0.75",\
"-0.4, -0.387, -0.343, -0.275, -0.195, -0.094, 0.019, 0.165, 0.339, 0.53",\
"-0.593, -0.578, -0.539, -0.483, -0.411, -0.323, -0.21, -0.07, 0.085, 0.275",\
"-0.825, -0.812, -0.776, -0.72, -0.659, -0.574, -0.479, -0.346, -0.201, -0.02",\
"-1.085, -1.078, -1.044, -0.996, -0.94, -0.873, -0.784, -0.668, -0.524, -0.351",\
"-1.392, -1.381, -1.348, -1.313, -1.27, -1.212, -1.131, -1.026, -0.892, -0.723");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.177, 0.188, 0.241, 0.343, 0.47, 0.622, 0.799, 0.999, 1.223, 1.473",\
"0.166, 0.183, 0.23, 0.334, 0.464, 0.613, 0.794, 0.993, 1.217, 1.463",\
"0.145, 0.16, 0.208, 0.309, 0.444, 0.594, 0.775, 0.97, 1.195, 1.441",\
"0.142, 0.16, 0.209, 0.305, 0.44, 0.588, 0.769, 0.963, 1.185, 1.439",\
"0.17, 0.178, 0.231, 0.33, 0.459, 0.614, 0.789, 0.986, 1.21, 1.449",\
"0.231, 0.239, 0.295, 0.389, 0.516, 0.675, 0.843, 1.04, 1.263, 1.508",\
"0.341, 0.348, 0.4, 0.491, 0.612, 0.764, 0.937, 1.137, 1.351, 1.6",\
"0.508, 0.511, 0.562, 0.648, 0.76, 0.907, 1.067, 1.267, 1.485, 1.73",\
"0.736, 0.737, 0.783, 0.858, 0.96, 1.093, 1.254, 1.45, 1.66, 1.903",\
"1.031, 1.031, 1.073, 1.125, 1.212, 1.341, 1.488, 1.673, 1.883, 2.119");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.349, 0.339, 0.285, 0.199, 0.091, -0.031, -0.174, -0.338, -0.519, -0.725",\
"0.362, 0.351, 0.297, 0.213, 0.103, -0.02, -0.16, -0.324, -0.501, -0.719",\
"0.422, 0.411, 0.358, 0.266, 0.162, 0.037, -0.105, -0.263, -0.45, -0.652",\
"0.54, 0.526, 0.47, 0.38, 0.274, 0.153, 0.013, -0.146, -0.33, -0.539",\
"0.714, 0.697, 0.644, 0.561, 0.447, 0.325, 0.185, 0.022, -0.162, -0.369",\
"0.935, 0.924, 0.873, 0.779, 0.667, 0.544, 0.396, 0.236, 0.06, -0.15",\
"1.218, 1.205, 1.154, 1.056, 0.938, 0.802, 0.657, 0.501, 0.319, 0.12",\
"1.553, 1.543, 1.478, 1.38, 1.256, 1.121, 0.969, 0.812, 0.627, 0.434",\
"1.94, 1.92, 1.869, 1.753, 1.619, 1.48, 1.321, 1.164, 0.988, 0.787",\
"2.383, 2.369, 2.295, 2.184, 2.043, 1.893, 1.729, 1.571, 1.382, 1.192");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.206, 0.192, 0.14, 0.051, -0.067, -0.203, -0.372, -0.563, -0.774, -1.005",\
"0.215, 0.206, 0.149, 0.056, -0.054, -0.195, -0.362, -0.552, -0.758, -0.982",\
"0.246, 0.23, 0.179, 0.085, -0.037, -0.169, -0.334, -0.533, -0.743, -0.986",\
"0.277, 0.265, 0.216, 0.122, -0.004, -0.147, -0.309, -0.505, -0.716, -0.945",\
"0.292, 0.286, 0.229, 0.134, 0.006, -0.141, -0.312, -0.505, -0.718, -0.951",\
"0.293, 0.283, 0.225, 0.134, 0.003, -0.16, -0.329, -0.53, -0.747, -0.994",\
"0.262, 0.249, 0.191, 0.091, -0.036, -0.192, -0.371, -0.572, -0.794, -1.045",\
"0.189, 0.179, 0.123, 0.018, -0.112, -0.265, -0.45, -0.653, -0.883, -1.13",\
"0.085, 0.076, 0.013, -0.093, -0.223, -0.377, -0.559, -0.761, -0.994, -1.242",\
"-0.058, -0.07, -0.126, -0.235, -0.373, -0.531, -0.711, -0.915, -1.144, -1.403");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.304 ;
max_transition : 7.4 ;
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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.009994, 0.04157, 0.1019, 0.1958, 0.3276, 0.501, 0.7195, 0.9862, 1.304");
values("0.4949, 0.476, 0.4383, 0.4101, 0.3944, 0.3848, 0.3783, 0.374, 0.371, 0.3688",\
"0.495, 0.4761, 0.4382, 0.4102, 0.3946, 0.3849, 0.3784, 0.3741, 0.371, 0.3689",\
"0.4948, 0.476, 0.4381, 0.41, 0.3945, 0.3848, 0.3783, 0.374, 0.3709, 0.3688",\
"0.4965, 0.4776, 0.4396, 0.4115, 0.396, 0.3862, 0.3798, 0.3754, 0.3724, 0.3702",\
"0.5002, 0.4813, 0.4432, 0.4152, 0.3996, 0.3899, 0.3834, 0.3791, 0.376, 0.3738",\
"0.5063, 0.4873, 0.4492, 0.4211, 0.4051, 0.3953, 0.3888, 0.3844, 0.3813, 0.3791",\
"0.5138, 0.4945, 0.4566, 0.4281, 0.4123, 0.4025, 0.3958, 0.3914, 0.3883, 0.3862",\
"0.5235, 0.5043, 0.4658, 0.4373, 0.421, 0.4111, 0.4047, 0.4001, 0.3969, 0.3948",\
"0.5346, 0.5155, 0.4767, 0.4476, 0.4314, 0.4212, 0.4146, 0.4101, 0.4068, 0.4047",\
"0.5471, 0.5275, 0.4886, 0.4592, 0.4428, 0.4324, 0.4257, 0.4211, 0.4177, 0.4155");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.009994, 0.04157, 0.1019, 0.1958, 0.3276, 0.501, 0.7195, 0.9862, 1.304");
values("0.5179, 0.5036, 0.4817, 0.4681, 0.461, 0.4592, 0.4584, 0.4582, 0.4601, 0.4692",\
"0.5182, 0.5038, 0.4827, 0.4689, 0.4607, 0.4588, 0.458, 0.4586, 0.4594, 0.4697",\
"0.5184, 0.5043, 0.4829, 0.4689, 0.4609, 0.4589, 0.4585, 0.4598, 0.4595, 0.4726",\
"0.5201, 0.5058, 0.4847, 0.4704, 0.4632, 0.4614, 0.4602, 0.4612, 0.463, 0.4746",\
"0.5231, 0.5091, 0.4878, 0.4739, 0.4662, 0.4641, 0.4633, 0.4639, 0.4665, 0.4782",\
"0.5276, 0.5139, 0.4922, 0.479, 0.4711, 0.4687, 0.4683, 0.4685, 0.4704, 0.4858",\
"0.5336, 0.5195, 0.4974, 0.484, 0.4774, 0.4745, 0.474, 0.4739, 0.4768, 0.4976",\
"0.5401, 0.5256, 0.5048, 0.49, 0.4824, 0.482, 0.4815, 0.4823, 0.485, 0.5108",\
"0.5468, 0.5323, 0.5113, 0.4967, 0.4888, 0.4871, 0.4906, 0.4932, 0.497, 0.5318",\
"0.5539, 0.5402, 0.5187, 0.5044, 0.4966, 0.4917, 0.4934, 0.499, 0.509, 0.573");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.009994, 0.04157, 0.1019, 0.1958, 0.3276, 0.501, 0.7195, 0.9862, 1.304");
values("0.7927, 0.8289, 0.9231, 1.058, 1.232, 1.455, 1.739, 2.094, 2.528, 3.046",\
"0.8053, 0.8415, 0.9357, 1.071, 1.245, 1.468, 1.751, 2.107, 2.541, 3.058",\
"0.8579, 0.8943, 0.9885, 1.123, 1.298, 1.52, 1.804, 2.16, 2.593, 3.111",\
"0.9612, 0.9975, 1.092, 1.227, 1.401, 1.623, 1.907, 2.263, 2.696, 3.214",\
"1.1, 1.136, 1.23, 1.365, 1.539, 1.762, 2.046, 2.401, 2.835, 3.353",\
"1.264, 1.3, 1.395, 1.53, 1.704, 1.926, 2.21, 2.566, 3, 3.517",\
"1.453, 1.489, 1.583, 1.718, 1.892, 2.115, 2.399, 2.754, 3.188, 3.706",\
"1.664, 1.7, 1.795, 1.929, 2.104, 2.326, 2.61, 2.966, 3.399, 3.916",\
"1.899, 1.936, 2.03, 2.165, 2.339, 2.562, 2.846, 3.201, 3.635, 4.152",\
"2.158, 2.195, 2.289, 2.424, 2.598, 2.821, 3.105, 3.46, 3.894, 4.411");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.009994, 0.04157, 0.1019, 0.1958, 0.3276, 0.501, 0.7195, 0.9862, 1.304");
values("0.8846, 0.9202, 1.023, 1.207, 1.492, 1.895, 2.428, 3.099, 3.92, 4.899",\
"0.8974, 0.9329, 1.036, 1.219, 1.505, 1.908, 2.44, 3.112, 3.932, 4.91",\
"0.951, 0.9864, 1.089, 1.273, 1.558, 1.962, 2.494, 3.165, 3.985, 4.963",\
"1.057, 1.093, 1.196, 1.379, 1.665, 2.068, 2.6, 3.271, 4.091, 5.071",\
"1.202, 1.238, 1.34, 1.524, 1.81, 2.212, 2.745, 3.416, 4.236, 5.215",\
"1.376, 1.412, 1.515, 1.698, 1.984, 2.387, 2.919, 3.591, 4.411, 5.39",\
"1.576, 1.611, 1.714, 1.898, 2.183, 2.586, 3.119, 3.79, 4.609, 5.588",\
"1.798, 1.833, 1.936, 2.119, 2.405, 2.808, 3.34, 4.011, 4.831, 5.811",\
"2.042, 2.077, 2.18, 2.364, 2.649, 3.052, 3.584, 4.256, 5.075, 6.052",\
"2.309, 2.345, 2.447, 2.631, 2.916, 3.32, 3.852, 4.522, 5.342, 6.318");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.009994, 0.04157, 0.1019, 0.1958, 0.3276, 0.501, 0.7195, 0.9862, 1.304");
values("0.135, 0.1713, 0.2671, 0.4202, 0.6512, 0.9912, 1.46, 2.064, 2.812, 3.704",\
"0.1352, 0.1716, 0.2672, 0.4202, 0.6502, 0.991, 1.458, 2.065, 2.812, 3.704",\
"0.135, 0.1716, 0.2668, 0.42, 0.6514, 0.9908, 1.46, 2.066, 2.812, 3.704",\
"0.1354, 0.1714, 0.2668, 0.42, 0.6512, 0.9896, 1.46, 2.064, 2.812, 3.705",\
"0.1348, 0.171, 0.2672, 0.42, 0.6514, 0.9912, 1.458, 2.066, 2.812, 3.705",\
"0.1352, 0.1714, 0.267, 0.4204, 0.6502, 0.9906, 1.46, 2.065, 2.809, 3.705",\
"0.136, 0.1716, 0.2674, 0.4202, 0.651, 0.9896, 1.458, 2.066, 2.811, 3.704",\
"0.1362, 0.1718, 0.2676, 0.4206, 0.6514, 0.9916, 1.458, 2.064, 2.809, 3.7",\
"0.1366, 0.1726, 0.268, 0.421, 0.6516, 0.9904, 1.459, 2.063, 2.807, 3.696",\
"0.137, 0.173, 0.2686, 0.4212, 0.6516, 0.99, 1.46, 2.065, 2.809, 3.698");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.009994, 0.04157, 0.1019, 0.1958, 0.3276, 0.501, 0.7195, 0.9862, 1.304");
values("0.1152, 0.1596, 0.3188, 0.6448, 1.168, 1.913, 2.892, 4.126, 5.621, 7.417",\
"0.1152, 0.1593, 0.319, 0.6444, 1.168, 1.913, 2.892, 4.119, 5.624, 7.415",\
"0.1154, 0.1592, 0.3188, 0.6446, 1.168, 1.913, 2.887, 4.128, 5.624, 7.418",\
"0.115, 0.1592, 0.319, 0.644, 1.168, 1.913, 2.889, 4.128, 5.622, 7.416",\
"0.1144, 0.1588, 0.3186, 0.6442, 1.168, 1.913, 2.892, 4.119, 5.624, 7.415",\
"0.1146, 0.1586, 0.3188, 0.6448, 1.168, 1.909, 2.888, 4.127, 5.622, 7.417",\
"0.1146, 0.1584, 0.3188, 0.644, 1.169, 1.909, 2.891, 4.127, 5.623, 7.417",\
"0.1144, 0.1586, 0.3186, 0.6442, 1.169, 1.91, 2.891, 4.123, 5.623, 7.415",\
"0.1144, 0.1586, 0.319, 0.6442, 1.168, 1.914, 2.887, 4.121, 5.636, 7.416",\
"0.1144, 0.1588, 0.3186, 0.6444, 1.169, 1.913, 2.892, 4.119, 5.625, 7.432");
}
}
}
}