blob: 95b06258fc5c1c1590c543eec345953dfff1197e [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.0003586635" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0003728565" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.000402903" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.000406656" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000406656" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003425 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
min_period : 1.519 ;
min_pulse_width_high : 0.754 ;
min_pulse_width_low : 0.74 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2311, 0.2306, 0.2313, 0.2378, 0.2532, 0.2775, 0.3118, 0.3567, \
0.4125, 0.4796");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1778, 0.1774, 0.1775, 0.182, 0.1947, 0.2151, 0.2448, 0.2844, \
0.3343, 0.3945");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2341, 0.2336, 0.2344, 0.2409, 0.2562, 0.2805, 0.3147, 0.3595, \
0.4152, 0.4821");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1777, 0.1772, 0.1771, 0.1819, 0.1944, 0.2151, 0.2448, 0.2847, \
0.3342, 0.3946");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.74");
}
rise_constraint(scalar) {
values("0.479");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.488");
}
rise_constraint(scalar) {
values("0.754");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.471");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.519");
}
}
}
pin(D) {
capacitance : 0.002369 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.122, 0.1213, 0.1205, 0.1227, 0.1295, 0.141, 0.1568, 0.1776, \
0.2037, 0.2351");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.08608, 0.08628, 0.08671, 0.08913, 0.09441, 0.1031, 0.1158, 0.1326, \
0.1538, 0.1796");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.007517, 0.007516, 0.007522, 0.007521, 0.007516, 0.007519, 0.007521, \
0.007522, 0.00752, 0.007526");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("-0.005022, -0.005032, -0.005025, -0.005047, -0.005077, -0.005092, \
-0.005129, -0.005123, -0.005148, -0.005153");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.126, 0.134, 0.159, 0.211, 0.264, 0.322, 0.365, 0.405, 0.428, 0.447",\
"0.12, 0.133, 0.161, 0.206, 0.261, 0.313, 0.359, 0.401, 0.43, 0.442",\
"0.1, 0.108, 0.133, 0.188, 0.24, 0.291, 0.339, 0.373, 0.407, 0.42",\
"0.036, 0.045, 0.066, 0.121, 0.177, 0.23, 0.277, 0.317, 0.34, 0.361",\
"-0.068, -0.064, -0.037, 0.018, 0.075, 0.125, 0.175, 0.211, 0.239, 0.254",\
"-0.206, -0.195, -0.172, -0.121, -0.067, -0.007, 0.033, 0.073, 0.1, 0.116",\
"-0.365, -0.353, -0.333, -0.282, -0.231, -0.171, -0.135, -0.095, -0.066, -0.05",\
"-0.555, -0.546, -0.523, -0.47, -0.424, -0.365, -0.329, -0.292, -0.27, -0.255",\
"-0.781, -0.767, -0.744, -0.695, -0.652, -0.593, -0.558, -0.521, -0.496, -0.484",\
"-1.035, -1.022, -1.001, -0.952, -0.905, -0.852, -0.819, -0.78, -0.762, -0.752");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.063, 0.071, 0.099, 0.139, 0.176, 0.213, 0.24, 0.262, 0.285, 0.286",\
"0.056, 0.063, 0.087, 0.131, 0.17, 0.209, 0.237, 0.264, 0.286, 0.286",\
"0.039, 0.052, 0.075, 0.117, 0.156, 0.195, 0.228, 0.253, 0.278, 0.28",\
"0.029, 0.038, 0.066, 0.111, 0.15, 0.185, 0.222, 0.245, 0.262, 0.274",\
"0.031, 0.038, 0.059, 0.112, 0.151, 0.185, 0.217, 0.246, 0.262, 0.268",\
"0.042, 0.051, 0.077, 0.124, 0.154, 0.19, 0.228, 0.249, 0.269, 0.269",\
"0.077, 0.084, 0.106, 0.151, 0.185, 0.219, 0.252, 0.265, 0.285, 0.287",\
"0.146, 0.156, 0.168, 0.215, 0.243, 0.275, 0.299, 0.32, 0.329, 0.329",\
"0.24, 0.252, 0.266, 0.312, 0.336, 0.36, 0.381, 0.398, 0.404, 0.396",\
"0.371, 0.381, 0.395, 0.443, 0.459, 0.48, 0.497, 0.509, 0.51, 0.499");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.303, 0.299, 0.272, 0.211, 0.149, 0.092, 0.035, -0.004, -0.047, -0.069",\
"0.306, 0.301, 0.275, 0.222, 0.15, 0.096, 0.037, -0.003, -0.036, -0.068",\
"0.332, 0.328, 0.3, 0.24, 0.177, 0.117, 0.062, 0.018, -0.021, -0.044",\
"0.405, 0.397, 0.371, 0.313, 0.247, 0.188, 0.133, 0.086, 0.051, 0.025",\
"0.53, 0.52, 0.494, 0.439, 0.37, 0.315, 0.262, 0.216, 0.178, 0.148",\
"0.701, 0.7, 0.668, 0.612, 0.546, 0.486, 0.43, 0.385, 0.348, 0.327",\
"0.916, 0.907, 0.878, 0.824, 0.765, 0.699, 0.648, 0.596, 0.564, 0.531",\
"1.17, 1.167, 1.14, 1.082, 1.02, 0.955, 0.899, 0.856, 0.821, 0.791",\
"1.468, 1.469, 1.437, 1.38, 1.317, 1.253, 1.196, 1.152, 1.111, 1.083",\
"1.809, 1.801, 1.772, 1.716, 1.653, 1.594, 1.536, 1.486, 1.446, 1.419");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.298, 0.292, 0.264, 0.198, 0.139, 0.085, 0.035, -0.004, -0.018, -0.038",\
"0.306, 0.301, 0.266, 0.208, 0.144, 0.088, 0.042, 0.004, -0.017, -0.031",\
"0.332, 0.328, 0.289, 0.232, 0.166, 0.117, 0.062, 0.025, -0.001, -0.013",\
"0.36, 0.356, 0.331, 0.268, 0.207, 0.151, 0.102, 0.054, 0.03, 0.011",\
"0.392, 0.388, 0.359, 0.298, 0.235, 0.181, 0.123, 0.083, 0.054, 0.035",\
"0.41, 0.402, 0.372, 0.312, 0.249, 0.19, 0.137, 0.093, 0.068, 0.052",\
"0.401, 0.396, 0.356, 0.301, 0.238, 0.187, 0.126, 0.09, 0.059, 0.041",\
"0.369, 0.358, 0.328, 0.269, 0.202, 0.154, 0.097, 0.055, 0.031, 0.01",\
"0.304, 0.295, 0.269, 0.205, 0.138, 0.094, 0.032, -0.007, -0.028, -0.047",\
"0.211, 0.205, 0.172, 0.115, 0.049, -0.006, -0.058, -0.095, -0.124, -0.139");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.015 ;
max_transition : 5 ;
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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007998, 0.03256, 0.07947, 0.1525, 0.2551, 0.39, 0.56, 0.7675, 1.015");
values("0.5387, 0.526, 0.5109, 0.5038, 0.5009, 0.4987, 0.4982, 0.4975, 0.4973, 0.4972",\
"0.5387, 0.5261, 0.5106, 0.5034, 0.5, 0.4987, 0.4978, 0.4974, 0.4972, 0.4971",\
"0.5386, 0.5259, 0.5105, 0.5034, 0.5, 0.4988, 0.498, 0.4974, 0.4971, 0.4969",\
"0.5389, 0.5264, 0.5113, 0.5039, 0.5008, 0.4994, 0.4984, 0.498, 0.4976, 0.4976",\
"0.5394, 0.5271, 0.5116, 0.5044, 0.5014, 0.4998, 0.4992, 0.4986, 0.4982, 0.498",\
"0.5405, 0.5283, 0.5125, 0.5056, 0.5027, 0.5011, 0.5005, 0.5, 0.4995, 0.4991",\
"0.5414, 0.5287, 0.5136, 0.5069, 0.5038, 0.5019, 0.501, 0.5004, 0.5002, 0.5001",\
"0.5427, 0.5299, 0.5149, 0.5073, 0.5047, 0.5033, 0.5023, 0.5017, 0.5015, 0.5014",\
"0.544, 0.5314, 0.5163, 0.5087, 0.5055, 0.5041, 0.5031, 0.5028, 0.5025, 0.5023",\
"0.5456, 0.5327, 0.5176, 0.5101, 0.5071, 0.5056, 0.5045, 0.5044, 0.504, 0.5038");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007998, 0.03256, 0.07947, 0.1525, 0.2551, 0.39, 0.56, 0.7675, 1.015");
values("0.5835, 0.5729, 0.5556, 0.5439, 0.5377, 0.5359, 0.5401, 0.5426, 0.5458, 0.5506",\
"0.5833, 0.5723, 0.5553, 0.5434, 0.5378, 0.5369, 0.5397, 0.5445, 0.5486, 0.5512",\
"0.5834, 0.5732, 0.5555, 0.5436, 0.5373, 0.537, 0.5412, 0.5428, 0.5456, 0.5482",\
"0.5832, 0.5731, 0.5555, 0.5432, 0.5369, 0.5363, 0.54, 0.5425, 0.5448, 0.5506",\
"0.5835, 0.5733, 0.556, 0.5438, 0.5381, 0.5377, 0.5414, 0.5435, 0.5458, 0.5484",\
"0.5844, 0.5733, 0.5562, 0.544, 0.5385, 0.5373, 0.5419, 0.5436, 0.5499, 0.5534",\
"0.5853, 0.5734, 0.5573, 0.5463, 0.5398, 0.5377, 0.5423, 0.5462, 0.5512, 0.552",\
"0.5861, 0.5748, 0.5588, 0.5452, 0.5415, 0.5419, 0.5429, 0.5468, 0.5487, 0.5526",\
"0.5878, 0.5775, 0.5611, 0.5474, 0.5419, 0.541, 0.5479, 0.55, 0.5518, 0.5566",\
"0.591, 0.5805, 0.5636, 0.5495, 0.5432, 0.5422, 0.5459, 0.557, 0.5571, 0.5588");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007998, 0.03256, 0.07947, 0.1525, 0.2551, 0.39, 0.56, 0.7675, 1.015");
values("0.919, 0.9448, 1.012, 1.114, 1.255, 1.446, 1.698, 2.015, 2.402, 2.863",\
"0.926, 0.9515, 1.019, 1.12, 1.261, 1.453, 1.705, 2.022, 2.409, 2.87",\
"0.9529, 0.9787, 1.046, 1.148, 1.288, 1.48, 1.732, 2.049, 2.436, 2.897",\
"1.007, 1.033, 1.101, 1.202, 1.343, 1.535, 1.786, 2.103, 2.49, 2.951",\
"1.073, 1.099, 1.167, 1.268, 1.409, 1.601, 1.852, 2.169, 2.556, 3.017",\
"1.135, 1.16, 1.228, 1.329, 1.47, 1.662, 1.914, 2.231, 2.618, 3.079",\
"1.192, 1.217, 1.285, 1.386, 1.527, 1.719, 1.971, 2.288, 2.675, 3.136",\
"1.242, 1.268, 1.336, 1.437, 1.578, 1.77, 2.021, 2.338, 2.725, 3.186",\
"1.284, 1.31, 1.378, 1.479, 1.62, 1.812, 2.064, 2.381, 2.767, 3.229",\
"1.317, 1.343, 1.41, 1.512, 1.652, 1.844, 2.096, 2.413, 2.8, 3.261");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007998, 0.03256, 0.07947, 0.1525, 0.2551, 0.39, 0.56, 0.7675, 1.015");
values("0.9701, 0.9974, 1.073, 1.205, 1.41, 1.7, 2.083, 2.564, 3.152, 3.853",\
"0.9771, 1.004, 1.08, 1.211, 1.417, 1.707, 2.089, 2.571, 3.159, 3.86",\
"1.004, 1.031, 1.107, 1.238, 1.444, 1.734, 2.116, 2.598, 3.186, 3.887",\
"1.058, 1.085, 1.161, 1.292, 1.497, 1.788, 2.17, 2.651, 3.24, 3.941",\
"1.124, 1.151, 1.227, 1.358, 1.564, 1.854, 2.236, 2.718, 3.306, 4.007",\
"1.186, 1.213, 1.289, 1.42, 1.626, 1.915, 2.298, 2.779, 3.367, 4.069",\
"1.243, 1.27, 1.347, 1.478, 1.683, 1.973, 2.356, 2.837, 3.425, 4.127",\
"1.296, 1.323, 1.399, 1.53, 1.736, 2.026, 2.408, 2.889, 3.478, 4.179",\
"1.341, 1.368, 1.444, 1.575, 1.781, 2.071, 2.453, 2.934, 3.523, 4.224",\
"1.377, 1.405, 1.48, 1.612, 1.817, 2.107, 2.489, 2.971, 3.559, 4.26");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007998, 0.03256, 0.07947, 0.1525, 0.2551, 0.39, 0.56, 0.7675, 1.015");
values("0.07864, 0.1033, 0.176, 0.3012, 0.508, 0.8132, 1.222, 1.741, 2.373, 3.127",\
"0.0784, 0.1035, 0.1758, 0.3018, 0.5082, 0.8132, 1.223, 1.741, 2.373, 3.128",\
"0.0784, 0.1034, 0.1758, 0.3018, 0.5082, 0.8132, 1.223, 1.741, 2.374, 3.126",\
"0.0786, 0.1034, 0.1762, 0.3016, 0.508, 0.8144, 1.223, 1.741, 2.372, 3.127",\
"0.0786, 0.1034, 0.1758, 0.3016, 0.5078, 0.8142, 1.222, 1.741, 2.375, 3.128",\
"0.0784, 0.1034, 0.176, 0.3018, 0.508, 0.8142, 1.223, 1.74, 2.372, 3.127",\
"0.0784, 0.1032, 0.1758, 0.3014, 0.5078, 0.8132, 1.223, 1.742, 2.375, 3.131",\
"0.0784, 0.1034, 0.1758, 0.3014, 0.508, 0.8142, 1.222, 1.741, 2.373, 3.127",\
"0.0786, 0.1034, 0.1758, 0.3012, 0.508, 0.8138, 1.222, 1.741, 2.372, 3.127",\
"0.0786, 0.1034, 0.1758, 0.3012, 0.5084, 0.8136, 1.223, 1.741, 2.372, 3.125");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007998, 0.03256, 0.07947, 0.1525, 0.2551, 0.39, 0.56, 0.7675, 1.015");
values("0.08498, 0.116, 0.2186, 0.4358, 0.7912, 1.292, 1.952, 2.781, 3.797, 5.007",\
"0.08458, 0.1152, 0.2184, 0.4354, 0.7898, 1.291, 1.95, 2.782, 3.798, 5.007",\
"0.0846, 0.1156, 0.2184, 0.4354, 0.7912, 1.291, 1.951, 2.779, 3.793, 5.001",\
"0.0852, 0.1154, 0.2184, 0.4358, 0.7902, 1.291, 1.95, 2.78, 3.795, 5.008",\
"0.0844, 0.1154, 0.2182, 0.4358, 0.79, 1.292, 1.951, 2.781, 3.794, 5.002",\
"0.085, 0.1156, 0.2184, 0.4356, 0.79, 1.291, 1.951, 2.782, 3.798, 5.009",\
"0.0848, 0.115, 0.2184, 0.4362, 0.7914, 1.293, 1.951, 2.783, 3.798, 5.011",\
"0.0848, 0.1152, 0.2184, 0.4354, 0.7906, 1.291, 1.951, 2.782, 3.795, 5.003",\
"0.0844, 0.1154, 0.2184, 0.4358, 0.791, 1.292, 1.948, 2.778, 3.797, 5.007",\
"0.0844, 0.1156, 0.2186, 0.4362, 0.791, 1.291, 1.95, 2.781, 3.792, 5.003");
}
}
}
}