blob: 73d83ef8a6195ad32c546a09254c28a07de1dae1 [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__dffq_4) {
area : 98.784000 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0002336832" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.000256086" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0003096792" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.000369252" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000369252" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004897 ;
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.689 ;
min_pulse_width_high : 0.341 ;
min_pulse_width_low : 0.341 ;
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.1981, 0.1975, 0.2008, 0.2161, 0.2448, 0.289, 0.3496, 0.4275, \
0.523, 0.6377");
}
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.1278, 0.1274, 0.1298, 0.1422, 0.1662, 0.2046, 0.2578, 0.3268, \
0.4116, 0.5132");
}
}
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.2044, 0.2038, 0.207, 0.2223, 0.2509, 0.2952, 0.3555, 0.4332, \
0.5287, 0.6431");
}
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.1276, 0.1271, 0.1296, 0.142, 0.1661, 0.2047, 0.2579, 0.3268, \
0.4115, 0.5129");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.341");
}
rise_constraint(scalar) {
values("0.261");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.268");
}
rise_constraint(scalar) {
values("0.341");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.677");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.689");
}
}
}
pin(D) {
capacitance : 0.003741 ;
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 : "!CLK" ;
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.1143, 0.1134, 0.1144, 0.123, 0.1396, 0.1659, 0.2016, 0.2474, \
0.3034, 0.37");
}
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.07596, 0.07595, 0.07753, 0.0844, 0.09848, 0.1208, 0.1517, 0.1913, \
0.2401, 0.2986");
}
}
internal_power() {
when : "CLK" ;
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.01217, 0.01219, 0.01219, 0.0122, 0.01219, 0.01223, 0.01219, \
0.01223, 0.01222, 0.01222");
}
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.01226, -0.01228, -0.01227, -0.01228, -0.01234, -0.01242, -0.01245, \
-0.01245, -0.01246, -0.01248");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
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.097, 0.108, 0.127, 0.16, 0.178, 0.191, 0.201, 0.194, 0.176, 0.142",\
"0.094, 0.103, 0.126, 0.154, 0.173, 0.188, 0.193, 0.189, 0.167, 0.136",\
"0.071, 0.086, 0.103, 0.137, 0.157, 0.168, 0.178, 0.171, 0.15, 0.117",\
"0.046, 0.056, 0.075, 0.111, 0.123, 0.141, 0.143, 0.138, 0.111, 0.083",\
"0.02, 0.022, 0.038, 0.072, 0.091, 0.097, 0.1, 0.091, 0.071, 0.037",\
"-0.028, -0.02, -0.003, 0.03, 0.047, 0.052, 0.051, 0.051, 0.022, -0.013",\
"-0.07, -0.06, -0.059, -0.017, -0.001, -0.001, -0, -0.008, -0.034, -0.067",\
"-0.131, -0.118, -0.118, -0.073, -0.06, -0.06, -0.065, -0.072, -0.098, -0.134",\
"-0.193, -0.185, -0.185, -0.139, -0.132, -0.139, -0.14, -0.15, -0.171, -0.208",\
"-0.275, -0.258, -0.27, -0.225, -0.213, -0.225, -0.232, -0.233, -0.261, -0.292");
}
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.011, 0.02, 0.036, 0.051, 0.061, 0.053, 0.042, 0.016, -0.019, -0.066",\
"0.006, 0.014, 0.029, 0.046, 0.053, 0.053, 0.042, 0.014, -0.021, -0.068",\
"-0.003, 0.006, 0.016, 0.035, 0.044, 0.045, 0.029, 0.01, -0.026, -0.075",\
"-0.015, -0.008, 0.009, 0.028, 0.032, 0.027, 0.018, -0.006, -0.046, -0.093",\
"-0.025, -0.016, -0.003, 0.011, 0.015, 0.02, 0.001, -0.027, -0.064, -0.113",\
"-0.028, -0.02, -0.003, 0.006, 0.018, 0.005, -0.014, -0.039, -0.083, -0.135",\
"-0.005, -0.003, 0.011, 0.021, 0.024, 0.014, -0.008, -0.044, -0.09, -0.149",\
"0.022, 0.031, 0.05, 0.049, 0.051, 0.038, 0.008, -0.03, -0.084, -0.142",\
"0.078, 0.089, 0.096, 0.102, 0.093, 0.071, 0.046, 0.006, -0.049, -0.114",\
"0.148, 0.156, 0.17, 0.17, 0.157, 0.134, 0.097, 0.059, 0.001, -0.075");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
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.12, 0.112, 0.088, 0.058, 0.029, 0.012, 0.004, 0.01, 0.027, 0.06",\
"0.127, 0.117, 0.095, 0.062, 0.031, 0.014, 0.006, 0.011, 0.029, 0.068",\
"0.152, 0.144, 0.119, 0.083, 0.059, 0.041, 0.031, 0.036, 0.061, 0.091",\
"0.208, 0.204, 0.181, 0.148, 0.12, 0.104, 0.087, 0.092, 0.111, 0.146",\
"0.295, 0.285, 0.265, 0.233, 0.204, 0.182, 0.172, 0.177, 0.193, 0.226",\
"0.402, 0.396, 0.37, 0.337, 0.31, 0.293, 0.281, 0.28, 0.298, 0.331",\
"0.526, 0.524, 0.497, 0.464, 0.441, 0.42, 0.404, 0.405, 0.419, 0.455",\
"0.672, 0.666, 0.639, 0.604, 0.582, 0.561, 0.544, 0.547, 0.564, 0.591",\
"0.829, 0.826, 0.801, 0.77, 0.742, 0.718, 0.705, 0.708, 0.722, 0.751",\
"1.01, 1.004, 0.982, 0.949, 0.919, 0.902, 0.888, 0.881, 0.898, 0.924");
}
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.149, 0.144, 0.121, 0.094, 0.083, 0.078, 0.088, 0.112, 0.146, 0.198",\
"0.158, 0.151, 0.13, 0.1, 0.087, 0.081, 0.091, 0.114, 0.149, 0.201",\
"0.177, 0.171, 0.146, 0.119, 0.105, 0.098, 0.11, 0.13, 0.166, 0.221",\
"0.202, 0.198, 0.174, 0.148, 0.133, 0.128, 0.13, 0.156, 0.195, 0.241",\
"0.223, 0.22, 0.193, 0.172, 0.159, 0.143, 0.154, 0.177, 0.213, 0.263",\
"0.238, 0.235, 0.204, 0.182, 0.165, 0.158, 0.166, 0.19, 0.226, 0.283",\
"0.247, 0.24, 0.218, 0.192, 0.175, 0.167, 0.172, 0.204, 0.239, 0.298",\
"0.233, 0.227, 0.198, 0.174, 0.163, 0.158, 0.163, 0.192, 0.232, 0.292",\
"0.21, 0.202, 0.176, 0.158, 0.136, 0.127, 0.134, 0.171, 0.219, 0.282",\
"0.159, 0.153, 0.129, 0.107, 0.093, 0.089, 0.105, 0.132, 0.186, 0.244");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.82 ;
max_transition : 4.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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.01356, 0.05763, 0.1418, 0.2729, 0.4569, 0.699, 1.004, 1.376, 1.82");
values("0.5373, 0.5215, 0.5048, 0.4976, 0.4948, 0.493, 0.4921, 0.4914, 0.4914, 0.491",\
"0.5374, 0.5213, 0.5048, 0.4977, 0.4945, 0.4926, 0.4919, 0.4914, 0.4911, 0.4909",\
"0.5376, 0.5215, 0.5052, 0.4981, 0.4949, 0.4932, 0.4923, 0.4917, 0.4914, 0.4912",\
"0.5387, 0.5227, 0.5063, 0.4993, 0.4962, 0.4944, 0.4934, 0.4929, 0.4927, 0.4924",\
"0.5409, 0.5247, 0.5079, 0.501, 0.4979, 0.4965, 0.4956, 0.4952, 0.4948, 0.4946",\
"0.5423, 0.526, 0.5097, 0.5032, 0.5001, 0.4979, 0.4969, 0.4965, 0.4962, 0.4961",\
"0.5448, 0.5288, 0.512, 0.5058, 0.5023, 0.5007, 0.4997, 0.4991, 0.4987, 0.4986",\
"0.5479, 0.5319, 0.5148, 0.5082, 0.5051, 0.5031, 0.5022, 0.5017, 0.5017, 0.5011",\
"0.5509, 0.5348, 0.518, 0.5113, 0.5084, 0.5063, 0.5055, 0.5049, 0.5047, 0.5045",\
"0.5543, 0.5384, 0.5215, 0.5147, 0.5118, 0.5098, 0.5085, 0.508, 0.5077, 0.5075");
}
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.01356, 0.05763, 0.1418, 0.2729, 0.4569, 0.699, 1.004, 1.376, 1.82");
values("0.5301, 0.5192, 0.5048, 0.4979, 0.4972, 0.498, 0.5016, 0.505, 0.5113, 0.5121",\
"0.53, 0.5192, 0.5042, 0.4966, 0.4956, 0.4971, 0.5018, 0.5045, 0.5082, 0.5138",\
"0.5296, 0.5183, 0.5035, 0.4964, 0.4956, 0.4979, 0.5022, 0.5041, 0.5093, 0.5131",\
"0.5304, 0.5195, 0.5043, 0.4974, 0.4959, 0.4981, 0.5031, 0.5058, 0.5099, 0.514",\
"0.5309, 0.5205, 0.5054, 0.4982, 0.4969, 0.4977, 0.5046, 0.5072, 0.5099, 0.5126",\
"0.5323, 0.5214, 0.5058, 0.501, 0.4987, 0.5002, 0.5059, 0.5075, 0.5123, 0.5164",\
"0.5362, 0.525, 0.511, 0.501, 0.5037, 0.5067, 0.5085, 0.5111, 0.5145, 0.5176",\
"0.5413, 0.5296, 0.5151, 0.5084, 0.5047, 0.5098, 0.5195, 0.5197, 0.5238, 0.5236",\
"0.5469, 0.5359, 0.5215, 0.5136, 0.5111, 0.5105, 0.5191, 0.5301, 0.5324, 0.5289",\
"0.5542, 0.5426, 0.5277, 0.5196, 0.5202, 0.5181, 0.5228, 0.529, 0.5414, 0.5444");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_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.01356, 0.05763, 0.1418, 0.2729, 0.4569, 0.699, 1.004, 1.376, 1.82");
values("0.493, 0.5123, 0.5605, 0.6327, 0.7356, 0.8778, 1.065, 1.3, 1.588, 1.931",\
"0.499, 0.5185, 0.5666, 0.6386, 0.7415, 0.8838, 1.071, 1.306, 1.594, 1.937",\
"0.5225, 0.5418, 0.59, 0.6622, 0.7651, 0.9073, 1.094, 1.33, 1.618, 1.961",\
"0.5569, 0.5762, 0.6244, 0.6966, 0.7994, 0.9417, 1.129, 1.364, 1.652, 1.995",\
"0.5859, 0.6053, 0.6535, 0.7256, 0.8285, 0.9707, 1.158, 1.393, 1.681, 2.024",\
"0.6079, 0.6274, 0.6755, 0.7477, 0.8506, 0.9928, 1.18, 1.415, 1.703, 2.046",\
"0.6202, 0.6398, 0.688, 0.7603, 0.8631, 1.005, 1.192, 1.428, 1.716, 2.059",\
"0.6213, 0.6406, 0.6886, 0.7609, 0.8638, 1.006, 1.193, 1.429, 1.716, 2.059",\
"0.6085, 0.6279, 0.676, 0.7482, 0.8511, 0.9933, 1.18, 1.416, 1.704, 2.047",\
"0.5817, 0.6011, 0.6491, 0.7214, 0.8243, 0.9665, 1.154, 1.389, 1.677, 2.02");
}
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.01356, 0.05763, 0.1418, 0.2729, 0.4569, 0.699, 1.004, 1.376, 1.82");
values("0.4776, 0.4988, 0.5612, 0.6768, 0.8584, 1.114, 1.449, 1.873, 2.39, 3.006",\
"0.4836, 0.5049, 0.5672, 0.6828, 0.8645, 1.12, 1.455, 1.879, 2.396, 3.012",\
"0.5065, 0.5278, 0.5902, 0.7057, 0.8873, 1.142, 1.478, 1.902, 2.419, 3.036",\
"0.5395, 0.5608, 0.6231, 0.7386, 0.9203, 1.175, 1.511, 1.935, 2.452, 3.069",\
"0.5668, 0.588, 0.6505, 0.7659, 0.9475, 1.203, 1.539, 1.962, 2.479, 3.096",\
"0.5878, 0.6091, 0.6716, 0.7869, 0.9685, 1.224, 1.56, 1.983, 2.5, 3.117",\
"0.5998, 0.621, 0.6835, 0.7989, 0.9804, 1.236, 1.571, 1.995, 2.512, 3.129",\
"0.6008, 0.622, 0.6844, 0.7997, 0.9815, 1.237, 1.573, 1.996, 2.512, 3.128",\
"0.5888, 0.6102, 0.6726, 0.7881, 0.9696, 1.225, 1.561, 1.984, 2.5, 3.116",\
"0.5636, 0.5848, 0.6473, 0.7628, 0.9442, 1.199, 1.535, 1.959, 2.475, 3.091");
}
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.01356, 0.05763, 0.1418, 0.2729, 0.4569, 0.699, 1.004, 1.376, 1.82");
values("0.0464, 0.065, 0.1176, 0.2126, 0.3724, 0.6056, 0.9158, 1.306, 1.785, 2.355",\
"0.04646, 0.06486, 0.1176, 0.213, 0.3725, 0.606, 0.9159, 1.306, 1.785, 2.354",\
"0.04658, 0.06496, 0.1175, 0.2129, 0.3721, 0.6053, 0.915, 1.307, 1.785, 2.351",\
"0.04648, 0.06484, 0.1173, 0.213, 0.3726, 0.6048, 0.9156, 1.307, 1.785, 2.354",\
"0.04654, 0.0648, 0.1178, 0.2132, 0.3726, 0.6052, 0.9158, 1.306, 1.784, 2.354",\
"0.0464, 0.065, 0.1176, 0.2126, 0.3722, 0.6044, 0.9158, 1.305, 1.783, 2.355",\
"0.0464, 0.0648, 0.1172, 0.2128, 0.3724, 0.6054, 0.9136, 1.304, 1.783, 2.353",\
"0.0464, 0.0648, 0.1174, 0.213, 0.3722, 0.605, 0.915, 1.304, 1.781, 2.35",\
"0.0464, 0.065, 0.1172, 0.2124, 0.3724, 0.6056, 0.9146, 1.305, 1.78, 2.348",\
"0.0464, 0.0648, 0.1172, 0.2128, 0.3724, 0.6058, 0.9144, 1.305, 1.781, 2.349");
}
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.01356, 0.05763, 0.1418, 0.2729, 0.4569, 0.699, 1.004, 1.376, 1.82");
values("0.04898, 0.07564, 0.1718, 0.3714, 0.6884, 1.129, 1.712, 2.448, 3.345, 4.418",\
"0.04898, 0.07564, 0.1718, 0.3715, 0.687, 1.131, 1.714, 2.447, 3.345, 4.418",\
"0.04872, 0.07558, 0.172, 0.3714, 0.6869, 1.13, 1.715, 2.447, 3.346, 4.415",\
"0.04874, 0.07562, 0.1719, 0.3716, 0.6884, 1.129, 1.715, 2.448, 3.346, 4.416",\
"0.04874, 0.07548, 0.1718, 0.3716, 0.6876, 1.131, 1.714, 2.448, 3.348, 4.422",\
"0.0486, 0.0756, 0.172, 0.3714, 0.6864, 1.131, 1.715, 2.448, 3.346, 4.415",\
"0.0486, 0.0756, 0.172, 0.3716, 0.6868, 1.129, 1.712, 2.448, 3.35, 4.424",\
"0.049, 0.0758, 0.1718, 0.3712, 0.6876, 1.13, 1.713, 2.448, 3.345, 4.417",\
"0.0488, 0.0756, 0.1722, 0.3716, 0.687, 1.13, 1.713, 2.446, 3.343, 4.413",\
"0.0488, 0.0756, 0.1722, 0.3716, 0.6876, 1.131, 1.713, 2.447, 3.343, 4.411");
}
}
}
}