blob: 932eac8b1fcb7dc6d911775bd4f81528508b6e89 [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_2) {
area : 68.051200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.00894312" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.01225224" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00872136" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.01007748" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.01225224" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003237 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
min_period : 1.361 ;
min_pulse_width_high : 0.642 ;
min_pulse_width_low : 0.684 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.148, 0.1478, 0.1517, 0.1673, 0.1972, 0.2427, 0.3045, 0.3835, \
0.4806, 0.5964");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1093, 0.1091, 0.1121, 0.125, 0.1503, 0.1897, 0.244, 0.3139, \
0.4, 0.5033");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1505, 0.1502, 0.1543, 0.1698, 0.1997, 0.2451, 0.3069, 0.3858, \
0.4828, 0.5986");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1086, 0.1085, 0.1114, 0.1244, 0.1498, 0.1893, 0.2437, 0.3136, \
0.3997, 0.5029");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.684");
}
rise_constraint(scalar) {
values("0.371");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.481");
}
rise_constraint(scalar) {
values("0.642");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.361");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.31");
}
}
}
pin(D) {
capacitance : 0.002432 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.0888, 0.08821, 0.08885, 0.09495, 0.1083, 0.1291, 0.1579, 0.1948, \
0.2401, 0.2941");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.05782, 0.0581, 0.05983, 0.06546, 0.076, 0.09232, 0.1149, 0.144, \
0.1801, 0.2234");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.005312, 0.005314, 0.005309, 0.005315, 0.005312, 0.005321, 0.00532, \
0.005313, 0.005309, 0.005299");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("-0.00383, -0.003836, -0.003835, -0.003831, -0.003841, -0.003859, \
-0.003871, -0.00388, -0.003895, -0.003908");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.092, 0.101, 0.136, 0.187, 0.226, 0.238, 0.24, 0.22, 0.182, 0.113",\
"0.092, 0.099, 0.131, 0.178, 0.218, 0.236, 0.234, 0.215, 0.174, 0.112",\
"0.049, 0.056, 0.093, 0.138, 0.175, 0.197, 0.199, 0.177, 0.134, 0.068",\
"-0.047, -0.04, -0.009, 0.04, 0.078, 0.096, 0.1, 0.076, 0.035, -0.032",\
"-0.193, -0.184, -0.153, -0.106, -0.065, -0.05, -0.046, -0.073, -0.117, -0.187",\
"-0.375, -0.366, -0.331, -0.288, -0.248, -0.235, -0.244, -0.265, -0.314, -0.392",\
"-0.593, -0.586, -0.555, -0.509, -0.471, -0.469, -0.476, -0.509, -0.559, -0.631",\
"-0.861, -0.858, -0.825, -0.789, -0.749, -0.742, -0.757, -0.791, -0.842, -0.929",\
"-1.181, -1.176, -1.145, -1.109, -1.07, -1.073, -1.08, -1.123, -1.182, -1.276",\
"-1.545, -1.544, -1.515, -1.487, -1.45, -1.452, -1.47, -1.515, -1.568, -1.659");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.052, 0.061, 0.091, 0.129, 0.153, 0.162, 0.159, 0.143, 0.113, 0.068",\
"0.045, 0.053, 0.087, 0.126, 0.149, 0.164, 0.159, 0.142, 0.118, 0.075",\
"0.034, 0.045, 0.079, 0.117, 0.145, 0.152, 0.152, 0.14, 0.113, 0.068",\
"0.043, 0.047, 0.079, 0.122, 0.143, 0.147, 0.143, 0.128, 0.096, 0.045",\
"0.071, 0.083, 0.108, 0.144, 0.159, 0.163, 0.152, 0.132, 0.088, 0.034",\
"0.151, 0.156, 0.188, 0.217, 0.225, 0.225, 0.2, 0.172, 0.121, 0.061",\
"0.282, 0.288, 0.313, 0.343, 0.344, 0.331, 0.301, 0.268, 0.207, 0.139",\
"0.467, 0.474, 0.497, 0.521, 0.51, 0.491, 0.459, 0.416, 0.347, 0.269",\
"0.715, 0.723, 0.74, 0.759, 0.739, 0.713, 0.666, 0.616, 0.544, 0.458",\
"1.022, 1.031, 1.045, 1.058, 1.027, 0.989, 0.933, 0.874, 0.795, 0.707");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.315, 0.313, 0.27, 0.216, 0.177, 0.151, 0.15, 0.17, 0.219, 0.301",\
"0.321, 0.313, 0.275, 0.221, 0.178, 0.156, 0.154, 0.174, 0.223, 0.305",\
"0.362, 0.356, 0.315, 0.266, 0.224, 0.2, 0.195, 0.217, 0.267, 0.34",\
"0.482, 0.474, 0.439, 0.38, 0.339, 0.319, 0.317, 0.335, 0.381, 0.458",\
"0.681, 0.676, 0.636, 0.588, 0.541, 0.516, 0.513, 0.535, 0.584, 0.651",\
"0.95, 0.944, 0.907, 0.849, 0.812, 0.788, 0.776, 0.797, 0.84, 0.917",\
"1.291, 1.28, 1.241, 1.186, 1.146, 1.117, 1.112, 1.126, 1.172, 1.242",\
"1.681, 1.677, 1.634, 1.577, 1.532, 1.515, 1.501, 1.524, 1.566, 1.632",\
"2.14, 2.134, 2.091, 2.032, 1.988, 1.961, 1.949, 1.969, 2.016, 2.085",\
"2.671, 2.659, 2.619, 2.551, 2.505, 2.48, 2.469, 2.487, 2.525, 2.596");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.315, 0.306, 0.265, 0.208, 0.164, 0.146, 0.15, 0.17, 0.226, 0.31",\
"0.328, 0.313, 0.27, 0.213, 0.172, 0.151, 0.154, 0.179, 0.23, 0.314",\
"0.352, 0.345, 0.301, 0.24, 0.201, 0.183, 0.179, 0.206, 0.253, 0.331",\
"0.376, 0.369, 0.325, 0.271, 0.228, 0.204, 0.204, 0.231, 0.283, 0.361",\
"0.384, 0.375, 0.329, 0.273, 0.224, 0.21, 0.205, 0.234, 0.289, 0.373",\
"0.344, 0.339, 0.292, 0.236, 0.194, 0.178, 0.174, 0.207, 0.269, 0.353",\
"0.262, 0.264, 0.215, 0.161, 0.113, 0.095, 0.105, 0.138, 0.202, 0.293",\
"0.138, 0.127, 0.086, 0.03, -0.015, -0.024, -0.019, 0.02, 0.091, 0.186",\
"-0.046, -0.049, -0.095, -0.154, -0.19, -0.205, -0.196, -0.148, -0.074, 0.033",\
"-0.283, -0.287, -0.33, -0.39, -0.429, -0.442, -0.422, -0.371, -0.296, -0.185");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7247 ;
max_transition : 7.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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005995, 0.02353, 0.05702, 0.1092, 0.1824, 0.2787, 0.4, 0.5482, 0.7247");
values("0.2163, 0.2082, 0.1952, 0.1877, 0.1836, 0.1811, 0.1796, 0.1786, 0.178, 0.1774",\
"0.2163, 0.2082, 0.1951, 0.1875, 0.1836, 0.1811, 0.1795, 0.1786, 0.1779, 0.1774",\
"0.2165, 0.2083, 0.1953, 0.1878, 0.1838, 0.1813, 0.1798, 0.1788, 0.1781, 0.1776",\
"0.2172, 0.2091, 0.1961, 0.1885, 0.1844, 0.182, 0.1805, 0.1795, 0.1788, 0.1783",\
"0.2184, 0.2103, 0.1974, 0.1898, 0.1857, 0.1832, 0.1817, 0.1807, 0.1801, 0.1796",\
"0.22, 0.2118, 0.1987, 0.1912, 0.1871, 0.1846, 0.1832, 0.1821, 0.1815, 0.1811",\
"0.2218, 0.2137, 0.2006, 0.1931, 0.189, 0.1866, 0.185, 0.184, 0.1833, 0.1829",\
"0.2239, 0.2159, 0.2026, 0.1952, 0.1911, 0.1886, 0.1871, 0.1861, 0.1853, 0.1849",\
"0.2262, 0.2181, 0.205, 0.1975, 0.1933, 0.1909, 0.1894, 0.1884, 0.1877, 0.1872",\
"0.2287, 0.2205, 0.2074, 0.1998, 0.1956, 0.1932, 0.1916, 0.1907, 0.19, 0.1895");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005995, 0.02353, 0.05702, 0.1092, 0.1824, 0.2787, 0.4, 0.5482, 0.7247");
values("0.2174, 0.2089, 0.197, 0.189, 0.1847, 0.1834, 0.1835, 0.1838, 0.185, 0.19",\
"0.2173, 0.2088, 0.1966, 0.1888, 0.1844, 0.1832, 0.1829, 0.1835, 0.1847, 0.1894",\
"0.2173, 0.2089, 0.1967, 0.189, 0.1846, 0.1833, 0.1832, 0.1838, 0.1847, 0.1898",\
"0.2183, 0.2099, 0.1976, 0.1899, 0.1857, 0.1846, 0.1842, 0.1845, 0.1853, 0.1915",\
"0.22, 0.2114, 0.1995, 0.1913, 0.187, 0.1861, 0.1858, 0.186, 0.1877, 0.1936",\
"0.2225, 0.214, 0.202, 0.1944, 0.1902, 0.1888, 0.1885, 0.1887, 0.1893, 0.1974",\
"0.226, 0.2178, 0.2052, 0.1971, 0.1933, 0.1931, 0.192, 0.1919, 0.1932, 0.2014",\
"0.2306, 0.2223, 0.2098, 0.2011, 0.1967, 0.1958, 0.1977, 0.1983, 0.1989, 0.209",\
"0.2364, 0.2279, 0.2154, 0.2069, 0.2023, 0.1999, 0.2009, 0.2057, 0.2069, 0.2217",\
"0.2431, 0.2344, 0.2221, 0.2134, 0.209, 0.2054, 0.2058, 0.2084, 0.2144, 0.2377");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005995, 0.02353, 0.05702, 0.1092, 0.1824, 0.2787, 0.4, 0.5482, 0.7247");
values("0.7365, 0.7711, 0.8591, 0.9892, 1.167, 1.407, 1.72, 2.114, 2.597, 3.171",\
"0.7459, 0.7805, 0.8685, 0.9985, 1.177, 1.416, 1.73, 2.124, 2.606, 3.181",\
"0.7828, 0.8174, 0.9054, 1.035, 1.214, 1.453, 1.767, 2.161, 2.643, 3.217",\
"0.8383, 0.8728, 0.9607, 1.091, 1.269, 1.509, 1.822, 2.217, 2.699, 3.273",\
"0.8853, 0.9201, 1.008, 1.138, 1.316, 1.556, 1.869, 2.264, 2.745, 3.321",\
"0.9178, 0.9524, 1.04, 1.171, 1.349, 1.588, 1.902, 2.296, 2.778, 3.353",\
"0.9317, 0.9664, 1.054, 1.184, 1.363, 1.602, 1.915, 2.31, 2.792, 3.367",\
"0.9242, 0.9588, 1.047, 1.177, 1.355, 1.595, 1.908, 2.302, 2.784, 3.358",\
"0.8936, 0.9282, 1.016, 1.146, 1.325, 1.564, 1.878, 2.272, 2.754, 3.328",\
"0.8384, 0.8729, 0.9609, 1.091, 1.27, 1.509, 1.822, 2.217, 2.699, 3.273");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005995, 0.02353, 0.05702, 0.1092, 0.1824, 0.2787, 0.4, 0.5482, 0.7247");
values("0.8349, 0.8724, 0.9773, 1.16, 1.446, 1.848, 2.38, 3.051, 3.871, 4.849",\
"0.8442, 0.8817, 0.9861, 1.17, 1.455, 1.858, 2.389, 3.06, 3.88, 4.858",\
"0.8809, 0.9184, 1.023, 1.206, 1.492, 1.894, 2.426, 3.097, 3.916, 4.895",\
"0.9381, 0.9756, 1.08, 1.264, 1.549, 1.952, 2.483, 3.154, 3.973, 4.952",\
"0.9887, 1.026, 1.131, 1.314, 1.599, 2.002, 2.534, 3.204, 4.023, 5.001",\
"1.027, 1.065, 1.17, 1.353, 1.638, 2.041, 2.572, 3.242, 4.061, 5.041",\
"1.049, 1.087, 1.191, 1.375, 1.66, 2.063, 2.594, 3.265, 4.084, 5.063",\
"1.053, 1.09, 1.195, 1.378, 1.663, 2.066, 2.598, 3.268, 4.086, 5.063",\
"1.036, 1.074, 1.178, 1.361, 1.646, 2.049, 2.581, 3.251, 4.069, 5.045",\
"0.9972, 1.035, 1.14, 1.323, 1.608, 2.011, 2.542, 3.212, 4.03, 5.007");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005995, 0.02353, 0.05702, 0.1092, 0.1824, 0.2787, 0.4, 0.5482, 0.7247");
values("0.101, 0.1361, 0.2314, 0.3992, 0.667, 1.064, 1.596, 2.277, 3.104, 4.098",\
"0.101, 0.136, 0.2316, 0.3994, 0.6672, 1.062, 1.596, 2.278, 3.107, 4.1",\
"0.1009, 0.1358, 0.2314, 0.3996, 0.667, 1.064, 1.596, 2.276, 3.103, 4.099",\
"0.101, 0.136, 0.2318, 0.3992, 0.6672, 1.064, 1.596, 2.274, 3.108, 4.097",\
"0.1008, 0.1362, 0.2308, 0.399, 0.667, 1.062, 1.597, 2.278, 3.105, 4.099",\
"0.1008, 0.136, 0.231, 0.3988, 0.6666, 1.064, 1.598, 2.278, 3.106, 4.096",\
"0.101, 0.136, 0.2312, 0.3992, 0.6668, 1.062, 1.596, 2.273, 3.103, 4.096",\
"0.101, 0.1364, 0.231, 0.3996, 0.6676, 1.062, 1.596, 2.273, 3.102, 4.091",\
"0.101, 0.1362, 0.2312, 0.3988, 0.6674, 1.064, 1.599, 2.273, 3.105, 4.088",\
"0.1012, 0.1358, 0.2318, 0.3988, 0.667, 1.064, 1.595, 2.276, 3.103, 4.09");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005995, 0.02353, 0.05702, 0.1092, 0.1824, 0.2787, 0.4, 0.5482, 0.7247");
values("0.1109, 0.1552, 0.3131, 0.6346, 1.158, 1.903, 2.878, 4.115, 5.607, 7.4",\
"0.1105, 0.1552, 0.3139, 0.6358, 1.159, 1.904, 2.878, 4.114, 5.607, 7.4",\
"0.1106, 0.1552, 0.314, 0.6346, 1.159, 1.903, 2.878, 4.115, 5.607, 7.4",\
"0.111, 0.1552, 0.3134, 0.6346, 1.161, 1.903, 2.882, 4.106, 5.608, 7.4",\
"0.1104, 0.1546, 0.3142, 0.6346, 1.16, 1.904, 2.88, 4.109, 5.609, 7.399",\
"0.1102, 0.155, 0.313, 0.6344, 1.161, 1.904, 2.881, 4.111, 5.609, 7.4",\
"0.1106, 0.155, 0.3134, 0.6346, 1.159, 1.901, 2.881, 4.115, 5.608, 7.397",\
"0.1112, 0.1558, 0.3144, 0.6358, 1.159, 1.903, 2.876, 4.11, 5.616, 7.395",\
"0.1114, 0.1562, 0.3138, 0.6342, 1.16, 1.9, 2.877, 4.107, 5.609, 7.409",\
"0.1118, 0.1568, 0.3138, 0.635, 1.16, 1.904, 2.882, 4.109, 5.609, 7.399");
}
}
}
}