blob: 9ff6437cfe00d3db695a051d1a5ef6bc4d62fbad [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_2) {
area : 87.494400 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.01880615" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0267333" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.01582845" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.02659635" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0267333" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.00498 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
min_period : 0.714 ;
min_pulse_width_high : 0.321 ;
min_pulse_width_low : 0.345 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5018, 0.5021, 0.5162, 0.5685, 0.6699, 0.8237, 1.032, 1.297, \
1.621, 2.007");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3237, 0.3234, 0.3342, 0.3785, 0.4648, 0.5993, 0.7843, 1.022, \
1.314, 1.663");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5026, 0.5028, 0.5169, 0.569, 0.6705, 0.8241, 1.033, 1.297, 1.621, \
2.007");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3232, 0.3233, 0.3336, 0.378, 0.4641, 0.5989, 0.7835, 1.021, \
1.313, 1.663");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.318");
}
rise_constraint(scalar) {
values("0.321");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.345");
}
rise_constraint(scalar) {
values("0.288");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.674");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.714");
}
}
}
pin(D) {
capacitance : 0.003879 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.1121, 0.1134, 0.1297, 0.1715, 0.2425, 0.3452, 0.4821, 0.6558, \
0.8686, 1.123");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.007846, 0.008286, 0.01953, 0.05336, 0.115, 0.2062, 0.3292, 0.4859, \
0.6784, 0.9087");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3968, 0.3981, 0.4107, 0.4501, 0.5265, 0.6432, 0.802, 1.004, \
1.251, 1.546");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.2775, 0.2779, 0.2876, 0.3199, 0.3828, 0.4814, 0.6176, 0.7934, \
1.011, 1.271");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.063, 0.069, 0.089, 0.122, 0.163, 0.22, 0.279, 0.343, 0.428, 0.527",\
"0.055, 0.06, 0.077, 0.115, 0.159, 0.212, 0.274, 0.341, 0.423, 0.52",\
"0.028, 0.031, 0.049, 0.089, 0.136, 0.186, 0.242, 0.31, 0.394, 0.49",\
"-0.018, -0.012, 0.009, 0.041, 0.08, 0.134, 0.193, 0.258, 0.346, 0.434",\
"-0.069, -0.062, -0.046, -0.011, 0.026, 0.075, 0.125, 0.188, 0.27, 0.356",\
"-0.13, -0.126, -0.106, -0.078, -0.042, 0.01, 0.048, 0.109, 0.183, 0.263",\
"-0.2, -0.194, -0.174, -0.146, -0.12, -0.078, -0.036, 0.015, 0.08, 0.16",\
"-0.279, -0.27, -0.26, -0.228, -0.208, -0.168, -0.126, -0.09, -0.029, 0.047",\
"-0.364, -0.359, -0.343, -0.323, -0.304, -0.265, -0.239, -0.199, -0.141, -0.079",\
"-0.463, -0.456, -0.443, -0.424, -0.413, -0.381, -0.357, -0.322, -0.269, -0.219");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.092, 0.093, 0.12, 0.166, 0.234, 0.305, 0.397, 0.488, 0.597, 0.709",\
"0.086, 0.093, 0.118, 0.16, 0.232, 0.304, 0.393, 0.486, 0.594, 0.712",\
"0.075, 0.08, 0.109, 0.147, 0.216, 0.291, 0.376, 0.473, 0.585, 0.696",\
"0.064, 0.067, 0.093, 0.137, 0.206, 0.279, 0.367, 0.462, 0.569, 0.687",\
"0.057, 0.06, 0.087, 0.13, 0.2, 0.278, 0.358, 0.458, 0.57, 0.677",\
"0.062, 0.064, 0.091, 0.137, 0.211, 0.286, 0.368, 0.466, 0.577, 0.684",\
"0.091, 0.094, 0.119, 0.156, 0.228, 0.296, 0.386, 0.478, 0.588, 0.702",\
"0.132, 0.135, 0.16, 0.197, 0.267, 0.331, 0.413, 0.509, 0.614, 0.727",\
"0.207, 0.203, 0.235, 0.263, 0.328, 0.376, 0.46, 0.549, 0.657, 0.771",\
"0.302, 0.296, 0.334, 0.347, 0.405, 0.449, 0.524, 0.612, 0.719, 0.822");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.212, 0.21, 0.185, 0.141, 0.097, 0.034, -0.034, -0.108, -0.195, -0.29",\
"0.223, 0.213, 0.196, 0.147, 0.101, 0.041, -0.026, -0.103, -0.188, -0.282",\
"0.245, 0.242, 0.218, 0.178, 0.123, 0.06, 0.002, -0.08, -0.16, -0.256",\
"0.297, 0.291, 0.271, 0.226, 0.172, 0.11, 0.046, -0.03, -0.107, -0.2",\
"0.368, 0.362, 0.341, 0.295, 0.245, 0.186, 0.119, 0.043, -0.038, -0.128",\
"0.468, 0.459, 0.439, 0.39, 0.343, 0.276, 0.212, 0.137, 0.056, -0.033",\
"0.578, 0.569, 0.552, 0.504, 0.452, 0.386, 0.322, 0.25, 0.167, 0.08",\
"0.701, 0.697, 0.68, 0.63, 0.577, 0.511, 0.443, 0.369, 0.297, 0.207",\
"0.844, 0.843, 0.819, 0.77, 0.719, 0.65, 0.578, 0.509, 0.429, 0.349",\
"1, 1.005, 0.977, 0.922, 0.869, 0.796, 0.727, 0.658, 0.586, 0.498");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.155, 0.154, 0.13, 0.091, 0.042, -0.006, -0.05, -0.103, -0.146, -0.217",\
"0.161, 0.159, 0.138, 0.096, 0.044, 0.001, -0.042, -0.108, -0.146, -0.208",\
"0.175, 0.176, 0.158, 0.113, 0.061, 0.011, -0.04, -0.097, -0.146, -0.2",\
"0.204, 0.2, 0.174, 0.137, 0.078, 0.033, -0.018, -0.09, -0.13, -0.19",\
"0.234, 0.224, 0.207, 0.159, 0.103, 0.04, -0.011, -0.069, -0.129, -0.195",\
"0.254, 0.252, 0.229, 0.182, 0.123, 0.059, -0.006, -0.086, -0.155, -0.218",\
"0.271, 0.266, 0.242, 0.193, 0.135, 0.072, 0, -0.083, -0.157, -0.246",\
"0.279, 0.276, 0.249, 0.199, 0.142, 0.072, -0.002, -0.08, -0.176, -0.26",\
"0.272, 0.273, 0.241, 0.199, 0.137, 0.063, -0.018, -0.11, -0.188, -0.292",\
"0.263, 0.254, 0.227, 0.18, 0.112, 0.039, -0.037, -0.125, -0.218, -0.324");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7224 ;
max_transition : 3.6 ;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.00598, 0.02346, 0.05684, 0.1088, 0.1818, 0.2778, 0.3988, 0.5464, 0.7224");
values("1.109, 1.084, 1.031, 0.9896, 0.9655, 0.9501, 0.9397, 0.9327, 0.9277, 0.9242",\
"1.109, 1.084, 1.031, 0.9897, 0.9658, 0.9503, 0.9398, 0.9327, 0.9277, 0.9241",\
"1.109, 1.083, 1.031, 0.9893, 0.9656, 0.95, 0.9398, 0.9327, 0.9276, 0.924",\
"1.113, 1.088, 1.035, 0.9933, 0.9695, 0.954, 0.9435, 0.9364, 0.9316, 0.928",\
"1.126, 1.102, 1.048, 1.006, 0.9823, 0.9672, 0.9569, 0.9499, 0.9448, 0.9412",\
"1.149, 1.124, 1.071, 1.029, 1.005, 0.9888, 0.9785, 0.9713, 0.9663, 0.9626",\
"1.18, 1.155, 1.101, 1.059, 1.034, 1.018, 1.008, 1.001, 0.9956, 0.992",\
"1.217, 1.191, 1.137, 1.094, 1.07, 1.054, 1.043, 1.036, 1.03, 1.027",\
"1.259, 1.234, 1.18, 1.136, 1.11, 1.094, 1.083, 1.076, 1.07, 1.066",\
"1.308, 1.283, 1.227, 1.182, 1.157, 1.14, 1.129, 1.121, 1.116, 1.112");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.00598, 0.02346, 0.05684, 0.1088, 0.1818, 0.2778, 0.3988, 0.5464, 0.7224");
values("1.216, 1.191, 1.149, 1.121, 1.102, 1.091, 1.087, 1.087, 1.086, 1.088",\
"1.216, 1.192, 1.15, 1.121, 1.102, 1.092, 1.087, 1.087, 1.087, 1.088",\
"1.218, 1.194, 1.151, 1.123, 1.104, 1.093, 1.089, 1.088, 1.088, 1.09",\
"1.223, 1.2, 1.157, 1.128, 1.109, 1.098, 1.094, 1.093, 1.093, 1.095",\
"1.234, 1.211, 1.169, 1.14, 1.12, 1.11, 1.106, 1.105, 1.104, 1.107",\
"1.25, 1.226, 1.185, 1.155, 1.136, 1.125, 1.121, 1.12, 1.12, 1.121",\
"1.271, 1.248, 1.205, 1.176, 1.157, 1.145, 1.141, 1.14, 1.14, 1.142",\
"1.294, 1.27, 1.227, 1.197, 1.179, 1.171, 1.165, 1.162, 1.162, 1.163",\
"1.319, 1.294, 1.252, 1.221, 1.202, 1.192, 1.191, 1.191, 1.191, 1.191",\
"1.344, 1.32, 1.278, 1.248, 1.224, 1.214, 1.211, 1.215, 1.219, 1.219");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.00598, 0.02346, 0.05684, 0.1088, 0.1818, 0.2778, 0.3988, 0.5464, 0.7224");
values("0.4654, 0.4836, 0.5319, 0.6041, 0.7023, 0.8336, 1.005, 1.222, 1.487, 1.803",\
"0.4708, 0.489, 0.5372, 0.6094, 0.7076, 0.839, 1.011, 1.227, 1.492, 1.808",\
"0.4944, 0.5125, 0.5607, 0.633, 0.7311, 0.8625, 1.034, 1.251, 1.515, 1.831",\
"0.5433, 0.5614, 0.6097, 0.6819, 0.7801, 0.9114, 1.083, 1.3, 1.564, 1.88",\
"0.6132, 0.6313, 0.6796, 0.7518, 0.8499, 0.9813, 1.153, 1.37, 1.634, 1.95",\
"0.6971, 0.7153, 0.7635, 0.8358, 0.934, 1.065, 1.237, 1.453, 1.718, 2.034",\
"0.7924, 0.8106, 0.8588, 0.9311, 1.029, 1.161, 1.332, 1.549, 1.813, 2.129",\
"0.8976, 0.9157, 0.964, 1.036, 1.134, 1.266, 1.437, 1.654, 1.918, 2.234",\
"1.013, 1.031, 1.08, 1.152, 1.25, 1.381, 1.553, 1.769, 2.034, 2.349",\
"1.139, 1.157, 1.206, 1.278, 1.376, 1.507, 1.679, 1.895, 2.16, 2.475");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.00598, 0.02346, 0.05684, 0.1088, 0.1818, 0.2778, 0.3988, 0.5464, 0.7224");
values("0.5096, 0.5278, 0.5784, 0.6668, 0.8038, 0.998, 1.255, 1.579, 1.976, 2.448",\
"0.5151, 0.5335, 0.584, 0.6722, 0.8092, 1.003, 1.26, 1.584, 1.981, 2.454",\
"0.5392, 0.5575, 0.6079, 0.6963, 0.8333, 1.028, 1.284, 1.609, 2.005, 2.477",\
"0.5889, 0.6072, 0.6577, 0.746, 0.883, 1.077, 1.334, 1.658, 2.055, 2.528",\
"0.6591, 0.6775, 0.728, 0.8162, 0.9532, 1.147, 1.404, 1.728, 2.125, 2.598",\
"0.7431, 0.7614, 0.812, 0.9002, 1.037, 1.232, 1.488, 1.813, 2.209, 2.681",\
"0.8385, 0.8569, 0.9073, 0.9954, 1.132, 1.326, 1.583, 1.908, 2.304, 2.777",\
"0.9426, 0.9609, 1.011, 1.1, 1.236, 1.43, 1.687, 2.011, 2.408, 2.882",\
"1.056, 1.074, 1.124, 1.213, 1.35, 1.544, 1.8, 2.124, 2.52, 2.993",\
"1.178, 1.197, 1.247, 1.335, 1.472, 1.666, 1.923, 2.247, 2.643, 3.115");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.00598, 0.02346, 0.05684, 0.1088, 0.1818, 0.2778, 0.3988, 0.5464, 0.7224");
values("0.06318, 0.0833, 0.138, 0.2269, 0.3706, 0.5832, 0.8725, 1.242, 1.695, 2.234",\
"0.0631, 0.08322, 0.1378, 0.2272, 0.3704, 0.5827, 0.8727, 1.243, 1.693, 2.235",\
"0.0631, 0.08324, 0.1377, 0.2271, 0.37, 0.5822, 0.8734, 1.243, 1.693, 2.235",\
"0.0632, 0.08344, 0.1381, 0.2269, 0.3705, 0.5826, 0.8728, 1.242, 1.693, 2.235",\
"0.06328, 0.08366, 0.1378, 0.227, 0.3698, 0.5828, 0.873, 1.243, 1.695, 2.234",\
"0.0632, 0.0832, 0.1382, 0.2274, 0.3702, 0.583, 0.8726, 1.242, 1.694, 2.235",\
"0.0634, 0.0834, 0.1382, 0.2272, 0.37, 0.5826, 0.8728, 1.242, 1.695, 2.231",\
"0.0636, 0.0838, 0.1384, 0.2274, 0.3702, 0.5824, 0.8718, 1.241, 1.693, 2.233",\
"0.064, 0.084, 0.1386, 0.2278, 0.37, 0.5822, 0.8726, 1.241, 1.691, 2.231",\
"0.0644, 0.0848, 0.1388, 0.2278, 0.37, 0.5824, 0.8734, 1.241, 1.691, 2.229");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.00598, 0.02346, 0.05684, 0.1088, 0.1818, 0.2778, 0.3988, 0.5464, 0.7224");
values("0.06422, 0.08632, 0.1611, 0.3158, 0.5684, 0.9271, 1.402, 2.001, 2.725, 3.591",\
"0.06396, 0.08666, 0.1612, 0.316, 0.5684, 0.9272, 1.402, 2.001, 2.726, 3.592",\
"0.06366, 0.08684, 0.1611, 0.3158, 0.5683, 0.9272, 1.402, 2.001, 2.725, 3.591",\
"0.0636, 0.08658, 0.1612, 0.316, 0.5682, 0.9274, 1.401, 2.001, 2.724, 3.594",\
"0.06426, 0.0866, 0.1614, 0.316, 0.5682, 0.9276, 1.403, 2, 2.725, 3.594",\
"0.0636, 0.0858, 0.1614, 0.3158, 0.5678, 0.9274, 1.401, 2, 2.725, 3.594",\
"0.0636, 0.0862, 0.1608, 0.3158, 0.5684, 0.9276, 1.402, 2.001, 2.725, 3.594",\
"0.064, 0.0862, 0.1614, 0.3162, 0.5682, 0.928, 1.401, 2, 2.725, 3.592",\
"0.0636, 0.0862, 0.1612, 0.3168, 0.5682, 0.929, 1.401, 1.997, 2.73, 3.593",\
"0.0634, 0.0862, 0.161, 0.3166, 0.5694, 0.9274, 1.401, 1.997, 2.725, 3.594");
}
}
}
}