blob: 878b50d020c913297d313847aecd2f43f1d6876d [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 : "7.44804e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "7.97148e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "5.66154e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "5.62932e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "7.97148e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003117 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
min_period : 3.659 ;
min_pulse_width_high : 1.612 ;
min_pulse_width_low : 1.833 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03757, 0.03746, 0.03723, 0.037, 0.03689, 0.03693, 0.03711, 0.03743, \
0.0379, 0.03852");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02438, 0.02432, 0.02417, 0.02395, 0.0238, 0.02375, 0.02387, \
0.02416, 0.02457, 0.02514");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03755, 0.03744, 0.0372, 0.03697, 0.03687, 0.03691, 0.03709, \
0.0374, 0.03788, 0.03848");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.0244, 0.02435, 0.02419, 0.02397, 0.02385, 0.02379, 0.02389, \
0.02418, 0.0246, 0.02518");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.525");
}
rise_constraint(scalar) {
values("1.612");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.833");
}
rise_constraint(scalar) {
values("1.181");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("3.313");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("3.659");
}
}
}
pin(D) {
capacitance : 0.002196 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.007385, 0.007164, 0.006961, 0.006948, 0.00706, 0.007294, 0.007656, \
0.008152, 0.008797, 0.009612");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.00112, 0.001051, 0.000921, 0.0008484, 0.0008947, 0.001062, 0.001365, \
0.001804, 0.002377, 0.003102");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02375, 0.02362, 0.02346, 0.02336, 0.02338, 0.02355, 0.02385, \
0.0243, 0.02489, 0.02563");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.0162, 0.01615, 0.01606, 0.01601, 0.016, 0.01608, 0.01626, 0.01658, \
0.01703, 0.01762");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.212, 0.249, 0.352, 0.549, 0.85, 1.169, 1.488, 1.85, 2.246, 2.69",\
"0.187, 0.22, 0.328, 0.521, 0.823, 1.138, 1.462, 1.819, 2.212, 2.661",\
"0.067, 0.106, 0.207, 0.405, 0.706, 1.024, 1.342, 1.701, 2.094, 2.538",\
"-0.173, -0.138, -0.037, 0.162, 0.475, 0.787, 1.103, 1.456, 1.856, 2.306",\
"-0.517, -0.493, -0.389, -0.191, 0.11, 0.425, 0.745, 1.104, 1.502, 1.946",\
"-0.92, -0.892, -0.791, -0.598, -0.299, 0.008, 0.327, 0.683, 1.079, 1.524",\
"-1.362, -1.323, -1.231, -1.048, -0.752, -0.447, -0.128, 0.225, 0.619, 1.066",\
"-1.834, -1.795, -1.71, -1.52, -1.238, -0.944, -0.631, -0.277, 0.117, 0.561",\
"-2.345, -2.312, -2.226, -2.042, -1.757, -1.477, -1.167, -0.82, -0.432, 0.011",\
"-2.913, -2.879, -2.791, -2.615, -2.334, -2.061, -1.758, -1.419, -1.03, -0.59");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.664, 0.693, 0.81, 1.046, 1.411, 1.859, 2.344, 2.862, 3.409, 3.993",\
"0.631, 0.67, 0.785, 1.014, 1.381, 1.83, 2.321, 2.835, 3.385, 3.965",\
"0.538, 0.57, 0.69, 0.925, 1.286, 1.74, 2.226, 2.742, 3.292, 3.874",\
"0.433, 0.465, 0.58, 0.815, 1.177, 1.631, 2.121, 2.631, 3.182, 3.761",\
"0.358, 0.386, 0.502, 0.737, 1.093, 1.542, 2.031, 2.547, 3.09, 3.678",\
"0.312, 0.348, 0.46, 0.693, 1.045, 1.487, 1.976, 2.483, 3.028, 3.611",\
"0.304, 0.342, 0.456, 0.68, 1.036, 1.479, 1.953, 2.464, 3.007, 3.588",\
"0.353, 0.385, 0.501, 0.721, 1.073, 1.501, 1.979, 2.486, 3.027, 3.605",\
"0.448, 0.483, 0.598, 0.815, 1.164, 1.587, 2.055, 2.558, 3.092, 3.669",\
"0.607, 0.643, 0.755, 0.97, 1.312, 1.718, 2.179, 2.676, 3.209, 3.782");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("1.288, 1.257, 1.129, 0.89, 0.594, 0.219, -0.155, -0.587, -1.034, -1.553",\
"1.319, 1.288, 1.162, 0.922, 0.626, 0.252, -0.125, -0.557, -1.006, -1.523",\
"1.433, 1.412, 1.281, 1.047, 0.745, 0.374, -0.007, -0.438, -0.885, -1.404",\
"1.67, 1.649, 1.519, 1.281, 0.985, 0.633, 0.229, -0.179, -0.644, -1.167",\
"2.05, 2.019, 1.888, 1.652, 1.358, 0.98, 0.604, 0.17, -0.28, -0.799",\
"2.533, 2.513, 2.387, 2.147, 1.847, 1.487, 1.09, 0.659, 0.203, -0.314",\
"3.114, 3.092, 2.962, 2.722, 2.423, 2.031, 1.653, 1.237, 0.763, 0.24",\
"3.753, 3.736, 3.604, 3.357, 3.047, 2.652, 2.268, 1.829, 1.37, 0.839",\
"4.435, 4.419, 4.296, 4.044, 3.731, 3.347, 2.933, 2.513, 2.029, 1.49",\
"5.18, 5.161, 5.031, 4.783, 4.462, 4.041, 3.646, 3.195, 2.737, 2.197");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.412, 0.369, 0.283, 0.023, -0.349, -0.843, -1.35, -1.899, -2.476, -3.115",\
"0.445, 0.397, 0.306, 0.052, -0.329, -0.82, -1.323, -1.869, -2.45, -3.089",\
"0.531, 0.485, 0.404, 0.136, -0.238, -0.73, -1.231, -1.778, -2.357, -2.991",\
"0.676, 0.626, 0.541, 0.274, -0.092, -0.588, -1.089, -1.639, -2.217, -2.847",\
"0.841, 0.789, 0.696, 0.454, 0.064, -0.424, -0.925, -1.476, -2.051, -2.688",\
"0.983, 0.94, 0.843, 0.578, 0.21, -0.273, -0.772, -1.316, -1.89, -2.527",\
"1.103, 1.053, 0.953, 0.693, 0.321, -0.164, -0.657, -1.197, -1.773, -2.401",\
"1.186, 1.139, 1.035, 0.767, 0.396, -0.084, -0.577, -1.117, -1.69, -2.31",\
"1.22, 1.177, 1.073, 0.807, 0.437, -0.051, -0.543, -1.08, -1.652, -2.268",\
"1.215, 1.161, 1.063, 0.796, 0.421, -0.061, -0.557, -1.094, -1.659, -2.275");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3707 ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003552, 0.01251, 0.02962, 0.05627, 0.09366, 0.1429, 0.2049, 0.2805, 0.3707");
values("0.04961, 0.04976, 0.05014, 0.05056, 0.05086, 0.05106, 0.05117, 0.05125, 0.05129, 0.05132",\
"0.04963, 0.04977, 0.05016, 0.05058, 0.05089, 0.05109, 0.0512, 0.05128, 0.05132, 0.05135",\
"0.0496, 0.04976, 0.05015, 0.05058, 0.05089, 0.05107, 0.0512, 0.05126, 0.0513, 0.05134",\
"0.04961, 0.04972, 0.05012, 0.05055, 0.05084, 0.05104, 0.05116, 0.05123, 0.05128, 0.05132",\
"0.04956, 0.04971, 0.05009, 0.0505, 0.05082, 0.051, 0.05112, 0.05119, 0.05123, 0.05127",\
"0.04951, 0.04967, 0.05005, 0.05046, 0.05076, 0.05096, 0.05107, 0.05116, 0.05121, 0.05124",\
"0.04948, 0.04963, 0.05003, 0.05043, 0.05073, 0.05093, 0.05105, 0.05112, 0.05117, 0.0512",\
"0.04945, 0.04961, 0.04998, 0.05042, 0.0507, 0.05091, 0.05102, 0.05111, 0.05116, 0.05117",\
"0.04945, 0.0496, 0.04999, 0.05038, 0.05071, 0.05089, 0.05102, 0.05109, 0.05114, 0.05117",\
"0.04948, 0.04959, 0.04997, 0.0504, 0.05073, 0.05092, 0.05102, 0.0511, 0.05115, 0.05118");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003552, 0.01251, 0.02962, 0.05627, 0.09366, 0.1429, 0.2049, 0.2805, 0.3707");
values("0.05993, 0.06004, 0.06033, 0.0608, 0.0613, 0.06174, 0.06215, 0.06279, 0.06394, 0.07629",\
"0.05996, 0.06006, 0.06037, 0.06082, 0.06139, 0.06178, 0.06219, 0.0625, 0.0644, 0.07669",\
"0.05994, 0.06006, 0.06037, 0.06083, 0.06132, 0.06177, 0.06212, 0.06244, 0.0645, 0.07771",\
"0.05993, 0.06005, 0.06038, 0.0608, 0.06132, 0.06184, 0.06215, 0.06256, 0.0644, 0.08039",\
"0.05997, 0.06013, 0.06041, 0.06087, 0.06133, 0.06178, 0.06217, 0.06254, 0.06568, 0.08561",\
"0.0603, 0.06042, 0.06071, 0.06115, 0.06165, 0.06211, 0.06257, 0.06299, 0.06721, 0.09502",\
"0.06059, 0.0607, 0.06102, 0.06149, 0.06197, 0.06242, 0.0628, 0.06377, 0.07082, 0.1123",\
"0.06095, 0.06105, 0.06135, 0.06186, 0.06232, 0.06279, 0.06315, 0.06479, 0.07826, 0.142",\
"0.06122, 0.06136, 0.06163, 0.06209, 0.06264, 0.06316, 0.06351, 0.06736, 0.09538, 0.1927",\
"0.06152, 0.06163, 0.06194, 0.06238, 0.06288, 0.06338, 0.06456, 0.07562, 0.1359, 0.2677");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003552, 0.01251, 0.02962, 0.05627, 0.09366, 0.1429, 0.2049, 0.2805, 0.3707");
values("2.142, 2.193, 2.327, 2.513, 2.739, 3.018, 3.367, 3.798, 4.323, 4.948",\
"2.176, 2.227, 2.361, 2.547, 2.773, 3.052, 3.401, 3.832, 4.357, 4.982",\
"2.297, 2.349, 2.483, 2.669, 2.895, 3.174, 3.522, 3.954, 4.478, 5.104",\
"2.537, 2.589, 2.723, 2.908, 3.135, 3.414, 3.762, 4.194, 4.718, 5.344",\
"2.911, 2.962, 3.096, 3.282, 3.508, 3.787, 4.136, 4.567, 5.092, 5.717",\
"3.387, 3.439, 3.573, 3.759, 3.984, 4.264, 4.612, 5.044, 5.569, 6.193",\
"3.912, 3.964, 4.098, 4.284, 4.51, 4.789, 5.138, 5.569, 6.094, 6.719",\
"4.472, 4.523, 4.657, 4.843, 5.07, 5.349, 5.698, 6.129, 6.653, 7.278",\
"5.063, 5.114, 5.248, 5.434, 5.661, 5.94, 6.289, 6.72, 7.245, 7.869",\
"5.688, 5.74, 5.874, 6.06, 6.286, 6.565, 6.914, 7.345, 7.87, 8.494");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003552, 0.01251, 0.02962, 0.05627, 0.09366, 0.1429, 0.2049, 0.2805, 0.3707");
values("2.667, 2.729, 2.915, 3.245, 3.748, 4.449, 5.368, 6.526, 7.937, 9.621",\
"2.701, 2.763, 2.949, 3.279, 3.782, 4.483, 5.403, 6.56, 7.973, 9.655",\
"2.823, 2.884, 3.07, 3.401, 3.904, 4.605, 5.525, 6.682, 8.094, 9.775",\
"3.063, 3.125, 3.311, 3.641, 4.144, 4.845, 5.764, 6.922, 8.334, 10.02",\
"3.437, 3.499, 3.685, 4.015, 4.518, 5.218, 6.138, 7.296, 8.708, 10.39",\
"3.92, 3.981, 4.167, 4.497, 5, 5.701, 6.621, 7.778, 9.19, 10.87",\
"4.454, 4.516, 4.702, 5.032, 5.535, 6.236, 7.156, 8.313, 9.724, 11.41",\
"5.025, 5.087, 5.273, 5.603, 6.105, 6.807, 7.726, 8.884, 10.3, 11.98",\
"5.628, 5.69, 5.876, 6.206, 6.708, 7.41, 8.329, 9.487, 10.9, 12.58",\
"6.266, 6.327, 6.513, 6.844, 7.346, 8.047, 8.967, 10.12, 11.54, 13.22");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003552, 0.01251, 0.02962, 0.05627, 0.09366, 0.1429, 0.2049, 0.2805, 0.3707");
values("0.2258, 0.2678, 0.3894, 0.5778, 0.8474, 1.244, 1.797, 2.514, 3.407, 4.475",\
"0.2258, 0.2672, 0.3892, 0.578, 0.8488, 1.247, 1.798, 2.516, 3.407, 4.473",\
"0.226, 0.2674, 0.3894, 0.5774, 0.8482, 1.245, 1.797, 2.514, 3.406, 4.474",\
"0.226, 0.2674, 0.3898, 0.5774, 0.8488, 1.246, 1.797, 2.517, 3.406, 4.472",\
"0.2256, 0.2674, 0.3894, 0.5778, 0.8488, 1.246, 1.798, 2.515, 3.407, 4.472",\
"0.226, 0.2674, 0.3896, 0.5776, 0.8482, 1.247, 1.798, 2.515, 3.405, 4.473",\
"0.2258, 0.2676, 0.3894, 0.5784, 0.849, 1.246, 1.797, 2.517, 3.402, 4.474",\
"0.2264, 0.2682, 0.3898, 0.578, 0.8474, 1.246, 1.797, 2.514, 3.407, 4.472",\
"0.228, 0.268, 0.39, 0.578, 0.848, 1.246, 1.796, 2.514, 3.402, 4.47",\
"0.228, 0.27, 0.39, 0.58, 0.848, 1.248, 1.796, 2.514, 3.402, 4.466");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003552, 0.01251, 0.02962, 0.05627, 0.09366, 0.1429, 0.2049, 0.2805, 0.3707");
values("0.2426, 0.3104, 0.572, 1.104, 1.947, 3.139, 4.708, 6.695, 9.117, 12.01",\
"0.2428, 0.3104, 0.5716, 1.102, 1.946, 3.14, 4.713, 6.687, 9.115, 12",\
"0.2422, 0.3114, 0.5706, 1.104, 1.945, 3.137, 4.711, 6.687, 9.112, 11.99",\
"0.2418, 0.3106, 0.5706, 1.103, 1.946, 3.14, 4.708, 6.696, 9.112, 12",\
"0.2426, 0.3118, 0.5718, 1.103, 1.947, 3.14, 4.713, 6.687, 9.111, 12",\
"0.2426, 0.311, 0.572, 1.102, 1.947, 3.14, 4.713, 6.696, 9.109, 12",\
"0.2424, 0.3106, 0.571, 1.103, 1.947, 3.14, 4.711, 6.695, 9.118, 12.01",\
"0.2412, 0.3104, 0.5712, 1.103, 1.947, 3.14, 4.714, 6.69, 9.118, 12.01",\
"0.24, 0.31, 0.57, 1.104, 1.944, 3.136, 4.714, 6.692, 9.114, 12.01",\
"0.242, 0.31, 0.57, 1.104, 1.944, 3.138, 4.708, 6.688, 9.114, 12.01");
}
}
}
}