blob: bff960f443193fd395492835aba5cf54f1b0aba1 [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.0246587" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.03887125" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.02342835" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.03319965" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.03887125" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003395 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.4 ;
min_period : 0.978 ;
min_pulse_width_high : 0.461 ;
min_pulse_width_low : 0.487 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.3556, 0.3558, 0.3631, 0.391, 0.4476, 0.5351, 0.6555, 0.8098, \
0.9994, 1.225");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.2623, 0.262, 0.2669, 0.2893, 0.3373, 0.4133, 0.5197, 0.6574, \
0.8282, 1.033");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.361, 0.3612, 0.3684, 0.3964, 0.453, 0.5406, 0.6609, 0.8149, \
1.004, 1.23");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.2605, 0.2603, 0.2649, 0.2879, 0.3361, 0.4123, 0.5186, 0.6567, \
0.8273, 1.032");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.487");
}
rise_constraint(scalar) {
values("0.337");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.326");
}
rise_constraint(scalar) {
values("0.461");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.978");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.931");
}
}
}
pin(D) {
capacitance : 0.002431 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.4 ;
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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.2138, 0.2131, 0.2141, 0.2243, 0.2492, 0.2905, 0.3487, 0.4239, \
0.5166, 0.6275");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.1386, 0.1391, 0.142, 0.1525, 0.1729, 0.205, 0.2499, 0.3082, \
0.3805, 0.4679");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.01185, 0.01188, 0.01186, 0.01186, 0.01187, 0.01188, 0.01189, \
0.0119, 0.0119, 0.0119");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("-0.009253, -0.009248, -0.009213, -0.009159, -0.00915, -0.009159, \
-0.009168, -0.009154, -0.009183, -0.009186");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.12, 0.124, 0.134, 0.161, 0.195, 0.216, 0.235, 0.24, 0.245, 0.24",\
"0.117, 0.119, 0.132, 0.161, 0.192, 0.214, 0.23, 0.241, 0.239, 0.232",\
"0.097, 0.104, 0.116, 0.142, 0.173, 0.196, 0.214, 0.22, 0.221, 0.215",\
"0.063, 0.066, 0.078, 0.101, 0.132, 0.154, 0.175, 0.177, 0.182, 0.17",\
"0.01, 0.011, 0.024, 0.044, 0.074, 0.094, 0.109, 0.116, 0.115, 0.101",\
"-0.064, -0.059, -0.048, -0.028, -0.001, 0.019, 0.023, 0.026, 0.017, -0",\
"-0.138, -0.139, -0.126, -0.105, -0.079, -0.08, -0.075, -0.083, -0.085, -0.111",\
"-0.23, -0.231, -0.215, -0.2, -0.178, -0.181, -0.185, -0.198, -0.215, -0.242",\
"-0.332, -0.327, -0.319, -0.306, -0.296, -0.303, -0.314, -0.338, -0.362, -0.396",\
"-0.456, -0.449, -0.437, -0.439, -0.425, -0.446, -0.467, -0.5, -0.533, -0.58");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.086, 0.087, 0.103, 0.129, 0.157, 0.178, 0.205, 0.215, 0.232, 0.24",\
"0.086, 0.086, 0.1, 0.128, 0.153, 0.175, 0.207, 0.216, 0.233, 0.24",\
"0.082, 0.087, 0.107, 0.124, 0.156, 0.178, 0.206, 0.22, 0.235, 0.242",\
"0.084, 0.088, 0.103, 0.124, 0.152, 0.174, 0.201, 0.217, 0.226, 0.235",\
"0.094, 0.097, 0.11, 0.13, 0.154, 0.172, 0.198, 0.21, 0.225, 0.229",\
"0.125, 0.128, 0.141, 0.158, 0.178, 0.188, 0.207, 0.216, 0.225, 0.223",\
"0.178, 0.181, 0.202, 0.21, 0.227, 0.236, 0.251, 0.25, 0.246, 0.245",\
"0.268, 0.272, 0.287, 0.296, 0.304, 0.307, 0.319, 0.312, 0.305, 0.298",\
"0.385, 0.389, 0.404, 0.411, 0.422, 0.409, 0.417, 0.398, 0.394, 0.371",\
"0.537, 0.542, 0.558, 0.56, 0.557, 0.542, 0.543, 0.521, 0.506, 0.48");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.218, 0.215, 0.198, 0.169, 0.139, 0.114, 0.095, 0.085, 0.09, 0.097",\
"0.216, 0.218, 0.201, 0.171, 0.144, 0.112, 0.098, 0.087, 0.092, 0.107",\
"0.234, 0.23, 0.223, 0.192, 0.162, 0.129, 0.114, 0.105, 0.106, 0.122",\
"0.283, 0.283, 0.269, 0.241, 0.21, 0.184, 0.166, 0.153, 0.155, 0.172",\
"0.378, 0.372, 0.362, 0.333, 0.302, 0.271, 0.257, 0.248, 0.248, 0.262",\
"0.508, 0.506, 0.49, 0.466, 0.436, 0.403, 0.385, 0.378, 0.374, 0.383",\
"0.678, 0.68, 0.662, 0.629, 0.603, 0.568, 0.557, 0.538, 0.543, 0.549",\
"0.88, 0.879, 0.86, 0.832, 0.799, 0.768, 0.753, 0.737, 0.736, 0.749",\
"1.11, 1.105, 1.097, 1.06, 1.022, 0.999, 0.977, 0.964, 0.965, 0.974",\
"1.371, 1.37, 1.361, 1.318, 1.28, 1.248, 1.231, 1.215, 1.22, 1.225");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.223, 0.221, 0.205, 0.169, 0.147, 0.114, 0.103, 0.091, 0.097, 0.114",\
"0.229, 0.224, 0.209, 0.177, 0.144, 0.123, 0.105, 0.098, 0.099, 0.107",\
"0.234, 0.238, 0.223, 0.192, 0.153, 0.129, 0.114, 0.111, 0.106, 0.122",\
"0.256, 0.255, 0.237, 0.202, 0.17, 0.151, 0.131, 0.125, 0.125, 0.135",\
"0.264, 0.262, 0.242, 0.217, 0.185, 0.155, 0.148, 0.135, 0.138, 0.154",\
"0.265, 0.258, 0.243, 0.214, 0.18, 0.16, 0.144, 0.137, 0.14, 0.154",\
"0.243, 0.238, 0.23, 0.201, 0.168, 0.138, 0.129, 0.124, 0.134, 0.141",\
"0.204, 0.205, 0.183, 0.154, 0.122, 0.103, 0.095, 0.085, 0.099, 0.112",\
"0.138, 0.138, 0.124, 0.094, 0.067, 0.043, 0.032, 0.028, 0.038, 0.06",\
"0.059, 0.058, 0.046, 0.004, -0.026, -0.048, -0.059, -0.06, -0.045, -0.017");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.9143 ;
max_transition : 3.4 ;
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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.007304, 0.02943, 0.07169, 0.1375, 0.2299, 0.3514, 0.5046, 0.6915, 0.9143");
values("1.122, 1.091, 1.025, 0.9739, 0.9411, 0.9207, 0.9076, 0.8985, 0.8926, 0.8876",\
"1.123, 1.091, 1.026, 0.9735, 0.9417, 0.9213, 0.9078, 0.8986, 0.8925, 0.8877",\
"1.122, 1.091, 1.026, 0.9738, 0.9417, 0.9208, 0.9077, 0.8982, 0.8928, 0.8876",\
"1.123, 1.093, 1.027, 0.975, 0.9427, 0.9224, 0.9086, 0.9001, 0.8934, 0.889",\
"1.126, 1.095, 1.03, 0.9771, 0.9448, 0.9247, 0.9115, 0.9022, 0.8957, 0.8917",\
"1.13, 1.099, 1.033, 0.9805, 0.9484, 0.9286, 0.9157, 0.9068, 0.9, 0.8951",\
"1.133, 1.103, 1.038, 0.9856, 0.9537, 0.9332, 0.9192, 0.9105, 0.9039, 0.8995",\
"1.14, 1.11, 1.044, 0.9915, 0.9599, 0.9389, 0.9258, 0.9161, 0.9107, 0.9056",\
"1.147, 1.116, 1.051, 0.9983, 0.9662, 0.946, 0.9329, 0.924, 0.9172, 0.9129",\
"1.156, 1.125, 1.06, 1.007, 0.9752, 0.954, 0.9414, 0.9317, 0.9256, 0.9211");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.007304, 0.02943, 0.07169, 0.1375, 0.2299, 0.3514, 0.5046, 0.6915, 0.9143");
values("1.241, 1.21, 1.152, 1.105, 1.07, 1.05, 1.041, 1.037, 1.038, 1.039",\
"1.241, 1.21, 1.152, 1.105, 1.07, 1.05, 1.041, 1.038, 1.039, 1.04",\
"1.242, 1.211, 1.152, 1.104, 1.071, 1.05, 1.04, 1.036, 1.038, 1.039",\
"1.242, 1.211, 1.151, 1.104, 1.071, 1.051, 1.04, 1.036, 1.038, 1.04",\
"1.245, 1.214, 1.156, 1.108, 1.074, 1.054, 1.045, 1.041, 1.041, 1.042",\
"1.251, 1.22, 1.163, 1.115, 1.082, 1.061, 1.051, 1.047, 1.047, 1.048",\
"1.263, 1.231, 1.171, 1.123, 1.092, 1.072, 1.061, 1.057, 1.057, 1.057",\
"1.278, 1.245, 1.188, 1.137, 1.104, 1.086, 1.079, 1.072, 1.071, 1.072",\
"1.298, 1.266, 1.206, 1.159, 1.12, 1.1, 1.095, 1.092, 1.092, 1.091",\
"1.325, 1.293, 1.232, 1.184, 1.147, 1.123, 1.112, 1.117, 1.123, 1.119");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.007304, 0.02943, 0.07169, 0.1375, 0.2299, 0.3514, 0.5046, 0.6915, 0.9143");
values("0.6184, 0.6352, 0.68, 0.7482, 0.8433, 0.9719, 1.14, 1.352, 1.612, 1.922",\
"0.6215, 0.6382, 0.683, 0.7513, 0.8465, 0.9749, 1.143, 1.356, 1.615, 1.925",\
"0.6356, 0.6522, 0.697, 0.7652, 0.8604, 0.9889, 1.157, 1.369, 1.629, 1.939",\
"0.6645, 0.6811, 0.7259, 0.794, 0.8893, 1.018, 1.186, 1.398, 1.658, 1.968",\
"0.6986, 0.7153, 0.7599, 0.8281, 0.9234, 1.052, 1.22, 1.432, 1.692, 2.002",\
"0.7297, 0.7464, 0.7911, 0.8594, 0.9546, 1.083, 1.251, 1.464, 1.724, 2.033",\
"0.7556, 0.7722, 0.817, 0.8852, 0.9804, 1.109, 1.277, 1.49, 1.749, 2.059",\
"0.7747, 0.7912, 0.8358, 0.904, 0.9992, 1.128, 1.296, 1.508, 1.768, 2.078",\
"0.7854, 0.8019, 0.8467, 0.915, 1.01, 1.139, 1.307, 1.519, 1.779, 2.089",\
"0.7873, 0.8037, 0.8486, 0.9169, 1.012, 1.14, 1.309, 1.521, 1.781, 2.091");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.007304, 0.02943, 0.07169, 0.1375, 0.2299, 0.3514, 0.5046, 0.6915, 0.9143");
values("0.6013, 0.6186, 0.6664, 0.7489, 0.878, 1.061, 1.302, 1.606, 1.978, 2.422",\
"0.6044, 0.6217, 0.6696, 0.7521, 0.8812, 1.064, 1.305, 1.609, 1.981, 2.425",\
"0.6182, 0.6355, 0.6833, 0.7658, 0.8952, 1.077, 1.319, 1.623, 1.995, 2.439",\
"0.6473, 0.6646, 0.7121, 0.7948, 0.9242, 1.107, 1.348, 1.652, 2.024, 2.468",\
"0.6828, 0.7, 0.7477, 0.8303, 0.9595, 1.142, 1.383, 1.687, 2.06, 2.504",\
"0.7165, 0.7336, 0.7813, 0.864, 0.9933, 1.176, 1.417, 1.721, 2.093, 2.538",\
"0.7462, 0.7634, 0.811, 0.8937, 1.023, 1.205, 1.446, 1.75, 2.123, 2.567",\
"0.7706, 0.7877, 0.8355, 0.918, 1.047, 1.23, 1.47, 1.775, 2.147, 2.592",\
"0.7879, 0.8051, 0.8526, 0.9354, 1.065, 1.247, 1.488, 1.792, 2.164, 2.608",\
"0.7981, 0.8153, 0.8632, 0.9458, 1.075, 1.257, 1.498, 1.802, 2.174, 2.618");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.007304, 0.02943, 0.07169, 0.1375, 0.2299, 0.3514, 0.5046, 0.6915, 0.9143");
values("0.06856, 0.0868, 0.1368, 0.2248, 0.3674, 0.5774, 0.863, 1.226, 1.669, 2.198",\
"0.06878, 0.08672, 0.137, 0.2247, 0.367, 0.5775, 0.8633, 1.225, 1.67, 2.198",\
"0.06852, 0.0867, 0.1368, 0.2251, 0.3669, 0.5775, 0.8632, 1.226, 1.669, 2.199",\
"0.06854, 0.08672, 0.1371, 0.225, 0.3672, 0.5774, 0.8622, 1.225, 1.67, 2.198",\
"0.0686, 0.0868, 0.137, 0.225, 0.367, 0.5774, 0.8618, 1.226, 1.669, 2.201",\
"0.0686, 0.0868, 0.1366, 0.2248, 0.3674, 0.5776, 0.863, 1.226, 1.671, 2.201",\
"0.0682, 0.0868, 0.137, 0.2244, 0.3664, 0.5764, 0.8632, 1.226, 1.669, 2.199",\
"0.0686, 0.0868, 0.137, 0.2246, 0.3672, 0.5772, 0.8612, 1.224, 1.67, 2.2",\
"0.0684, 0.0864, 0.1368, 0.2244, 0.3672, 0.5774, 0.8624, 1.225, 1.668, 2.198",\
"0.0686, 0.0866, 0.1366, 0.2244, 0.367, 0.5764, 0.8616, 1.226, 1.668, 2.196");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.007304, 0.02943, 0.07169, 0.1375, 0.2299, 0.3514, 0.5046, 0.6915, 0.9143");
values("0.073, 0.09348, 0.1611, 0.3074, 0.5456, 0.8834, 1.328, 1.889, 2.576, 3.391",\
"0.073, 0.09348, 0.1611, 0.3074, 0.5454, 0.8835, 1.328, 1.889, 2.573, 3.393",\
"0.07326, 0.09346, 0.1613, 0.3072, 0.5459, 0.882, 1.328, 1.887, 2.575, 3.391",\
"0.07306, 0.09342, 0.1612, 0.3073, 0.5459, 0.8832, 1.328, 1.887, 2.575, 3.395",\
"0.07336, 0.0936, 0.1616, 0.3074, 0.5458, 0.8834, 1.326, 1.89, 2.576, 3.392",\
"0.073, 0.0932, 0.1612, 0.3074, 0.5458, 0.8822, 1.328, 1.888, 2.573, 3.394",\
"0.0732, 0.0934, 0.1616, 0.3074, 0.5462, 0.8816, 1.327, 1.89, 2.575, 3.396",\
"0.0734, 0.0938, 0.1614, 0.3076, 0.5462, 0.8818, 1.326, 1.888, 2.575, 3.396",\
"0.0738, 0.0936, 0.1616, 0.3078, 0.546, 0.8826, 1.326, 1.887, 2.574, 3.391",\
"0.0738, 0.094, 0.1618, 0.3076, 0.5462, 0.8828, 1.328, 1.887, 2.573, 3.392");
}
}
}
}