blob: 999e9f99c2e0b8cbcb022d7a1d80c2571a683f17 [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_mcu9t5v0__dffnq_1) {
area : 84.672000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0002571012" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000275346" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000212742" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000211068" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000275346" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004947 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4.4 ;
min_period : 0.701 ;
min_pulse_width_high : 0.254 ;
min_pulse_width_low : 0.288 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.203, 0.2025, 0.2054, 0.2204, 0.2489, 0.293, 0.3533, 0.431, 0.5267, \
0.6412");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1288, 0.1283, 0.1308, 0.1433, 0.1674, 0.2057, 0.2591, 0.3277, \
0.4127, 0.5144");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.2034, 0.2027, 0.2058, 0.2207, 0.2492, 0.293, 0.3535, 0.4311, \
0.527, 0.6414");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1287, 0.1282, 0.1306, 0.1429, 0.1671, 0.2055, 0.2587, 0.3276, \
0.4123, 0.5143");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.277");
}
rise_constraint(scalar) {
values("0.254");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.288");
}
rise_constraint(scalar) {
values("0.234");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.599");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.701");
}
}
}
pin(D) {
capacitance : 0.003855 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4.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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.04376, 0.04366, 0.04844, 0.06123, 0.08338, 0.1156, 0.1588, 0.2136, \
0.281, 0.3615");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.004676, 0.004425, 0.007283, 0.01757, 0.03659, 0.06483, 0.103, \
0.1517, 0.2116, 0.2834");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.151, 0.151, 0.1541, 0.1657, 0.1876, 0.2214, 0.2677, 0.3272, \
0.4004, 0.4879");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.09941, 0.09926, 0.1018, 0.1111, 0.1291, 0.1575, 0.1971, 0.2485, \
0.312, 0.3885");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("-0.006, 0.001, 0.028, 0.075, 0.124, 0.191, 0.275, 0.366, 0.473, 0.593",\
"-0.013, -0.007, 0.02, 0.065, 0.118, 0.181, 0.268, 0.356, 0.467, 0.584",\
"-0.045, -0.038, -0.011, 0.035, 0.085, 0.154, 0.228, 0.325, 0.431, 0.552",\
"-0.093, -0.09, -0.064, -0.018, 0.032, 0.1, 0.176, 0.267, 0.371, 0.49",\
"-0.16, -0.155, -0.131, -0.087, -0.03, 0.03, 0.1, 0.186, 0.292, 0.412",\
"-0.245, -0.235, -0.212, -0.166, -0.117, -0.059, 0.015, 0.095, 0.199, 0.312",\
"-0.34, -0.334, -0.308, -0.267, -0.218, -0.16, -0.086, -0.008, 0.09, 0.202",\
"-0.449, -0.446, -0.419, -0.374, -0.329, -0.275, -0.209, -0.127, -0.034, 0.074",\
"-0.575, -0.569, -0.546, -0.501, -0.462, -0.404, -0.339, -0.263, -0.171, -0.067",\
"-0.714, -0.711, -0.689, -0.649, -0.607, -0.55, -0.485, -0.416, -0.318, -0.218");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.092, 0.102, 0.127, 0.19, 0.268, 0.356, 0.461, 0.577, 0.71, 0.856",\
"0.087, 0.096, 0.126, 0.185, 0.257, 0.349, 0.457, 0.575, 0.706, 0.849",\
"0.071, 0.077, 0.108, 0.166, 0.239, 0.334, 0.437, 0.559, 0.695, 0.835",\
"0.052, 0.062, 0.09, 0.148, 0.227, 0.321, 0.426, 0.547, 0.677, 0.819",\
"0.047, 0.049, 0.079, 0.145, 0.219, 0.31, 0.416, 0.534, 0.667, 0.813",\
"0.045, 0.054, 0.084, 0.145, 0.22, 0.316, 0.42, 0.543, 0.674, 0.821",\
"0.07, 0.072, 0.1, 0.157, 0.234, 0.325, 0.439, 0.555, 0.686, 0.836",\
"0.099, 0.102, 0.137, 0.192, 0.264, 0.351, 0.456, 0.578, 0.715, 0.864",\
"0.154, 0.157, 0.193, 0.241, 0.304, 0.397, 0.499, 0.621, 0.755, 0.898",\
"0.231, 0.234, 0.261, 0.311, 0.376, 0.466, 0.567, 0.683, 0.816, 0.956");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.172, 0.169, 0.137, 0.082, 0.02, -0.054, -0.135, -0.233, -0.346, -0.472",\
"0.183, 0.172, 0.148, 0.094, 0.031, -0.04, -0.126, -0.227, -0.339, -0.463",\
"0.219, 0.206, 0.179, 0.126, 0.059, -0.01, -0.099, -0.198, -0.309, -0.434",\
"0.275, 0.267, 0.24, 0.185, 0.126, 0.047, -0.039, -0.138, -0.241, -0.372",\
"0.367, 0.35, 0.321, 0.27, 0.204, 0.133, 0.042, -0.052, -0.167, -0.288",\
"0.468, 0.456, 0.428, 0.37, 0.31, 0.234, 0.144, 0.047, -0.067, -0.191",\
"0.592, 0.58, 0.556, 0.492, 0.428, 0.355, 0.267, 0.168, 0.059, -0.067",\
"0.73, 0.724, 0.693, 0.633, 0.566, 0.489, 0.4, 0.301, 0.189, 0.067",\
"0.888, 0.877, 0.845, 0.788, 0.722, 0.641, 0.55, 0.453, 0.349, 0.226",\
"1.065, 1.054, 1.027, 0.961, 0.894, 0.814, 0.724, 0.623, 0.514, 0.393");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.103, 0.094, 0.071, 0.022, -0.034, -0.106, -0.191, -0.245, -0.303, -0.406",\
"0.114, 0.103, 0.077, 0.03, -0.025, -0.094, -0.192, -0.227, -0.304, -0.396",\
"0.136, 0.126, 0.097, 0.046, -0.013, -0.082, -0.168, -0.218, -0.282, -0.383",\
"0.166, 0.154, 0.123, 0.074, 0.011, -0.059, -0.153, -0.209, -0.287, -0.372",\
"0.187, 0.183, 0.152, 0.093, 0.03, -0.05, -0.137, -0.226, -0.302, -0.381",\
"0.211, 0.201, 0.168, 0.117, 0.04, -0.047, -0.138, -0.239, -0.332, -0.428",\
"0.219, 0.212, 0.178, 0.121, 0.051, -0.036, -0.137, -0.25, -0.363, -0.47",\
"0.22, 0.208, 0.177, 0.117, 0.044, -0.048, -0.147, -0.259, -0.383, -0.515",\
"0.201, 0.193, 0.158, 0.102, 0.026, -0.066, -0.164, -0.282, -0.406, -0.543",\
"0.17, 0.158, 0.129, 0.066, -0.007, -0.094, -0.201, -0.317, -0.442, -0.595");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4516 ;
max_transition : 4.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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.00411, 0.01503, 0.03588, 0.06836, 0.1139, 0.1739, 0.2494, 0.3417, 0.4516");
values("0.2301, 0.2271, 0.2229, 0.2205, 0.2194, 0.2187, 0.2182, 0.218, 0.2178, 0.2177",\
"0.2301, 0.227, 0.2229, 0.2206, 0.2194, 0.2187, 0.2183, 0.2181, 0.2179, 0.2177",\
"0.2299, 0.227, 0.2228, 0.2205, 0.2194, 0.2186, 0.2182, 0.218, 0.2178, 0.2177",\
"0.231, 0.2279, 0.2237, 0.2214, 0.2202, 0.2196, 0.2192, 0.2189, 0.2187, 0.2186",\
"0.2336, 0.2304, 0.2262, 0.224, 0.2228, 0.2221, 0.2217, 0.2214, 0.2212, 0.2211",\
"0.237, 0.2338, 0.2297, 0.2273, 0.2262, 0.2255, 0.2251, 0.2248, 0.2247, 0.2245",\
"0.2424, 0.2396, 0.2352, 0.2328, 0.2316, 0.2308, 0.2304, 0.2301, 0.23, 0.2299",\
"0.2483, 0.245, 0.241, 0.2387, 0.2375, 0.2368, 0.2364, 0.2361, 0.2359, 0.2358",\
"0.2556, 0.2525, 0.2481, 0.2457, 0.2445, 0.2438, 0.2434, 0.2431, 0.2429, 0.2427",\
"0.264, 0.2608, 0.2562, 0.254, 0.2527, 0.252, 0.2515, 0.2513, 0.2511, 0.251");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.00411, 0.01503, 0.03588, 0.06836, 0.1139, 0.1739, 0.2494, 0.3417, 0.4516");
values("0.273, 0.2712, 0.2688, 0.2681, 0.2682, 0.2687, 0.2699, 0.271, 0.272, 0.273",\
"0.2729, 0.2713, 0.2687, 0.2682, 0.2681, 0.2687, 0.2696, 0.271, 0.2727, 0.2736",\
"0.2733, 0.2718, 0.2692, 0.2682, 0.2681, 0.2691, 0.2705, 0.2711, 0.2729, 0.2738",\
"0.2751, 0.2735, 0.2709, 0.2701, 0.27, 0.2706, 0.2722, 0.2731, 0.2745, 0.2754",\
"0.2777, 0.2761, 0.2736, 0.2729, 0.2727, 0.2735, 0.2746, 0.2755, 0.2766, 0.2789",\
"0.281, 0.2795, 0.2771, 0.2766, 0.2761, 0.2768, 0.2782, 0.2789, 0.2803, 0.2816",\
"0.2852, 0.284, 0.2812, 0.2802, 0.2811, 0.2809, 0.2824, 0.2832, 0.2849, 0.2855",\
"0.2901, 0.2884, 0.2859, 0.2852, 0.2854, 0.2869, 0.2877, 0.2881, 0.2891, 0.2915",\
"0.2941, 0.2925, 0.2904, 0.2901, 0.2892, 0.2907, 0.2932, 0.2937, 0.2948, 0.2942",\
"0.299, 0.2975, 0.295, 0.2941, 0.2948, 0.2949, 0.296, 0.2995, 0.3002, 0.3007");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.00411, 0.01503, 0.03588, 0.06836, 0.1139, 0.1739, 0.2494, 0.3417, 0.4516");
values("0.4272, 0.4455, 0.4959, 0.5716, 0.6754, 0.8165, 1.001, 1.234, 1.519, 1.858",\
"0.4345, 0.4529, 0.5033, 0.579, 0.6828, 0.8239, 1.009, 1.242, 1.526, 1.866",\
"0.4656, 0.4838, 0.5342, 0.6099, 0.7137, 0.8548, 1.04, 1.273, 1.557, 1.897",\
"0.5266, 0.545, 0.5953, 0.6711, 0.7749, 0.916, 1.101, 1.334, 1.619, 1.958",\
"0.6078, 0.6259, 0.6762, 0.7521, 0.8558, 0.9969, 1.182, 1.415, 1.7, 2.039",\
"0.7041, 0.7226, 0.7729, 0.8486, 0.9524, 1.094, 1.278, 1.512, 1.796, 2.135",\
"0.8156, 0.8338, 0.8843, 0.9601, 1.064, 1.205, 1.39, 1.623, 1.907, 2.247",\
"0.9394, 0.9578, 1.008, 1.084, 1.188, 1.329, 1.514, 1.747, 2.031, 2.371",\
"1.078, 1.096, 1.146, 1.223, 1.326, 1.468, 1.652, 1.885, 2.17, 2.509",\
"1.229, 1.248, 1.298, 1.375, 1.478, 1.62, 1.804, 2.038, 2.322, 2.661");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.00411, 0.01503, 0.03588, 0.06836, 0.1139, 0.1739, 0.2494, 0.3417, 0.4516");
values("0.4707, 0.4903, 0.5526, 0.6684, 0.8486, 1.102, 1.435, 1.854, 2.367, 2.976",\
"0.4779, 0.4978, 0.5598, 0.6758, 0.8561, 1.109, 1.442, 1.861, 2.373, 2.984",\
"0.5094, 0.5291, 0.5913, 0.7071, 0.8872, 1.14, 1.473, 1.893, 2.404, 3.016",\
"0.5711, 0.5908, 0.653, 0.7688, 0.9489, 1.202, 1.535, 1.955, 2.467, 3.077",\
"0.6527, 0.6722, 0.7345, 0.8503, 1.03, 1.284, 1.616, 2.036, 2.548, 3.158",\
"0.7502, 0.7698, 0.832, 0.9479, 1.128, 1.381, 1.714, 2.134, 2.646, 3.257",\
"0.8625, 0.8818, 0.9441, 1.06, 1.24, 1.493, 1.826, 2.245, 2.758, 3.368",\
"0.9879, 1.007, 1.069, 1.185, 1.365, 1.618, 1.951, 2.37, 2.882, 3.493",\
"1.125, 1.145, 1.207, 1.323, 1.503, 1.756, 2.089, 2.508, 3.02, 3.63",\
"1.276, 1.296, 1.358, 1.474, 1.655, 1.908, 2.241, 2.66, 3.172, 3.781");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.00411, 0.01503, 0.03588, 0.06836, 0.1139, 0.1739, 0.2494, 0.3417, 0.4516");
values("0.06244, 0.08112, 0.1364, 0.2289, 0.3815, 0.6089, 0.9133, 1.301, 1.773, 2.338",\
"0.06268, 0.08108, 0.1363, 0.2294, 0.3815, 0.6091, 0.9131, 1.302, 1.774, 2.338",\
"0.06244, 0.08082, 0.1366, 0.229, 0.3815, 0.609, 0.9133, 1.302, 1.773, 2.338",\
"0.06266, 0.08102, 0.1364, 0.2292, 0.3814, 0.6085, 0.915, 1.3, 1.774, 2.336",\
"0.0624, 0.081, 0.1366, 0.2296, 0.381, 0.609, 0.9146, 1.301, 1.773, 2.338",\
"0.0628, 0.081, 0.1364, 0.229, 0.381, 0.609, 0.9148, 1.3, 1.775, 2.336",\
"0.063, 0.0814, 0.1368, 0.2294, 0.3816, 0.6078, 0.913, 1.3, 1.772, 2.334",\
"0.063, 0.0812, 0.1372, 0.2294, 0.3818, 0.6086, 0.914, 1.298, 1.77, 2.332",\
"0.063, 0.0814, 0.1372, 0.2298, 0.3816, 0.6092, 0.9144, 1.3, 1.769, 2.331",\
"0.0632, 0.0816, 0.137, 0.2298, 0.382, 0.6088, 0.9134, 1.3, 1.77, 2.333");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.00411, 0.01503, 0.03588, 0.06836, 0.1139, 0.1739, 0.2494, 0.3417, 0.4516");
values("0.06322, 0.09046, 0.1889, 0.3856, 0.6977, 1.137, 1.716, 2.443, 3.333, 4.394",\
"0.06284, 0.09048, 0.1889, 0.3856, 0.6978, 1.137, 1.715, 2.443, 3.331, 4.399",\
"0.06314, 0.09046, 0.1889, 0.3856, 0.6978, 1.137, 1.715, 2.444, 3.331, 4.4",\
"0.0632, 0.09034, 0.1889, 0.3855, 0.6978, 1.137, 1.715, 2.444, 3.337, 4.394",\
"0.0628, 0.0902, 0.189, 0.3858, 0.6978, 1.136, 1.714, 2.442, 3.334, 4.395",\
"0.0628, 0.0902, 0.1888, 0.3862, 0.6978, 1.137, 1.715, 2.446, 3.332, 4.393",\
"0.063, 0.0898, 0.189, 0.386, 0.6988, 1.138, 1.714, 2.443, 3.332, 4.393",\
"0.0624, 0.0902, 0.1888, 0.3858, 0.6982, 1.136, 1.714, 2.441, 3.332, 4.393",\
"0.0628, 0.0902, 0.1888, 0.3864, 0.6976, 1.138, 1.714, 2.441, 3.335, 4.389",\
"0.0628, 0.0902, 0.189, 0.3858, 0.6988, 1.137, 1.716, 2.442, 3.328, 4.39");
}
}
}
}