blob: 0eb1790b7bec47228207b59223ac6e27e42c8bd7 [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_2) {
area : 72.441600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.00050305" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00050555" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000437455" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000434765" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00050555" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003465 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
min_period : 0.92 ;
min_pulse_width_high : 0.412 ;
min_pulse_width_low : 0.456 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.3093, 0.3089, 0.3119, 0.3277, 0.3612, 0.4138, 0.4868, 0.5811, \
0.6971, 0.8361");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1984, 0.1983, 0.2003, 0.2134, 0.2413, 0.2865, 0.3502, 0.4332, \
0.5364, 0.6609");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.3094, 0.309, 0.3119, 0.3276, 0.3612, 0.4137, 0.4867, 0.581, \
0.6972, 0.8362");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1987, 0.1984, 0.2006, 0.2136, 0.2416, 0.2867, 0.3504, 0.4334, \
0.5369, 0.661");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.398");
}
rise_constraint(scalar) {
values("0.412");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.456");
}
rise_constraint(scalar) {
values("0.357");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.849");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.92");
}
}
}
pin(D) {
capacitance : 0.002412 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.05712, 0.05686, 0.06195, 0.07556, 0.09954, 0.1349, 0.1824, 0.2427, \
0.3168, 0.4054");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.004981, 0.004979, 0.007974, 0.01828, 0.0378, 0.06742, 0.1078, \
0.1596, 0.2234, 0.3");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2043, 0.2042, 0.2074, 0.2191, 0.2431, 0.2805, 0.3324, 0.3994, \
0.4817, 0.5803");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.131, 0.1311, 0.1337, 0.1434, 0.1624, 0.1924, 0.2343, 0.2891, \
0.3575, 0.4399");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.063, 0.07, 0.092, 0.134, 0.201, 0.276, 0.356, 0.447, 0.549, 0.672",\
"0.055, 0.068, 0.088, 0.127, 0.197, 0.274, 0.352, 0.439, 0.545, 0.665",\
"0.021, 0.032, 0.052, 0.101, 0.165, 0.236, 0.32, 0.408, 0.507, 0.629",\
"-0.036, -0.031, -0.004, 0.034, 0.098, 0.176, 0.246, 0.336, 0.441, 0.56",\
"-0.116, -0.109, -0.088, -0.047, 0.014, 0.082, 0.154, 0.243, 0.345, 0.462",\
"-0.22, -0.211, -0.189, -0.153, -0.09, -0.026, 0.047, 0.128, 0.227, 0.341",\
"-0.339, -0.334, -0.31, -0.272, -0.217, -0.152, -0.086, -0.003, 0.088, 0.197",\
"-0.483, -0.468, -0.451, -0.409, -0.359, -0.301, -0.234, -0.16, -0.07, 0.029",\
"-0.635, -0.622, -0.604, -0.569, -0.528, -0.469, -0.411, -0.337, -0.252, -0.147",\
"-0.818, -0.806, -0.789, -0.754, -0.708, -0.656, -0.606, -0.539, -0.452, -0.359");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.149, 0.157, 0.189, 0.238, 0.319, 0.41, 0.519, 0.635, 0.767, 0.908",\
"0.143, 0.149, 0.183, 0.235, 0.31, 0.405, 0.517, 0.628, 0.764, 0.902",\
"0.134, 0.135, 0.166, 0.219, 0.3, 0.39, 0.503, 0.617, 0.749, 0.887",\
"0.119, 0.126, 0.155, 0.207, 0.285, 0.38, 0.482, 0.606, 0.739, 0.878",\
"0.12, 0.125, 0.152, 0.208, 0.28, 0.375, 0.484, 0.598, 0.73, 0.874",\
"0.134, 0.138, 0.166, 0.217, 0.301, 0.394, 0.498, 0.611, 0.743, 0.885",\
"0.168, 0.172, 0.204, 0.25, 0.329, 0.425, 0.528, 0.649, 0.775, 0.913",\
"0.22, 0.225, 0.256, 0.308, 0.38, 0.479, 0.578, 0.693, 0.821, 0.963",\
"0.305, 0.31, 0.339, 0.391, 0.462, 0.546, 0.65, 0.767, 0.897, 1.033",\
"0.412, 0.422, 0.451, 0.5, 0.561, 0.65, 0.742, 0.858, 0.985, 1.123");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.269, 0.261, 0.238, 0.188, 0.12, 0.042, -0.047, -0.137, -0.246, -0.366",\
"0.276, 0.271, 0.246, 0.192, 0.125, 0.051, -0.037, -0.131, -0.239, -0.361",\
"0.309, 0.294, 0.27, 0.224, 0.152, 0.079, -0.007, -0.101, -0.209, -0.329",\
"0.364, 0.361, 0.336, 0.285, 0.214, 0.141, 0.05, -0.041, -0.153, -0.27",\
"0.462, 0.458, 0.434, 0.381, 0.308, 0.239, 0.147, 0.054, -0.051, -0.176",\
"0.587, 0.58, 0.557, 0.509, 0.437, 0.356, 0.266, 0.175, 0.066, -0.05",\
"0.743, 0.735, 0.705, 0.653, 0.581, 0.504, 0.417, 0.323, 0.213, 0.095",\
"0.922, 0.913, 0.888, 0.836, 0.758, 0.685, 0.592, 0.495, 0.386, 0.266",\
"1.132, 1.117, 1.096, 1.044, 0.968, 0.879, 0.786, 0.692, 0.586, 0.472",\
"1.36, 1.347, 1.326, 1.271, 1.188, 1.108, 1.015, 0.918, 0.802, 0.687");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.155, 0.155, 0.126, 0.079, 0.01, -0.08, -0.184, -0.295, -0.417, -0.552",\
"0.163, 0.156, 0.135, 0.078, 0.012, -0.074, -0.168, -0.291, -0.411, -0.553",\
"0.189, 0.174, 0.151, 0.099, 0.027, -0.055, -0.154, -0.273, -0.402, -0.53",\
"0.209, 0.205, 0.177, 0.121, 0.049, -0.04, -0.136, -0.251, -0.374, -0.512",\
"0.234, 0.232, 0.204, 0.149, 0.077, -0.019, -0.12, -0.236, -0.354, -0.491",\
"0.251, 0.243, 0.216, 0.161, 0.091, -0.005, -0.106, -0.226, -0.353, -0.489",\
"0.253, 0.247, 0.219, 0.166, 0.086, -0.006, -0.11, -0.224, -0.36, -0.497",\
"0.242, 0.232, 0.205, 0.152, 0.076, -0.02, -0.125, -0.248, -0.376, -0.516",\
"0.208, 0.208, 0.177, 0.119, 0.042, -0.055, -0.156, -0.276, -0.407, -0.554",\
"0.155, 0.149, 0.122, 0.065, -0.013, -0.105, -0.211, -0.335, -0.463, -0.61");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4283 ;
max_transition : 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.003949, 0.0143, 0.03407, 0.06487, 0.1081, 0.1649, 0.2366, 0.324, 0.4283");
values("0.5413, 0.5318, 0.5121, 0.4976, 0.4892, 0.4841, 0.4804, 0.4778, 0.4761, 0.4748",\
"0.5414, 0.532, 0.5117, 0.4975, 0.4891, 0.4839, 0.4802, 0.4776, 0.4759, 0.4746",\
"0.5414, 0.5315, 0.512, 0.4976, 0.4893, 0.484, 0.4804, 0.4779, 0.4761, 0.4748",\
"0.5422, 0.5326, 0.5128, 0.4982, 0.49, 0.4848, 0.4811, 0.4786, 0.4768, 0.4756",\
"0.5458, 0.5362, 0.5163, 0.5019, 0.4934, 0.4883, 0.4847, 0.4822, 0.4804, 0.4791",\
"0.5519, 0.5422, 0.5224, 0.5079, 0.4999, 0.4944, 0.4908, 0.4882, 0.4865, 0.4852",\
"0.56, 0.5504, 0.5301, 0.516, 0.5073, 0.502, 0.4984, 0.4958, 0.4941, 0.4927",\
"0.5705, 0.5607, 0.5407, 0.5261, 0.5176, 0.5123, 0.5084, 0.5059, 0.5041, 0.5028",\
"0.5828, 0.573, 0.5532, 0.5385, 0.5299, 0.5243, 0.5206, 0.5181, 0.5162, 0.5148",\
"0.5976, 0.5878, 0.5672, 0.5524, 0.5433, 0.5382, 0.5343, 0.5316, 0.5298, 0.5282");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.003949, 0.0143, 0.03407, 0.06487, 0.1081, 0.1649, 0.2366, 0.324, 0.4283");
values("0.6407, 0.6345, 0.6224, 0.6139, 0.6077, 0.6052, 0.605, 0.6056, 0.6064, 0.6075",\
"0.6408, 0.6342, 0.6221, 0.6129, 0.6074, 0.605, 0.6049, 0.605, 0.6063, 0.6074",\
"0.641, 0.6341, 0.622, 0.6135, 0.6079, 0.6051, 0.605, 0.6056, 0.6069, 0.608",\
"0.643, 0.6367, 0.6244, 0.6159, 0.6092, 0.6065, 0.6058, 0.6074, 0.6092, 0.6103",\
"0.6463, 0.64, 0.6267, 0.6184, 0.6128, 0.6102, 0.6092, 0.6103, 0.612, 0.6132",\
"0.6508, 0.6442, 0.6324, 0.624, 0.6179, 0.6151, 0.6157, 0.6158, 0.6165, 0.6187",\
"0.6585, 0.6522, 0.6394, 0.6313, 0.6251, 0.6226, 0.6227, 0.6228, 0.6256, 0.6277",\
"0.6658, 0.6593, 0.6467, 0.6382, 0.6332, 0.6311, 0.6304, 0.6311, 0.6323, 0.634",\
"0.6764, 0.6701, 0.658, 0.6491, 0.6422, 0.6416, 0.6412, 0.6418, 0.6421, 0.6437",\
"0.6871, 0.6792, 0.6682, 0.6588, 0.6518, 0.6502, 0.6507, 0.6539, 0.6541, 0.6543");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.003949, 0.0143, 0.03407, 0.06487, 0.1081, 0.1649, 0.2366, 0.324, 0.4283");
values("0.5954, 0.6141, 0.6652, 0.7414, 0.8413, 0.9712, 1.139, 1.349, 1.606, 1.913",\
"0.6016, 0.6203, 0.6717, 0.7479, 0.8477, 0.9776, 1.145, 1.356, 1.613, 1.919",\
"0.6283, 0.6471, 0.6982, 0.7744, 0.8743, 1.004, 1.172, 1.382, 1.639, 1.946",\
"0.6841, 0.7028, 0.7541, 0.8303, 0.9302, 1.06, 1.228, 1.438, 1.695, 2.002",\
"0.7662, 0.785, 0.8362, 0.9124, 1.012, 1.142, 1.31, 1.52, 1.777, 2.084",\
"0.8653, 0.8843, 0.9354, 1.011, 1.111, 1.241, 1.409, 1.619, 1.876, 2.183",\
"0.9788, 0.9976, 1.049, 1.125, 1.225, 1.355, 1.522, 1.733, 1.99, 2.297",\
"1.105, 1.124, 1.175, 1.251, 1.351, 1.481, 1.649, 1.859, 2.116, 2.423",\
"1.243, 1.262, 1.314, 1.39, 1.49, 1.619, 1.787, 1.997, 2.254, 2.561",\
"1.394, 1.413, 1.465, 1.541, 1.641, 1.771, 1.938, 2.149, 2.406, 2.712");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.003949, 0.0143, 0.03407, 0.06487, 0.1081, 0.1649, 0.2366, 0.324, 0.4283");
values("0.6753, 0.694, 0.75, 0.8513, 1.009, 1.232, 1.526, 1.897, 2.351, 2.892",\
"0.6817, 0.7001, 0.7564, 0.8574, 1.015, 1.238, 1.532, 1.903, 2.357, 2.898",\
"0.7086, 0.7269, 0.783, 0.8843, 1.042, 1.265, 1.559, 1.93, 2.384, 2.925",\
"0.7658, 0.7843, 0.8404, 0.9417, 1.099, 1.322, 1.616, 1.988, 2.441, 2.982",\
"0.8502, 0.8687, 0.9245, 1.026, 1.184, 1.407, 1.701, 2.072, 2.525, 3.066",\
"0.9533, 0.9718, 1.028, 1.129, 1.287, 1.51, 1.804, 2.175, 2.628, 3.169",\
"1.073, 1.092, 1.148, 1.249, 1.406, 1.629, 1.924, 2.295, 2.749, 3.289",\
"1.206, 1.225, 1.281, 1.382, 1.54, 1.762, 2.057, 2.428, 2.882, 3.423",\
"1.352, 1.371, 1.427, 1.528, 1.686, 1.909, 2.203, 2.574, 3.027, 3.568",\
"1.51, 1.528, 1.584, 1.685, 1.843, 2.066, 2.36, 2.731, 3.184, 3.724");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.003949, 0.0143, 0.03407, 0.06487, 0.1081, 0.1649, 0.2366, 0.324, 0.4283");
values("0.07864, 0.09768, 0.151, 0.2375, 0.3698, 0.5671, 0.8379, 1.187, 1.614, 2.125",\
"0.07884, 0.09738, 0.151, 0.2374, 0.3691, 0.5671, 0.8383, 1.187, 1.616, 2.124",\
"0.07872, 0.09734, 0.1509, 0.2375, 0.3698, 0.5671, 0.8372, 1.187, 1.614, 2.124",\
"0.07894, 0.09752, 0.151, 0.2376, 0.3698, 0.5672, 0.8372, 1.187, 1.614, 2.124",\
"0.0788, 0.0974, 0.151, 0.2374, 0.3698, 0.567, 0.8374, 1.187, 1.614, 2.124",\
"0.0788, 0.0976, 0.1512, 0.2376, 0.3696, 0.5668, 0.838, 1.186, 1.614, 2.125",\
"0.0786, 0.0974, 0.1512, 0.2378, 0.3696, 0.5666, 0.8384, 1.187, 1.615, 2.123",\
"0.079, 0.0978, 0.1516, 0.2376, 0.37, 0.567, 0.838, 1.186, 1.615, 2.125",\
"0.0788, 0.0978, 0.1516, 0.2378, 0.37, 0.567, 0.8372, 1.186, 1.613, 2.123",\
"0.0794, 0.0984, 0.1518, 0.2382, 0.3696, 0.5674, 0.8374, 1.185, 1.613, 2.122");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.003949, 0.0143, 0.03407, 0.06487, 0.1081, 0.1649, 0.2366, 0.324, 0.4283");
values("0.07458, 0.09824, 0.1841, 0.3589, 0.6386, 1.038, 1.562, 2.223, 3.025, 3.985",\
"0.07376, 0.09824, 0.1843, 0.3588, 0.6392, 1.038, 1.562, 2.223, 3.025, 3.986",\
"0.07446, 0.09854, 0.1843, 0.3588, 0.639, 1.037, 1.562, 2.223, 3.026, 3.984",\
"0.07394, 0.09842, 0.184, 0.3588, 0.6392, 1.038, 1.561, 2.222, 3.025, 3.986",\
"0.074, 0.0984, 0.1842, 0.359, 0.639, 1.038, 1.561, 2.223, 3.024, 3.986",\
"0.074, 0.0976, 0.1838, 0.359, 0.639, 1.038, 1.559, 2.221, 3.026, 3.984",\
"0.0736, 0.0974, 0.1842, 0.359, 0.6388, 1.038, 1.562, 2.223, 3.025, 3.986",\
"0.0736, 0.0978, 0.1842, 0.3584, 0.6388, 1.036, 1.56, 2.219, 3.025, 3.986",\
"0.0736, 0.0978, 0.184, 0.359, 0.6392, 1.037, 1.561, 2.221, 3.03, 3.986",\
"0.074, 0.0978, 0.1844, 0.3586, 0.6388, 1.037, 1.561, 2.22, 3.026, 3.991");
}
}
}
}