blob: 38e79facd150ad1a11d64cccfa62b21aa1943430 [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_1) {
area : 65.856000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "7.10712e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "7.641e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "5.32062e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "5.29902e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "7.641e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003115 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
min_period : 4.153 ;
min_pulse_width_high : 1.584 ;
min_pulse_width_low : 1.76 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03747, 0.03737, 0.03712, 0.0369, 0.03679, 0.03683, 0.03701, \
0.03732, 0.03779, 0.03841");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02438, 0.02433, 0.02418, 0.02398, 0.02384, 0.02379, 0.02391, \
0.02418, 0.02458, 0.02517");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03745, 0.03734, 0.0371, 0.03688, 0.03677, 0.0368, 0.03697, 0.0373, \
0.03777, 0.03838");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02441, 0.02437, 0.02421, 0.024, 0.02386, 0.0238, 0.02394, 0.02421, \
0.02461, 0.0252");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.394");
}
rise_constraint(scalar) {
values("1.584");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.76");
}
rise_constraint(scalar) {
values("1.145");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("3.148");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("4.153");
}
}
}
pin(D) {
capacitance : 0.002198 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.007386, 0.007165, 0.006963, 0.006948, 0.007059, 0.007301, 0.007659, \
0.00815, 0.008797, 0.009603");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.001118, 0.001047, 0.0009147, 0.0008471, 0.0008916, 0.001061, \
0.001361, 0.001802, 0.00238, 0.003101");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02376, 0.02363, 0.02346, 0.02336, 0.02337, 0.02355, 0.02385, \
0.0243, 0.02488, 0.02562");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.0162, 0.01615, 0.01607, 0.016, 0.016, 0.01607, 0.01627, 0.01658, \
0.01704, 0.01763");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.08, 0.118, 0.225, 0.434, 0.742, 1.068, 1.408, 1.777, 2.185, 2.633",\
"0.056, 0.088, 0.193, 0.404, 0.711, 1.043, 1.381, 1.753, 2.156, 2.61",\
"-0.067, -0.029, 0.079, 0.285, 0.596, 0.92, 1.262, 1.633, 2.037, 2.487",\
"-0.306, -0.274, -0.165, 0.046, 0.362, 0.687, 1.028, 1.391, 1.795, 2.251",\
"-0.654, -0.625, -0.522, -0.312, 0.009, 0.329, 0.666, 1.033, 1.443, 1.889",\
"-1.06, -1.027, -0.929, -0.717, -0.406, -0.089, 0.253, 0.619, 1.021, 1.47",\
"-1.511, -1.474, -1.373, -1.171, -0.862, -0.54, -0.206, 0.158, 0.561, 1.016",\
"-1.988, -1.958, -1.855, -1.648, -1.349, -1.037, -0.705, -0.341, 0.061, 0.506",\
"-2.52, -2.489, -2.391, -2.187, -1.881, -1.579, -1.249, -0.885, -0.491, -0.045",\
"-3.093, -3.06, -2.961, -2.761, -2.466, -2.169, -1.837, -1.491, -1.086, -0.647");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.653, 0.686, 0.804, 1.035, 1.401, 1.851, 2.338, 2.854, 3.403, 3.979",\
"0.624, 0.662, 0.777, 1.008, 1.371, 1.822, 2.309, 2.827, 3.374, 3.958",\
"0.531, 0.563, 0.68, 0.917, 1.28, 1.731, 2.214, 2.734, 3.281, 3.866",\
"0.422, 0.453, 0.573, 0.805, 1.17, 1.621, 2.107, 2.622, 3.17, 3.753",\
"0.348, 0.376, 0.491, 0.723, 1.084, 1.53, 2.015, 2.532, 3.084, 3.662",\
"0.297, 0.332, 0.451, 0.683, 1.033, 1.479, 1.957, 2.472, 3.021, 3.602",\
"0.293, 0.325, 0.444, 0.667, 1.02, 1.461, 1.937, 2.45, 2.999, 3.578",\
"0.336, 0.369, 0.484, 0.712, 1.057, 1.49, 1.959, 2.471, 3.018, 3.588",\
"0.426, 0.461, 0.575, 0.803, 1.145, 1.573, 2.039, 2.539, 3.076, 3.65",\
"0.585, 0.614, 0.732, 0.954, 1.287, 1.701, 2.169, 2.66, 3.197, 3.768");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("1.265, 1.242, 1.11, 0.872, 0.584, 0.227, -0.155, -0.594, -1.044, -1.567",\
"1.297, 1.271, 1.141, 0.903, 0.61, 0.252, -0.125, -0.557, -1.011, -1.538",\
"1.414, 1.391, 1.261, 1.024, 0.728, 0.374, -0.007, -0.438, -0.891, -1.419",\
"1.653, 1.631, 1.497, 1.256, 0.964, 0.613, 0.229, -0.206, -0.656, -1.175",\
"2.03, 2.004, 1.87, 1.63, 1.339, 0.986, 0.604, 0.164, -0.286, -0.808",\
"2.518, 2.489, 2.361, 2.127, 1.829, 1.472, 1.09, 0.648, 0.196, -0.332",\
"3.091, 3.069, 2.943, 2.701, 2.407, 2.041, 1.653, 1.21, 0.755, 0.22",\
"3.729, 3.712, 3.579, 3.338, 3.027, 2.657, 2.262, 1.845, 1.359, 0.822",\
"4.413, 4.387, 4.262, 4.014, 3.711, 3.325, 2.933, 2.475, 2.013, 1.471",\
"5.158, 5.131, 5.015, 4.751, 4.436, 4.049, 3.646, 3.19, 2.725, 2.175");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.372, 0.333, 0.239, 0, -0.399, -0.889, -1.396, -1.923, -2.509, -3.144",\
"0.402, 0.361, 0.263, 0.022, -0.375, -0.844, -1.369, -1.917, -2.483, -3.118",\
"0.492, 0.464, 0.355, 0.114, -0.279, -0.748, -1.274, -1.829, -2.391, -3.021",\
"0.636, 0.595, 0.496, 0.253, -0.135, -0.608, -1.13, -1.658, -2.247, -2.886",\
"0.802, 0.753, 0.655, 0.412, 0.028, -0.442, -0.964, -1.522, -2.077, -2.713",\
"0.944, 0.9, 0.799, 0.558, 0.168, -0.296, -0.799, -1.368, -1.919, -2.554",\
"1.063, 1.018, 0.915, 0.672, 0.282, -0.192, -0.696, -1.244, -1.797, -2.431",\
"1.145, 1.106, 1.001, 0.748, 0.36, -0.102, -0.617, -1.157, -1.708, -2.343",\
"1.187, 1.143, 1.033, 0.788, 0.398, -0.066, -0.575, -1.118, -1.673, -2.299",\
"1.172, 1.132, 1.025, 0.773, 0.388, -0.079, -0.586, -1.132, -1.684, -2.303");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.1909 ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.002311, 0.006912, 0.0157, 0.02939, 0.0486, 0.07387, 0.1057, 0.1446, 0.1909");
values("0.03878, 0.03888, 0.03906, 0.03925, 0.03938, 0.03946, 0.03951, 0.03954, 0.03956, 0.03957",\
"0.03881, 0.03888, 0.03908, 0.03926, 0.03939, 0.03947, 0.03952, 0.03955, 0.03957, 0.03959",\
"0.03881, 0.03888, 0.03909, 0.03927, 0.0394, 0.03949, 0.03953, 0.03956, 0.03958, 0.03959",\
"0.03879, 0.03886, 0.03906, 0.03924, 0.03938, 0.03945, 0.0395, 0.03953, 0.03955, 0.03956",\
"0.03873, 0.03882, 0.03901, 0.03919, 0.03933, 0.03941, 0.03945, 0.03949, 0.03951, 0.03953",\
"0.03869, 0.03878, 0.03898, 0.03916, 0.03928, 0.03937, 0.03942, 0.03945, 0.03948, 0.03949",\
"0.03867, 0.03876, 0.03894, 0.03914, 0.03927, 0.03936, 0.03941, 0.03944, 0.03946, 0.03947",\
"0.03867, 0.03875, 0.03894, 0.03913, 0.03926, 0.03935, 0.03939, 0.03942, 0.03945, 0.03946",\
"0.03868, 0.03876, 0.03894, 0.03913, 0.03928, 0.03936, 0.03941, 0.03944, 0.03946, 0.03948",\
"0.03871, 0.03877, 0.03896, 0.03916, 0.03929, 0.03937, 0.03943, 0.03946, 0.03948, 0.0395");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.002311, 0.006912, 0.0157, 0.02939, 0.0486, 0.07387, 0.1057, 0.1446, 0.1909");
values("0.04963, 0.04966, 0.04982, 0.05005, 0.05031, 0.05052, 0.05082, 0.05089, 0.05182, 0.0581",\
"0.04964, 0.04968, 0.04983, 0.05006, 0.05031, 0.05054, 0.05084, 0.05099, 0.05179, 0.05806",\
"0.04963, 0.04967, 0.0498, 0.05007, 0.05032, 0.05053, 0.05072, 0.0509, 0.05192, 0.05857",\
"0.04961, 0.04964, 0.04981, 0.05004, 0.05029, 0.0505, 0.05067, 0.05098, 0.05196, 0.05991",\
"0.04967, 0.04972, 0.04987, 0.05011, 0.05034, 0.05057, 0.05078, 0.05097, 0.05236, 0.06274",\
"0.05, 0.05005, 0.05019, 0.05042, 0.05067, 0.05089, 0.0511, 0.05134, 0.05349, 0.06775",\
"0.0503, 0.05034, 0.0505, 0.05073, 0.05097, 0.0512, 0.05138, 0.05186, 0.05546, 0.07653",\
"0.05061, 0.05065, 0.05078, 0.05106, 0.0513, 0.05149, 0.0517, 0.05256, 0.05919, 0.09149",\
"0.05091, 0.05095, 0.05112, 0.05134, 0.05159, 0.05187, 0.05201, 0.05387, 0.06816, 0.1175",\
"0.05123, 0.05127, 0.05143, 0.05162, 0.05188, 0.05211, 0.05276, 0.05836, 0.08894, 0.1562");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.002311, 0.006912, 0.0157, 0.02939, 0.0486, 0.07387, 0.1057, 0.1446, 0.1909");
values("1.97, 2.008, 2.115, 2.278, 2.492, 2.767, 3.12, 3.561, 4.099, 4.741",\
"2.003, 2.041, 2.149, 2.312, 2.525, 2.801, 3.153, 3.594, 4.133, 4.774",\
"2.125, 2.163, 2.271, 2.434, 2.647, 2.923, 3.275, 3.717, 4.255, 4.896",\
"2.365, 2.403, 2.511, 2.674, 2.887, 3.163, 3.515, 3.956, 4.495, 5.136",\
"2.738, 2.777, 2.884, 3.047, 3.261, 3.536, 3.888, 4.33, 4.868, 5.509",\
"3.214, 3.252, 3.36, 3.522, 3.736, 4.011, 4.363, 4.805, 5.343, 5.985",\
"3.737, 3.774, 3.882, 4.045, 4.258, 4.534, 4.886, 5.328, 5.866, 6.508",\
"4.293, 4.331, 4.439, 4.602, 4.816, 5.091, 5.444, 5.885, 6.423, 7.065",\
"4.881, 4.919, 5.027, 5.19, 5.404, 5.679, 6.032, 6.473, 7.011, 7.653",\
"5.503, 5.541, 5.649, 5.812, 6.026, 6.301, 6.654, 7.095, 7.633, 8.274");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.002311, 0.006912, 0.0157, 0.02939, 0.0486, 0.07387, 0.1057, 0.1446, 0.1909");
values("2.669, 2.725, 2.906, 3.235, 3.735, 4.432, 5.346, 6.497, 7.901, 9.574",\
"2.702, 2.759, 2.94, 3.268, 3.768, 4.465, 5.38, 6.531, 7.935, 9.608",\
"2.824, 2.881, 3.061, 3.391, 3.89, 4.587, 5.501, 6.652, 8.057, 9.729",\
"3.064, 3.121, 3.302, 3.63, 4.129, 4.826, 5.74, 6.891, 8.296, 9.968",\
"3.438, 3.494, 3.676, 4.005, 4.503, 5.201, 6.115, 7.267, 8.67, 10.34",\
"3.92, 3.976, 4.158, 4.486, 4.986, 5.683, 6.597, 7.748, 9.152, 10.83",\
"4.455, 4.512, 4.693, 5.021, 5.52, 6.217, 7.132, 8.282, 9.686, 11.36",\
"5.024, 5.081, 5.262, 5.59, 6.09, 6.787, 7.701, 8.852, 10.26, 11.93",\
"5.627, 5.683, 5.864, 6.192, 6.692, 7.39, 8.304, 9.454, 10.86, 12.53",\
"6.263, 6.319, 6.501, 6.828, 7.328, 8.025, 8.94, 10.09, 11.49, 13.17");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.002311, 0.006912, 0.0157, 0.02939, 0.0486, 0.07387, 0.1057, 0.1446, 0.1909");
values("0.2108, 0.2458, 0.3562, 0.5484, 0.8354, 1.257, 1.839, 2.587, 3.508, 4.597",\
"0.2114, 0.2464, 0.3568, 0.5484, 0.8352, 1.257, 1.839, 2.587, 3.508, 4.599",\
"0.2114, 0.2456, 0.3568, 0.5482, 0.835, 1.257, 1.838, 2.586, 3.502, 4.607",\
"0.2112, 0.2466, 0.3562, 0.5484, 0.834, 1.257, 1.839, 2.587, 3.508, 4.599",\
"0.211, 0.2464, 0.3568, 0.5484, 0.835, 1.257, 1.839, 2.586, 3.502, 4.607",\
"0.2114, 0.2458, 0.3564, 0.5488, 0.8352, 1.257, 1.839, 2.587, 3.507, 4.601",\
"0.2116, 0.2466, 0.3568, 0.5488, 0.8348, 1.257, 1.837, 2.583, 3.505, 4.605",\
"0.212, 0.2458, 0.3566, 0.5488, 0.8354, 1.258, 1.838, 2.587, 3.507, 4.604",\
"0.214, 0.246, 0.358, 0.55, 0.836, 1.256, 1.84, 2.584, 3.504, 4.596",\
"0.214, 0.246, 0.358, 0.55, 0.836, 1.258, 1.84, 2.586, 3.498, 4.594");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.002311, 0.006912, 0.0157, 0.02939, 0.0486, 0.07387, 0.1057, 0.1446, 0.1909");
values("0.2972, 0.3666, 0.6338, 1.163, 2.001, 3.187, 4.752, 6.721, 9.128, 12",\
"0.297, 0.3676, 0.6342, 1.162, 2, 3.189, 4.752, 6.716, 9.133, 12.01",\
"0.297, 0.3674, 0.6342, 1.163, 2.001, 3.186, 4.747, 6.722, 9.127, 12",\
"0.297, 0.3676, 0.634, 1.163, 1.999, 3.186, 4.747, 6.716, 9.124, 12",\
"0.297, 0.3668, 0.6334, 1.163, 2, 3.186, 4.749, 6.722, 9.124, 12",\
"0.297, 0.3676, 0.6328, 1.163, 2.001, 3.187, 4.749, 6.722, 9.124, 12",\
"0.2966, 0.3666, 0.6338, 1.163, 2.001, 3.189, 4.753, 6.718, 9.134, 12",\
"0.2968, 0.3664, 0.634, 1.163, 2, 3.188, 4.75, 6.724, 9.128, 11.99",\
"0.296, 0.366, 0.632, 1.164, 1.998, 3.184, 4.748, 6.722, 9.12, 12",\
"0.296, 0.368, 0.634, 1.162, 2.002, 3.186, 4.748, 6.712, 9.128, 12");
}
}
}
}