/*
 * 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__addf_4) {
    area : 96.588800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B&!CI" ;
      value : "0.00078504" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B&CI" ;
      value : "0.00077523" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B&!CI" ;
      value : "0.00077928" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B&CI" ;
      value : "0.00078048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B&!CI" ;
      value : "0.00078066" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B&CI" ;
      value : "0.00077919" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B&!CI" ;
      value : "0.00077541" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B&CI" ;
      value : "0.0007662" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.00078504" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A) {
      capacitance : 0.01181 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 15.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(B) {
      capacitance : 0.0115 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 15.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CI) {
      capacitance : 0.009571 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 15.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CO) {
      direction : output ;
      function : "((A&B)|(A&CI)|(B&CI))" ;
      max_capacitance : 1.405 ;
      max_transition : 15.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3078, 0.2911, 0.2558, 0.2255, 0.2043, 0.1922, 0.184, 0.1783, 0.1742, 0.1714",\
                 "0.3073, 0.2906, 0.2554, 0.225, 0.2042, 0.1918, 0.1836, 0.1779, 0.174, 0.1711",\
                 "0.3071, 0.2905, 0.2552, 0.2247, 0.2043, 0.1912, 0.1833, 0.1777, 0.1739, 0.1708",\
                 "0.3073, 0.2904, 0.2553, 0.2247, 0.2039, 0.1914, 0.1833, 0.1776, 0.1738, 0.171",\
                 "0.3085, 0.2916, 0.2565, 0.2259, 0.2048, 0.1923, 0.184, 0.1786, 0.1746, 0.1716",\
                 "0.3155, 0.2985, 0.2622, 0.2297, 0.2077, 0.1942, 0.1853, 0.1794, 0.1753, 0.172",\
                 "0.3303, 0.3124, 0.2736, 0.2381, 0.2131, 0.198, 0.188, 0.1807, 0.1762, 0.1724",\
                 "0.3482, 0.3299, 0.2889, 0.2494, 0.2219, 0.2042, 0.1925, 0.1843, 0.1787, 0.1738",\
                 "0.3706, 0.3514, 0.3085, 0.2642, 0.2331, 0.2126, 0.1989, 0.1892, 0.1818, 0.1748",\
                 "0.3982, 0.3782, 0.3326, 0.2831, 0.247, 0.2236, 0.2075, 0.1954, 0.1846, 0.1736");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2263, 0.213, 0.1961, 0.1852, 0.1778, 0.1752, 0.1753, 0.1888, 0.3114, 0.8412",\
                 "0.2258, 0.2123, 0.1959, 0.1845, 0.1774, 0.1748, 0.1749, 0.1881, 0.3128, 0.8519",\
                 "0.2256, 0.2125, 0.1953, 0.1846, 0.1773, 0.1744, 0.1745, 0.1893, 0.3229, 0.8862",\
                 "0.2253, 0.2121, 0.1954, 0.184, 0.1768, 0.1741, 0.1741, 0.1917, 0.3436, 0.9523",\
                 "0.2285, 0.2148, 0.1977, 0.1854, 0.1771, 0.1739, 0.174, 0.1962, 0.3782, 1.067",\
                 "0.2383, 0.2233, 0.2037, 0.1896, 0.1795, 0.1747, 0.1744, 0.2064, 0.4415, 1.246",\
                 "0.2511, 0.2347, 0.2127, 0.1961, 0.1838, 0.1776, 0.1769, 0.2267, 0.5491, 1.505",\
                 "0.2678, 0.2499, 0.2248, 0.2056, 0.1896, 0.1818, 0.1837, 0.2705, 0.7328, 1.869",\
                 "0.289, 0.2696, 0.2409, 0.218, 0.2, 0.1881, 0.198, 0.3644, 1.044, 2.345",\
                 "0.3145, 0.2937, 0.2607, 0.2341, 0.212, 0.1982, 0.2345, 0.5794, 1.535, 2.879");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3014, 0.2843, 0.2501, 0.2219, 0.203, 0.1916, 0.1841, 0.1788, 0.1752, 0.1726",\
                 "0.3011, 0.2844, 0.2499, 0.222, 0.2028, 0.1911, 0.1836, 0.1784, 0.1749, 0.1723",\
                 "0.3009, 0.2841, 0.25, 0.2217, 0.2023, 0.1909, 0.1834, 0.1783, 0.1748, 0.1722",\
                 "0.3011, 0.2843, 0.2496, 0.2217, 0.2022, 0.1908, 0.1836, 0.1785, 0.1748, 0.1723",\
                 "0.3019, 0.2852, 0.2506, 0.2219, 0.2027, 0.1911, 0.1838, 0.1787, 0.1753, 0.1725",\
                 "0.309, 0.2919, 0.256, 0.2258, 0.205, 0.1927, 0.1844, 0.1791, 0.1752, 0.1723",\
                 "0.323, 0.3052, 0.2669, 0.2333, 0.2102, 0.1962, 0.1866, 0.1803, 0.1757, 0.1721",\
                 "0.3408, 0.3223, 0.2817, 0.2444, 0.2183, 0.2017, 0.1908, 0.1832, 0.1779, 0.1732",\
                 "0.3634, 0.344, 0.301, 0.2589, 0.2288, 0.2095, 0.1965, 0.1875, 0.181, 0.1743",\
                 "0.3912, 0.3705, 0.325, 0.2781, 0.2431, 0.2205, 0.2052, 0.1942, 0.1835, 0.1726");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2297, 0.2162, 0.1991, 0.187, 0.1795, 0.1766, 0.1758, 0.1895, 0.3126, 0.8466",\
                 "0.2296, 0.216, 0.1989, 0.187, 0.1797, 0.1759, 0.1757, 0.1895, 0.3152, 0.8557",\
                 "0.2295, 0.2157, 0.1986, 0.1867, 0.1793, 0.1763, 0.1754, 0.19, 0.326, 0.8885",\
                 "0.2295, 0.2161, 0.1984, 0.1868, 0.179, 0.1761, 0.1755, 0.1931, 0.345, 0.9551",\
                 "0.2325, 0.2184, 0.201, 0.1879, 0.1796, 0.1756, 0.1751, 0.1979, 0.38, 1.069",\
                 "0.2419, 0.2267, 0.2072, 0.1927, 0.1819, 0.1772, 0.1759, 0.2079, 0.444, 1.249",\
                 "0.2549, 0.2382, 0.2161, 0.1994, 0.1869, 0.1802, 0.1786, 0.2295, 0.5523, 1.511",\
                 "0.2714, 0.2536, 0.2282, 0.2081, 0.1928, 0.1847, 0.186, 0.2738, 0.7381, 1.878",\
                 "0.2922, 0.2726, 0.2442, 0.221, 0.2024, 0.1908, 0.2005, 0.369, 1.051, 2.355",\
                 "0.3173, 0.2963, 0.2633, 0.2374, 0.2158, 0.2013, 0.2386, 0.5867, 1.545, 2.888");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3065, 0.2896, 0.2547, 0.2245, 0.2032, 0.1909, 0.1827, 0.1772, 0.1731, 0.1703",\
                 "0.3061, 0.2896, 0.2547, 0.224, 0.2035, 0.1908, 0.1828, 0.1772, 0.1732, 0.1702",\
                 "0.3061, 0.2895, 0.2542, 0.2237, 0.2029, 0.1904, 0.1823, 0.1768, 0.1728, 0.1698",\
                 "0.3061, 0.2892, 0.2542, 0.2237, 0.2029, 0.1905, 0.1821, 0.1765, 0.1726, 0.1697",\
                 "0.3073, 0.2903, 0.2551, 0.2242, 0.2033, 0.1909, 0.1832, 0.1776, 0.1735, 0.1705",\
                 "0.3131, 0.2964, 0.2602, 0.228, 0.206, 0.1926, 0.1839, 0.1778, 0.1737, 0.1708",\
                 "0.3314, 0.3131, 0.2738, 0.237, 0.2114, 0.1951, 0.1846, 0.1777, 0.1723, 0.1685",\
                 "0.3554, 0.336, 0.2925, 0.25, 0.2197, 0.2004, 0.1873, 0.1783, 0.1717, 0.1661",\
                 "0.3809, 0.3604, 0.3137, 0.2653, 0.2307, 0.2079, 0.1924, 0.1813, 0.1727, 0.1641",\
                 "0.4093, 0.3877, 0.3385, 0.2846, 0.2442, 0.2178, 0.199, 0.1847, 0.1714, 0.1578");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2289, 0.2154, 0.1986, 0.1876, 0.1805, 0.1777, 0.1775, 0.1908, 0.3113, 0.8367",\
                 "0.2293, 0.2155, 0.1987, 0.1877, 0.1802, 0.1779, 0.1779, 0.191, 0.3148, 0.8484",\
                 "0.2292, 0.2155, 0.1988, 0.1878, 0.1804, 0.1776, 0.1776, 0.1923, 0.3241, 0.8827",\
                 "0.2289, 0.2153, 0.1987, 0.1874, 0.1799, 0.1774, 0.1775, 0.1948, 0.3446, 0.949",\
                 "0.2326, 0.2186, 0.201, 0.1888, 0.1802, 0.1767, 0.1769, 0.1984, 0.3781, 1.062",\
                 "0.2417, 0.2266, 0.2065, 0.1923, 0.182, 0.1771, 0.1764, 0.2078, 0.4394, 1.235",\
                 "0.2535, 0.2368, 0.2143, 0.1976, 0.1855, 0.1791, 0.1781, 0.2267, 0.5431, 1.49",\
                 "0.2695, 0.2515, 0.2253, 0.2057, 0.1902, 0.1823, 0.1839, 0.267, 0.7188, 1.844",\
                 "0.2897, 0.27, 0.2402, 0.2171, 0.1985, 0.1866, 0.1951, 0.354, 1.014, 2.305",\
                 "0.3137, 0.2924, 0.2584, 0.2315, 0.2097, 0.1952, 0.2263, 0.5498, 1.481, 2.83");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2996, 0.2837, 0.2499, 0.2226, 0.2035, 0.1919, 0.1846, 0.1796, 0.176, 0.1733",\
                 "0.2996, 0.2833, 0.2497, 0.2225, 0.2036, 0.1921, 0.1847, 0.1795, 0.1758, 0.1731",\
                 "0.299, 0.2832, 0.2495, 0.2221, 0.203, 0.1915, 0.1842, 0.1791, 0.1754, 0.173",\
                 "0.2992, 0.2829, 0.2489, 0.2216, 0.2027, 0.1913, 0.1839, 0.1788, 0.1752, 0.1725",\
                 "0.2996, 0.2831, 0.2496, 0.2222, 0.2028, 0.1916, 0.1843, 0.1789, 0.1759, 0.173",\
                 "0.3072, 0.2901, 0.2546, 0.2255, 0.2052, 0.1925, 0.1846, 0.1791, 0.1752, 0.1725",\
                 "0.3202, 0.3023, 0.2647, 0.232, 0.2094, 0.1952, 0.1863, 0.1796, 0.1755, 0.1719",\
                 "0.3372, 0.3189, 0.2787, 0.2418, 0.216, 0.1995, 0.1886, 0.1817, 0.1761, 0.1716",\
                 "0.3596, 0.3403, 0.2965, 0.2556, 0.2259, 0.2063, 0.1936, 0.1851, 0.1781, 0.1716",\
                 "0.3863, 0.366, 0.3195, 0.2735, 0.2385, 0.2162, 0.2011, 0.1902, 0.1798, 0.1688");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2331, 0.2196, 0.2023, 0.1901, 0.183, 0.1797, 0.1792, 0.1926, 0.3164, 0.8519",\
                 "0.2337, 0.2198, 0.2026, 0.1905, 0.1834, 0.1801, 0.1796, 0.193, 0.321, 0.8628",\
                 "0.2337, 0.22, 0.2028, 0.1907, 0.1831, 0.1802, 0.1797, 0.1945, 0.3311, 0.9002",\
                 "0.2335, 0.22, 0.2027, 0.1904, 0.1832, 0.18, 0.1795, 0.1978, 0.3542, 0.9762",\
                 "0.2359, 0.2224, 0.2048, 0.1918, 0.1835, 0.1797, 0.1792, 0.2039, 0.396, 1.107",\
                 "0.2478, 0.2324, 0.2129, 0.1972, 0.1862, 0.1803, 0.179, 0.2147, 0.4691, 1.31",\
                 "0.2645, 0.2472, 0.2237, 0.205, 0.1911, 0.1827, 0.1806, 0.2394, 0.5963, 1.604",\
                 "0.2841, 0.2647, 0.2371, 0.2149, 0.1976, 0.1872, 0.1886, 0.2934, 0.8135, 2.006",\
                 "0.3071, 0.2856, 0.2536, 0.2283, 0.2071, 0.1943, 0.2078, 0.4146, 1.175, 2.511",\
                 "0.3338, 0.3104, 0.2739, 0.2451, 0.22, 0.2052, 0.2623, 0.6929, 1.726, 3.03");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2912, 0.2744, 0.2402, 0.2116, 0.193, 0.1814, 0.1738, 0.1686, 0.1651, 0.1625",\
                 "0.2915, 0.2746, 0.2401, 0.212, 0.1929, 0.1814, 0.1739, 0.1689, 0.1652, 0.1628",\
                 "0.2915, 0.2747, 0.2401, 0.212, 0.1926, 0.1814, 0.1738, 0.1687, 0.1651, 0.1627",\
                 "0.2916, 0.2748, 0.2403, 0.2118, 0.1927, 0.1812, 0.174, 0.1689, 0.1655, 0.1629",\
                 "0.2927, 0.276, 0.2415, 0.2131, 0.1935, 0.182, 0.1745, 0.1698, 0.1662, 0.1637",\
                 "0.3003, 0.2828, 0.2474, 0.217, 0.196, 0.1833, 0.1754, 0.1698, 0.1659, 0.1632",\
                 "0.3193, 0.3009, 0.2611, 0.2259, 0.2013, 0.1859, 0.1758, 0.1688, 0.164, 0.1603",\
                 "0.3428, 0.3228, 0.2792, 0.2381, 0.2084, 0.1898, 0.177, 0.1686, 0.1625, 0.157",\
                 "0.3685, 0.3474, 0.2999, 0.2528, 0.2188, 0.1961, 0.1814, 0.1708, 0.1627, 0.1542",\
                 "0.3967, 0.3754, 0.3243, 0.2716, 0.2311, 0.205, 0.187, 0.1733, 0.1603, 0.1472");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2356, 0.2218, 0.2049, 0.1937, 0.1864, 0.1836, 0.1837, 0.1968, 0.3149, 0.8355",\
                 "0.2356, 0.2221, 0.205, 0.194, 0.1865, 0.1837, 0.1838, 0.197, 0.3189, 0.8464",\
                 "0.2357, 0.2221, 0.2053, 0.1939, 0.1865, 0.1838, 0.1839, 0.1978, 0.3287, 0.8827",\
                 "0.2357, 0.2223, 0.2056, 0.1943, 0.1866, 0.1835, 0.1839, 0.2009, 0.3511, 0.9564",\
                 "0.2403, 0.2266, 0.2087, 0.1962, 0.1873, 0.1833, 0.1831, 0.2056, 0.3917, 1.085",\
                 "0.2538, 0.2383, 0.2174, 0.2013, 0.1896, 0.1834, 0.1822, 0.2152, 0.4589, 1.278",\
                 "0.2709, 0.2531, 0.2279, 0.2091, 0.1935, 0.1855, 0.1836, 0.2367, 0.5762, 1.557",\
                 "0.2904, 0.2704, 0.2408, 0.2185, 0.2001, 0.1888, 0.1893, 0.2849, 0.7759, 1.941",\
                 "0.3128, 0.2909, 0.257, 0.2303, 0.2078, 0.1935, 0.2037, 0.3904, 1.111, 2.431",\
                 "0.3393, 0.3154, 0.2763, 0.2462, 0.22, 0.2027, 0.2472, 0.6332, 1.629, 2.955");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2935, 0.2773, 0.2434, 0.2158, 0.1967, 0.185, 0.177, 0.1718, 0.1681, 0.1653",\
                 "0.2936, 0.2775, 0.2434, 0.2155, 0.1966, 0.1848, 0.177, 0.172, 0.1683, 0.1656",\
                 "0.2937, 0.2775, 0.2434, 0.2158, 0.1963, 0.1848, 0.1774, 0.172, 0.1683, 0.1655",\
                 "0.2939, 0.2776, 0.2434, 0.2159, 0.1965, 0.185, 0.1775, 0.1726, 0.1685, 0.1655",\
                 "0.2952, 0.2792, 0.2446, 0.217, 0.1974, 0.1859, 0.1783, 0.1733, 0.1694, 0.1668",\
                 "0.3034, 0.2867, 0.2511, 0.2213, 0.1999, 0.1868, 0.1786, 0.1731, 0.169, 0.166",\
                 "0.323, 0.3049, 0.2655, 0.2304, 0.2055, 0.1896, 0.1792, 0.1719, 0.1669, 0.163",\
                 "0.3466, 0.3274, 0.2838, 0.2426, 0.2128, 0.194, 0.1805, 0.1717, 0.1651, 0.1597",\
                 "0.3719, 0.3522, 0.3049, 0.2579, 0.2231, 0.2005, 0.1844, 0.1735, 0.1652, 0.1566",\
                 "0.401, 0.38, 0.3295, 0.2765, 0.2367, 0.21, 0.1913, 0.1767, 0.1633, 0.1495");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.2319, 0.2185, 0.2019, 0.1909, 0.1835, 0.1807, 0.181, 0.1938, 0.3148, 0.8374",\
                 "0.2321, 0.2188, 0.202, 0.191, 0.1836, 0.1811, 0.1812, 0.1941, 0.318, 0.8484",\
                 "0.2322, 0.2191, 0.2021, 0.1912, 0.1839, 0.1811, 0.1811, 0.1961, 0.3279, 0.8857",\
                 "0.2324, 0.2192, 0.2023, 0.1914, 0.1837, 0.1812, 0.1812, 0.1985, 0.3501, 0.9598",\
                 "0.2357, 0.2221, 0.2052, 0.1926, 0.1839, 0.1804, 0.1802, 0.2032, 0.3902, 1.088",\
                 "0.2487, 0.2333, 0.2133, 0.1977, 0.1865, 0.1808, 0.1799, 0.2137, 0.4595, 1.285",\
                 "0.265, 0.2474, 0.2235, 0.2046, 0.1906, 0.1823, 0.1813, 0.2366, 0.5792, 1.568",\
                 "0.284, 0.2642, 0.236, 0.2137, 0.1961, 0.186, 0.1871, 0.2844, 0.7831, 1.955",\
                 "0.3062, 0.2848, 0.2519, 0.2267, 0.2051, 0.1907, 0.2025, 0.3935, 1.123, 2.447",\
                 "0.3322, 0.3085, 0.2713, 0.2418, 0.2166, 0.2002, 0.2481, 0.6421, 1.646, 2.969");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("2.236, 2.378, 2.72, 3.174, 3.714, 4.332, 5.045, 5.875, 6.844, 7.974",\
                 "2.259, 2.4, 2.743, 3.196, 3.736, 4.354, 5.067, 5.897, 6.866, 7.996",\
                 "2.345, 2.486, 2.828, 3.282, 3.821, 4.439, 5.152, 5.982, 6.951, 8.081",\
                 "2.491, 2.632, 2.975, 3.429, 3.968, 4.586, 5.299, 6.128, 7.097, 8.228",\
                 "2.737, 2.878, 3.22, 3.674, 4.213, 4.831, 5.544, 6.373, 7.342, 8.473",\
                 "3.106, 3.247, 3.59, 4.044, 4.582, 5.2, 5.913, 6.743, 7.712, 8.841",\
                 "3.558, 3.705, 4.058, 4.523, 5.07, 5.692, 6.408, 7.239, 8.208, 9.338",\
                 "4.093, 4.244, 4.607, 5.086, 5.648, 6.283, 7.008, 7.842, 8.814, 9.944",\
                 "4.713, 4.868, 5.242, 5.735, 6.31, 6.96, 7.696, 8.539, 9.514, 10.65",\
                 "5.413, 5.574, 5.963, 6.471, 7.061, 7.728, 8.476, 9.328, 10.31, 11.44");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.655, 1.782, 2.12, 2.63, 3.313, 4.217, 5.386, 6.857, 8.645, 10.77",\
                 "1.678, 1.805, 2.144, 2.653, 3.336, 4.239, 5.409, 6.88, 8.667, 10.8",\
                 "1.742, 1.869, 2.207, 2.716, 3.4, 4.303, 5.473, 6.943, 8.731, 10.86",\
                 "1.842, 1.968, 2.307, 2.816, 3.5, 4.403, 5.573, 7.043, 8.831, 10.96",\
                 "1.998, 2.125, 2.463, 2.971, 3.654, 4.557, 5.726, 7.196, 8.984, 11.11",\
                 "2.171, 2.302, 2.647, 3.161, 3.846, 4.748, 5.917, 7.386, 9.172, 11.3",\
                 "2.322, 2.458, 2.812, 3.338, 4.03, 4.935, 6.103, 7.571, 9.357, 11.48",\
                 "2.446, 2.587, 2.95, 3.486, 4.188, 5.096, 6.265, 7.731, 9.517, 11.64",\
                 "2.532, 2.678, 3.052, 3.601, 4.314, 5.226, 6.394, 7.86, 9.644, 11.77",\
                 "2.57, 2.723, 3.11, 3.674, 4.4, 5.32, 6.491, 7.956, 9.739, 11.86");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.5546, 0.689, 0.998, 1.421, 1.961, 2.659, 3.575, 4.755, 6.243, 8.071",\
                 "0.5544, 0.689, 0.998, 1.421, 1.961, 2.659, 3.575, 4.756, 6.247, 8.068",\
                 "0.5552, 0.689, 0.9982, 1.42, 1.961, 2.658, 3.575, 4.755, 6.246, 8.07",\
                 "0.555, 0.6882, 0.9984, 1.42, 1.961, 2.658, 3.574, 4.755, 6.245, 8.064",\
                 "0.5546, 0.6884, 0.9986, 1.421, 1.961, 2.659, 3.574, 4.755, 6.246, 8.065",\
                 "0.5678, 0.7002, 1.009, 1.426, 1.967, 2.663, 3.578, 4.758, 6.246, 8.069",\
                 "0.606, 0.7432, 1.056, 1.472, 2.003, 2.688, 3.593, 4.766, 6.254, 8.068",\
                 "0.6418, 0.7844, 1.108, 1.531, 2.068, 2.748, 3.638, 4.796, 6.264, 8.088",\
                 "0.686, 0.834, 1.166, 1.594, 2.138, 2.816, 3.7, 4.844, 6.296, 8.096",\
                 "0.74, 0.89, 1.234, 1.67, 2.216, 2.894, 3.768, 4.898, 6.342, 8.126");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3862, 0.5204, 0.9268, 1.594, 2.611, 4.102, 6.133, 8.698, 11.84, 15.59",\
                 "0.385, 0.5204, 0.9274, 1.596, 2.611, 4.103, 6.129, 8.701, 11.84, 15.6",\
                 "0.3846, 0.5206, 0.9268, 1.594, 2.611, 4.102, 6.132, 8.702, 11.84, 15.6",\
                 "0.385, 0.5212, 0.9276, 1.596, 2.611, 4.103, 6.127, 8.702, 11.84, 15.6",\
                 "0.3888, 0.5224, 0.93, 1.598, 2.612, 4.104, 6.129, 8.702, 11.83, 15.6",\
                 "0.414, 0.5494, 0.9572, 1.617, 2.624, 4.108, 6.131, 8.702, 11.84, 15.6",\
                 "0.444, 0.5794, 0.9924, 1.66, 2.655, 4.124, 6.14, 8.704, 11.84, 15.59",\
                 "0.4756, 0.6146, 1.029, 1.701, 2.692, 4.146, 6.146, 8.706, 11.85, 15.6",\
                 "0.5172, 0.6584, 1.073, 1.752, 2.734, 4.174, 6.164, 8.716, 11.85, 15.58",\
                 "0.564, 0.708, 1.126, 1.818, 2.792, 4.214, 6.19, 8.724, 11.85, 15.59");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("2.181, 2.319, 2.654, 3.1, 3.636, 4.252, 4.966, 5.796, 6.766, 7.896",\
                 "2.212, 2.35, 2.685, 3.132, 3.667, 4.283, 4.997, 5.827, 6.797, 7.927",\
                 "2.319, 2.457, 2.791, 3.239, 3.774, 4.39, 5.103, 5.934, 6.903, 8.034",\
                 "2.48, 2.617, 2.953, 3.399, 3.934, 4.551, 5.264, 6.095, 7.064, 8.195",\
                 "2.723, 2.86, 3.195, 3.641, 4.176, 4.792, 5.506, 6.336, 7.306, 8.436",\
                 "3.076, 3.215, 3.55, 3.997, 4.532, 5.149, 5.862, 6.693, 7.662, 8.793",\
                 "3.51, 3.653, 4, 4.458, 5.002, 5.624, 6.341, 7.173, 8.143, 9.273",\
                 "4.026, 4.174, 4.531, 5.003, 5.562, 6.199, 6.926, 7.761, 8.733, 9.865",\
                 "4.632, 4.785, 5.151, 5.639, 6.211, 6.863, 7.601, 8.447, 9.424, 10.56",\
                 "5.322, 5.48, 5.861, 6.363, 6.953, 7.62, 8.372, 9.228, 10.21, 11.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.686, 1.814, 2.153, 2.662, 3.345, 4.248, 5.419, 6.889, 8.677, 10.81",\
                 "1.705, 1.832, 2.17, 2.68, 3.363, 4.266, 5.437, 6.907, 8.695, 10.82",\
                 "1.753, 1.88, 2.218, 2.728, 3.411, 4.314, 5.484, 6.955, 8.743, 10.87",\
                 "1.849, 1.977, 2.315, 2.824, 3.507, 4.41, 5.581, 7.051, 8.84, 10.97",\
                 "2.008, 2.135, 2.473, 2.981, 3.664, 4.566, 5.736, 7.206, 8.994, 11.12",\
                 "2.187, 2.318, 2.663, 3.176, 3.86, 4.762, 5.93, 7.399, 9.187, 11.32",\
                 "2.346, 2.481, 2.834, 3.358, 4.049, 4.953, 6.12, 7.589, 9.375, 11.5",\
                 "2.477, 2.617, 2.978, 3.512, 4.212, 5.119, 6.287, 7.754, 9.54, 11.67",\
                 "2.569, 2.715, 3.086, 3.631, 4.341, 5.252, 6.421, 7.887, 9.671, 11.8",\
                 "2.613, 2.764, 3.147, 3.707, 4.43, 5.349, 6.52, 7.986, 9.769, 11.89");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.535, 0.6662, 0.9718, 1.397, 1.945, 2.651, 3.572, 4.756, 6.246, 8.067",\
                 "0.536, 0.667, 0.9712, 1.398, 1.944, 2.651, 3.572, 4.756, 6.247, 8.069",\
                 "0.536, 0.666, 0.9722, 1.397, 1.944, 2.651, 3.572, 4.756, 6.246, 8.073",\
                 "0.535, 0.6664, 0.9714, 1.397, 1.944, 2.651, 3.572, 4.757, 6.246, 8.072",\
                 "0.5356, 0.6658, 0.972, 1.398, 1.945, 2.651, 3.572, 4.755, 6.246, 8.069",\
                 "0.5514, 0.6804, 0.9836, 1.404, 1.952, 2.656, 3.576, 4.758, 6.243, 8.073",\
                 "0.5888, 0.7246, 1.033, 1.453, 1.991, 2.684, 3.593, 4.771, 6.254, 8.072",\
                 "0.6254, 0.7646, 1.084, 1.515, 2.058, 2.748, 3.642, 4.8, 6.27, 8.078",\
                 "0.67, 0.812, 1.142, 1.578, 2.128, 2.816, 3.706, 4.854, 6.304, 8.098",\
                 "0.726, 0.874, 1.214, 1.654, 2.208, 2.898, 3.776, 4.91, 6.352, 8.136");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3904, 0.5256, 0.9304, 1.599, 2.614, 4.106, 6.132, 8.704, 11.85, 15.6",\
                 "0.3904, 0.525, 0.9302, 1.597, 2.614, 4.106, 6.134, 8.702, 11.85, 15.58",\
                 "0.39, 0.5244, 0.9308, 1.597, 2.613, 4.105, 6.129, 8.701, 11.85, 15.6",\
                 "0.3902, 0.526, 0.9308, 1.597, 2.614, 4.105, 6.136, 8.705, 11.84, 15.6",\
                 "0.3932, 0.5266, 0.9334, 1.599, 2.614, 4.105, 6.134, 8.706, 11.84, 15.59",\
                 "0.4178, 0.5512, 0.9602, 1.617, 2.625, 4.109, 6.132, 8.704, 11.85, 15.59",\
                 "0.4446, 0.5814, 0.9916, 1.656, 2.653, 4.125, 6.138, 8.706, 11.85, 15.6",\
                 "0.4766, 0.6144, 1.028, 1.698, 2.687, 4.145, 6.148, 8.712, 11.84, 15.6",\
                 "0.5142, 0.6552, 1.068, 1.748, 2.73, 4.174, 6.162, 8.72, 11.85, 15.61",\
                 "0.56, 0.702, 1.12, 1.806, 2.784, 4.212, 6.188, 8.734, 11.86, 15.59");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("2.236, 2.378, 2.72, 3.174, 3.714, 4.332, 5.045, 5.875, 6.844, 7.974",\
                 "2.259, 2.4, 2.743, 3.196, 3.736, 4.354, 5.067, 5.897, 6.866, 7.996",\
                 "2.345, 2.486, 2.828, 3.282, 3.821, 4.439, 5.152, 5.982, 6.951, 8.081",\
                 "2.491, 2.632, 2.975, 3.429, 3.968, 4.586, 5.299, 6.128, 7.097, 8.228",\
                 "2.737, 2.878, 3.22, 3.674, 4.213, 4.831, 5.544, 6.373, 7.342, 8.473",\
                 "3.106, 3.247, 3.59, 4.044, 4.582, 5.2, 5.913, 6.743, 7.712, 8.841",\
                 "3.558, 3.705, 4.058, 4.523, 5.07, 5.692, 6.408, 7.239, 8.208, 9.338",\
                 "4.093, 4.244, 4.607, 5.086, 5.648, 6.283, 7.008, 7.842, 8.814, 9.944",\
                 "4.713, 4.868, 5.242, 5.735, 6.31, 6.96, 7.696, 8.539, 9.514, 10.65",\
                 "5.413, 5.574, 5.963, 6.471, 7.061, 7.728, 8.476, 9.328, 10.31, 11.44");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.686, 1.814, 2.153, 2.662, 3.345, 4.248, 5.419, 6.889, 8.677, 10.81",\
                 "1.705, 1.832, 2.17, 2.68, 3.363, 4.266, 5.437, 6.907, 8.695, 10.82",\
                 "1.753, 1.88, 2.218, 2.728, 3.411, 4.314, 5.484, 6.955, 8.743, 10.87",\
                 "1.849, 1.977, 2.315, 2.824, 3.507, 4.41, 5.581, 7.051, 8.84, 10.97",\
                 "2.008, 2.135, 2.473, 2.981, 3.664, 4.566, 5.736, 7.206, 8.994, 11.12",\
                 "2.187, 2.318, 2.663, 3.176, 3.86, 4.762, 5.93, 7.399, 9.187, 11.32",\
                 "2.346, 2.481, 2.834, 3.358, 4.049, 4.953, 6.12, 7.589, 9.375, 11.5",\
                 "2.477, 2.617, 2.978, 3.512, 4.212, 5.119, 6.287, 7.754, 9.54, 11.67",\
                 "2.569, 2.715, 3.086, 3.631, 4.341, 5.252, 6.421, 7.887, 9.671, 11.8",\
                 "2.613, 2.764, 3.147, 3.707, 4.43, 5.349, 6.52, 7.986, 9.769, 11.89");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.535, 0.6662, 0.9718, 1.397, 1.945, 2.651, 3.572, 4.756, 6.246, 8.067",\
                 "0.536, 0.667, 0.9712, 1.398, 1.944, 2.651, 3.572, 4.756, 6.247, 8.069",\
                 "0.536, 0.666, 0.9722, 1.397, 1.944, 2.651, 3.572, 4.756, 6.246, 8.073",\
                 "0.535, 0.6664, 0.9714, 1.397, 1.944, 2.651, 3.572, 4.757, 6.246, 8.072",\
                 "0.5356, 0.6658, 0.972, 1.398, 1.945, 2.651, 3.572, 4.755, 6.246, 8.069",\
                 "0.5514, 0.6804, 0.9836, 1.404, 1.952, 2.656, 3.576, 4.758, 6.243, 8.073",\
                 "0.5888, 0.7246, 1.033, 1.453, 1.991, 2.684, 3.593, 4.771, 6.254, 8.072",\
                 "0.6254, 0.7646, 1.084, 1.515, 2.058, 2.748, 3.642, 4.8, 6.27, 8.078",\
                 "0.67, 0.812, 1.142, 1.578, 2.128, 2.816, 3.706, 4.854, 6.304, 8.098",\
                 "0.726, 0.874, 1.214, 1.654, 2.208, 2.898, 3.776, 4.91, 6.352, 8.136");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3904, 0.5256, 0.9304, 1.599, 2.614, 4.106, 6.132, 8.704, 11.85, 15.6",\
                 "0.3904, 0.525, 0.9302, 1.597, 2.614, 4.106, 6.134, 8.702, 11.85, 15.58",\
                 "0.39, 0.5244, 0.9308, 1.597, 2.613, 4.105, 6.129, 8.701, 11.85, 15.6",\
                 "0.3902, 0.526, 0.9308, 1.597, 2.614, 4.105, 6.136, 8.705, 11.84, 15.6",\
                 "0.3932, 0.5266, 0.9334, 1.599, 2.614, 4.105, 6.134, 8.706, 11.84, 15.59",\
                 "0.4178, 0.5512, 0.9602, 1.617, 2.625, 4.109, 6.132, 8.704, 11.85, 15.59",\
                 "0.4446, 0.5814, 0.9916, 1.656, 2.653, 4.125, 6.138, 8.706, 11.85, 15.6",\
                 "0.4766, 0.6144, 1.028, 1.698, 2.687, 4.145, 6.148, 8.712, 11.84, 15.6",\
                 "0.5142, 0.6552, 1.068, 1.748, 2.73, 4.174, 6.162, 8.72, 11.85, 15.61",\
                 "0.56, 0.702, 1.12, 1.806, 2.784, 4.212, 6.188, 8.734, 11.86, 15.59");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("2.222, 2.363, 2.705, 3.159, 3.699, 4.317, 5.03, 5.86, 6.829, 7.96",\
                 "2.249, 2.391, 2.733, 3.187, 3.726, 4.344, 5.058, 5.887, 6.856, 7.987",\
                 "2.348, 2.489, 2.832, 3.286, 3.825, 4.443, 5.156, 5.985, 6.954, 8.085",\
                 "2.555, 2.696, 3.039, 3.493, 4.032, 4.65, 5.363, 6.193, 7.161, 8.292",\
                 "2.908, 3.049, 3.391, 3.845, 4.384, 5.002, 5.715, 6.544, 7.513, 8.644",\
                 "3.432, 3.573, 3.914, 4.367, 4.905, 5.523, 6.236, 7.065, 8.034, 9.164",\
                 "4.085, 4.232, 4.583, 5.042, 5.583, 6.203, 6.917, 7.747, 8.716, 9.845",\
                 "4.809, 4.962, 5.331, 5.81, 6.369, 7, 7.719, 8.551, 9.52, 10.65",\
                 "5.618, 5.778, 6.163, 6.663, 7.237, 7.884, 8.616, 9.454, 10.43, 11.56",\
                 "6.524, 6.69, 7.092, 7.609, 8.204, 8.865, 9.608, 10.45, 11.43, 12.56");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.575, 1.703, 2.046, 2.561, 3.25, 4.155, 5.325, 6.795, 8.583, 10.71",\
                 "1.606, 1.734, 2.077, 2.592, 3.28, 4.186, 5.356, 6.827, 8.614, 10.74",\
                 "1.673, 1.802, 2.144, 2.659, 3.348, 4.253, 5.424, 6.894, 8.682, 10.81",\
                 "1.773, 1.901, 2.244, 2.759, 3.447, 4.353, 5.523, 6.994, 8.781, 10.91",\
                 "1.925, 2.054, 2.396, 2.91, 3.598, 4.503, 5.673, 7.143, 8.93, 11.06",\
                 "2.073, 2.208, 2.56, 3.084, 3.777, 4.682, 5.851, 7.32, 9.107, 11.23",\
                 "2.196, 2.335, 2.696, 3.232, 3.935, 4.846, 6.016, 7.485, 9.271, 11.4",\
                 "2.285, 2.427, 2.797, 3.344, 4.056, 4.971, 6.144, 7.612, 9.399, 11.52",\
                 "2.323, 2.47, 2.851, 3.41, 4.133, 5.053, 6.225, 7.695, 9.481, 11.61",\
                 "2.295, 2.449, 2.841, 3.417, 4.155, 5.084, 6.259, 7.726, 9.512, 11.64");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.5544, 0.6892, 0.9988, 1.419, 1.961, 2.659, 3.576, 4.757, 6.246, 8.068",\
                 "0.5544, 0.689, 0.998, 1.421, 1.961, 2.659, 3.575, 4.758, 6.248, 8.074",\
                 "0.5542, 0.689, 0.9982, 1.42, 1.961, 2.659, 3.574, 4.754, 6.246, 8.069",\
                 "0.5542, 0.6884, 0.9978, 1.419, 1.961, 2.658, 3.575, 4.755, 6.246, 8.07",\
                 "0.555, 0.6888, 0.9978, 1.418, 1.961, 2.659, 3.575, 4.756, 6.244, 8.065",\
                 "0.5598, 0.693, 1.003, 1.424, 1.965, 2.662, 3.577, 4.756, 6.247, 8.075",\
                 "0.6156, 0.749, 1.054, 1.461, 1.994, 2.681, 3.59, 4.764, 6.248, 8.078",\
                 "0.679, 0.822, 1.14, 1.546, 2.068, 2.74, 3.628, 4.79, 6.264, 8.078",\
                 "0.738, 0.89, 1.224, 1.632, 2.154, 2.82, 3.694, 4.834, 6.296, 8.098",\
                 "0.8, 0.956, 1.304, 1.726, 2.242, 2.9, 3.76, 4.886, 6.332, 8.12");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3904, 0.5256, 0.9366, 1.608, 2.623, 4.108, 6.134, 8.699, 11.84, 15.59",\
                 "0.3904, 0.5256, 0.9364, 1.61, 2.622, 4.108, 6.129, 8.702, 11.84, 15.59",\
                 "0.3902, 0.5254, 0.9366, 1.61, 2.623, 4.108, 6.133, 8.702, 11.84, 15.6",\
                 "0.3888, 0.525, 0.9366, 1.611, 2.623, 4.108, 6.132, 8.7, 11.84, 15.6",\
                 "0.3966, 0.5316, 0.9418, 1.613, 2.625, 4.109, 6.135, 8.698, 11.84, 15.59",\
                 "0.426, 0.564, 0.9776, 1.641, 2.643, 4.116, 6.13, 8.703, 11.84, 15.59",\
                 "0.4512, 0.5944, 1.012, 1.683, 2.682, 4.142, 6.144, 8.705, 11.84, 15.6",\
                 "0.4828, 0.6266, 1.049, 1.73, 2.718, 4.168, 6.161, 8.716, 11.85, 15.59",\
                 "0.5234, 0.67, 1.097, 1.784, 2.766, 4.198, 6.178, 8.73, 11.86, 15.6",\
                 "0.576, 0.72, 1.15, 1.848, 2.83, 4.242, 6.208, 8.738, 11.86, 15.6");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("2.077, 2.214, 2.553, 3.011, 3.56, 4.193, 4.922, 5.764, 6.743, 7.879",\
                 "2.113, 2.251, 2.59, 3.047, 3.597, 4.23, 4.958, 5.801, 6.78, 7.916",\
                 "2.216, 2.354, 2.693, 3.151, 3.7, 4.333, 5.061, 5.904, 6.883, 8.019",\
                 "2.373, 2.51, 2.849, 3.307, 3.856, 4.489, 5.217, 6.06, 7.039, 8.175",\
                 "2.615, 2.752, 3.089, 3.546, 4.095, 4.728, 5.456, 6.299, 7.278, 8.414",\
                 "2.964, 3.102, 3.439, 3.896, 4.445, 5.078, 5.807, 6.65, 7.628, 8.764",\
                 "3.381, 3.522, 3.864, 4.33, 4.891, 5.533, 6.267, 7.113, 8.092, 9.229",\
                 "3.868, 4.014, 4.367, 4.838, 5.41, 6.068, 6.816, 7.67, 8.653, 9.792",\
                 "4.428, 4.578, 4.943, 5.427, 6.009, 6.68, 7.439, 8.304, 9.297, 10.44",\
                 "5.052, 5.209, 5.588, 6.091, 6.686, 7.374, 8.148, 9.023, 10.02, 11.17");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.697, 1.824, 2.163, 2.672, 3.355, 4.259, 5.429, 6.899, 8.688, 10.82",\
                 "1.725, 1.852, 2.191, 2.7, 3.384, 4.287, 5.457, 6.928, 8.716, 10.85",\
                 "1.81, 1.938, 2.277, 2.786, 3.469, 4.372, 5.543, 7.013, 8.801, 10.93",\
                 "1.972, 2.1, 2.439, 2.947, 3.631, 4.534, 5.704, 7.175, 8.963, 11.09",\
                 "2.233, 2.36, 2.697, 3.206, 3.888, 4.79, 5.96, 7.43, 9.219, 11.35",\
                 "2.545, 2.675, 3.018, 3.527, 4.208, 5.108, 6.276, 7.745, 9.531, 11.66",\
                 "2.821, 2.957, 3.308, 3.829, 4.516, 5.417, 6.583, 8.05, 9.836, 11.96",\
                 "3.061, 3.203, 3.564, 4.095, 4.79, 5.693, 6.859, 8.324, 10.11, 12.23",\
                 "3.264, 3.413, 3.786, 4.329, 5.032, 5.937, 7.101, 8.566, 10.35, 12.48",\
                 "3.431, 3.587, 3.974, 4.532, 5.244, 6.154, 7.318, 8.78, 10.56, 12.69");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.528, 0.6624, 0.9832, 1.425, 1.992, 2.709, 3.633, 4.812, 6.289, 8.094",\
                 "0.5294, 0.663, 0.9826, 1.425, 1.992, 2.709, 3.633, 4.811, 6.287, 8.102",\
                 "0.528, 0.663, 0.982, 1.425, 1.992, 2.708, 3.633, 4.812, 6.291, 8.104",\
                 "0.5304, 0.663, 0.982, 1.425, 1.992, 2.709, 3.633, 4.812, 6.291, 8.105",\
                 "0.5266, 0.6604, 0.9808, 1.423, 1.991, 2.708, 3.633, 4.81, 6.292, 8.099",\
                 "0.5434, 0.6752, 0.9922, 1.434, 2, 2.714, 3.636, 4.813, 6.289, 8.106",\
                 "0.5794, 0.712, 1.03, 1.48, 2.049, 2.754, 3.664, 4.832, 6.302, 8.11",\
                 "0.6186, 0.755, 1.073, 1.523, 2.11, 2.826, 3.728, 4.878, 6.328, 8.122",\
                 "0.668, 0.81, 1.132, 1.58, 2.172, 2.894, 3.794, 4.94, 6.38, 8.166",\
                 "0.726, 0.872, 1.21, 1.66, 2.248, 2.976, 3.872, 5.006, 6.436, 8.204");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3902, 0.526, 0.931, 1.598, 2.614, 4.106, 6.134, 8.706, 11.85, 15.6",\
                 "0.3914, 0.5246, 0.9308, 1.598, 2.614, 4.106, 6.136, 8.702, 11.85, 15.6",\
                 "0.3916, 0.526, 0.9318, 1.599, 2.614, 4.106, 6.135, 8.703, 11.85, 15.6",\
                 "0.3902, 0.526, 0.9302, 1.599, 2.614, 4.106, 6.136, 8.704, 11.84, 15.6",\
                 "0.3898, 0.5252, 0.9314, 1.6, 2.615, 4.105, 6.132, 8.699, 11.84, 15.58",\
                 "0.4192, 0.5512, 0.9544, 1.611, 2.623, 4.108, 6.131, 8.706, 11.85, 15.58",\
                 "0.4596, 0.592, 0.9948, 1.655, 2.652, 4.123, 6.139, 8.705, 11.84, 15.6",\
                 "0.504, 0.6394, 1.04, 1.702, 2.687, 4.145, 6.154, 8.714, 11.84, 15.6",\
                 "0.552, 0.688, 1.09, 1.752, 2.724, 4.168, 6.162, 8.718, 11.85, 15.59",\
                 "0.606, 0.746, 1.148, 1.81, 2.774, 4.196, 6.178, 8.728, 11.86, 15.6");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("2.222, 2.363, 2.705, 3.159, 3.699, 4.317, 5.03, 5.86, 6.829, 7.96",\
                 "2.249, 2.391, 2.733, 3.187, 3.726, 4.344, 5.058, 5.887, 6.856, 7.987",\
                 "2.348, 2.489, 2.832, 3.286, 3.825, 4.443, 5.156, 5.985, 6.954, 8.085",\
                 "2.555, 2.696, 3.039, 3.493, 4.032, 4.65, 5.363, 6.193, 7.161, 8.292",\
                 "2.908, 3.049, 3.391, 3.845, 4.384, 5.002, 5.715, 6.544, 7.513, 8.644",\
                 "3.432, 3.573, 3.914, 4.367, 4.905, 5.523, 6.236, 7.065, 8.034, 9.164",\
                 "4.085, 4.232, 4.583, 5.042, 5.583, 6.203, 6.917, 7.747, 8.716, 9.845",\
                 "4.809, 4.962, 5.331, 5.81, 6.369, 7, 7.719, 8.551, 9.52, 10.65",\
                 "5.618, 5.778, 6.163, 6.663, 7.237, 7.884, 8.616, 9.454, 10.43, 11.56",\
                 "6.524, 6.69, 7.092, 7.609, 8.204, 8.865, 9.608, 10.45, 11.43, 12.56");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.697, 1.824, 2.163, 2.672, 3.355, 4.259, 5.429, 6.899, 8.688, 10.82",\
                 "1.725, 1.852, 2.191, 2.7, 3.384, 4.287, 5.457, 6.928, 8.716, 10.85",\
                 "1.81, 1.938, 2.277, 2.786, 3.469, 4.372, 5.543, 7.013, 8.801, 10.93",\
                 "1.972, 2.1, 2.439, 2.947, 3.631, 4.534, 5.704, 7.175, 8.963, 11.09",\
                 "2.233, 2.36, 2.697, 3.206, 3.888, 4.79, 5.96, 7.43, 9.219, 11.35",\
                 "2.545, 2.675, 3.018, 3.527, 4.208, 5.108, 6.276, 7.745, 9.531, 11.66",\
                 "2.821, 2.957, 3.308, 3.829, 4.516, 5.417, 6.583, 8.05, 9.836, 11.96",\
                 "3.061, 3.203, 3.564, 4.095, 4.79, 5.693, 6.859, 8.324, 10.11, 12.23",\
                 "3.264, 3.413, 3.786, 4.329, 5.032, 5.937, 7.101, 8.566, 10.35, 12.48",\
                 "3.431, 3.587, 3.974, 4.532, 5.244, 6.154, 7.318, 8.78, 10.56, 12.69");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.528, 0.6624, 0.9832, 1.425, 1.992, 2.709, 3.633, 4.812, 6.289, 8.094",\
                 "0.5294, 0.663, 0.9826, 1.425, 1.992, 2.709, 3.633, 4.811, 6.287, 8.102",\
                 "0.528, 0.663, 0.982, 1.425, 1.992, 2.708, 3.633, 4.812, 6.291, 8.104",\
                 "0.5304, 0.663, 0.982, 1.425, 1.992, 2.709, 3.633, 4.812, 6.291, 8.105",\
                 "0.5266, 0.6604, 0.9808, 1.423, 1.991, 2.708, 3.633, 4.81, 6.292, 8.099",\
                 "0.5434, 0.6752, 0.9922, 1.434, 2, 2.714, 3.636, 4.813, 6.289, 8.106",\
                 "0.5794, 0.712, 1.03, 1.48, 2.049, 2.754, 3.664, 4.832, 6.302, 8.11",\
                 "0.6186, 0.755, 1.073, 1.523, 2.11, 2.826, 3.728, 4.878, 6.328, 8.122",\
                 "0.668, 0.81, 1.132, 1.58, 2.172, 2.894, 3.794, 4.94, 6.38, 8.166",\
                 "0.726, 0.872, 1.21, 1.66, 2.248, 2.976, 3.872, 5.006, 6.436, 8.204");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3902, 0.526, 0.931, 1.598, 2.614, 4.106, 6.134, 8.706, 11.85, 15.6",\
                 "0.3914, 0.5246, 0.9308, 1.598, 2.614, 4.106, 6.136, 8.702, 11.85, 15.6",\
                 "0.3916, 0.526, 0.9318, 1.599, 2.614, 4.106, 6.135, 8.703, 11.85, 15.6",\
                 "0.3902, 0.526, 0.9302, 1.599, 2.614, 4.106, 6.136, 8.704, 11.84, 15.6",\
                 "0.3898, 0.5252, 0.9314, 1.6, 2.615, 4.105, 6.132, 8.699, 11.84, 15.58",\
                 "0.4192, 0.5512, 0.9544, 1.611, 2.623, 4.108, 6.131, 8.706, 11.85, 15.58",\
                 "0.4596, 0.592, 0.9948, 1.655, 2.652, 4.123, 6.139, 8.705, 11.84, 15.6",\
                 "0.504, 0.6394, 1.04, 1.702, 2.687, 4.145, 6.154, 8.714, 11.84, 15.6",\
                 "0.552, 0.688, 1.09, 1.752, 2.724, 4.168, 6.162, 8.718, 11.85, 15.59",\
                 "0.606, 0.746, 1.148, 1.81, 2.774, 4.196, 6.178, 8.728, 11.86, 15.6");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("2.017, 2.155, 2.489, 2.936, 3.471, 4.088, 4.801, 5.631, 6.601, 7.731",\
                 "2.05, 2.188, 2.523, 2.97, 3.505, 4.121, 4.835, 5.665, 6.635, 7.765",\
                 "2.158, 2.295, 2.63, 3.077, 3.612, 4.228, 4.942, 5.772, 6.742, 7.872",\
                 "2.374, 2.511, 2.845, 3.292, 3.828, 4.444, 5.157, 5.988, 6.957, 8.088",\
                 "2.732, 2.87, 3.204, 3.651, 4.185, 4.802, 5.515, 6.345, 7.315, 8.445",\
                 "3.255, 3.393, 3.726, 4.172, 4.706, 5.322, 6.036, 6.866, 7.836, 8.966",\
                 "3.885, 4.029, 4.375, 4.829, 5.367, 5.986, 6.701, 7.531, 8.501, 9.631",\
                 "4.574, 4.725, 5.089, 5.562, 6.115, 6.748, 7.469, 8.303, 9.274, 10.4",\
                 "5.336, 5.495, 5.876, 6.368, 6.939, 7.587, 8.32, 9.161, 10.14, 11.27",\
                 "6.183, 6.348, 6.744, 7.256, 7.846, 8.51, 9.255, 10.1, 11.08, 12.22");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.507, 1.636, 1.978, 2.493, 3.181, 4.087, 5.257, 6.727, 8.515, 10.64",\
                 "1.534, 1.662, 2.004, 2.519, 3.208, 4.113, 5.284, 6.754, 8.542, 10.67",\
                 "1.62, 1.749, 2.091, 2.606, 3.294, 4.2, 5.37, 6.84, 8.628, 10.76",\
                 "1.785, 1.914, 2.256, 2.77, 3.459, 4.364, 5.534, 7.005, 8.792, 10.92",\
                 "2.044, 2.172, 2.513, 3.026, 3.713, 4.617, 5.787, 7.257, 9.045, 11.17",\
                 "2.323, 2.457, 2.804, 3.321, 4.009, 4.911, 6.079, 7.547, 9.334, 11.46",\
                 "2.558, 2.698, 3.055, 3.584, 4.278, 5.183, 6.349, 7.816, 9.601, 11.73",\
                 "2.749, 2.896, 3.265, 3.805, 4.509, 5.416, 6.582, 8.046, 9.831, 11.96",\
                 "2.894, 3.047, 3.431, 3.984, 4.696, 5.606, 6.771, 8.235, 10.02, 12.14",\
                 "2.984, 3.146, 3.546, 4.116, 4.841, 5.756, 6.922, 8.383, 10.16, 12.29");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.5348, 0.6656, 0.971, 1.395, 1.945, 2.65, 3.572, 4.755, 6.246, 8.072",\
                 "0.5348, 0.6662, 0.971, 1.395, 1.944, 2.651, 3.572, 4.754, 6.243, 8.067",\
                 "0.5358, 0.6668, 0.971, 1.398, 1.944, 2.65, 3.572, 4.755, 6.244, 8.068",\
                 "0.5356, 0.666, 0.972, 1.396, 1.944, 2.65, 3.572, 4.755, 6.246, 8.064",\
                 "0.5352, 0.6658, 0.9716, 1.398, 1.945, 2.651, 3.572, 4.756, 6.245, 8.067",\
                 "0.5442, 0.6738, 0.9784, 1.402, 1.951, 2.655, 3.575, 4.757, 6.243, 8.069",\
                 "0.6072, 0.7388, 1.039, 1.448, 1.985, 2.679, 3.59, 4.768, 6.252, 8.078",\
                 "0.6696, 0.8096, 1.123, 1.532, 2.064, 2.744, 3.636, 4.796, 6.266, 8.074",\
                 "0.734, 0.878, 1.206, 1.622, 2.148, 2.822, 3.7, 4.844, 6.3, 8.104",\
                 "0.798, 0.95, 1.296, 1.716, 2.242, 2.906, 3.77, 4.896, 6.336, 8.122");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3898, 0.5254, 0.9372, 1.609, 2.622, 4.108, 6.128, 8.701, 11.84, 15.6",\
                 "0.3888, 0.5256, 0.9358, 1.608, 2.623, 4.108, 6.13, 8.702, 11.84, 15.58",\
                 "0.3896, 0.5252, 0.9388, 1.607, 2.622, 4.108, 6.133, 8.699, 11.84, 15.6",\
                 "0.3888, 0.5256, 0.9388, 1.61, 2.624, 4.108, 6.132, 8.698, 11.84, 15.6",\
                 "0.3916, 0.5288, 0.9394, 1.61, 2.625, 4.109, 6.135, 8.702, 11.84, 15.59",\
                 "0.4282, 0.5628, 0.9696, 1.634, 2.638, 4.114, 6.134, 8.702, 11.83, 15.58",\
                 "0.4724, 0.6072, 1.014, 1.679, 2.672, 4.132, 6.137, 8.704, 11.84, 15.6",\
                 "0.5208, 0.6574, 1.063, 1.729, 2.71, 4.158, 6.154, 8.71, 11.84, 15.59",\
                 "0.5752, 0.7144, 1.12, 1.786, 2.754, 4.184, 6.168, 8.718, 11.85, 15.58",\
                 "0.634, 0.778, 1.186, 1.856, 2.812, 4.22, 6.186, 8.726, 11.85, 15.59");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.944, 2.082, 2.425, 2.887, 3.439, 4.073, 4.802, 5.645, 6.624, 7.76",\
                 "1.978, 2.116, 2.459, 2.921, 3.473, 4.107, 4.836, 5.679, 6.658, 7.794",\
                 "2.085, 2.223, 2.566, 3.028, 3.579, 4.214, 4.943, 5.786, 6.765, 7.901",\
                 "2.301, 2.439, 2.782, 3.244, 3.795, 4.429, 5.158, 6.002, 6.98, 8.117",\
                 "2.661, 2.799, 3.141, 3.603, 4.154, 4.789, 5.518, 6.361, 7.34, 8.476",\
                 "3.184, 3.321, 3.663, 4.124, 4.675, 5.309, 6.038, 6.881, 7.859, 8.996",\
                 "3.805, 3.95, 4.304, 4.775, 5.332, 5.97, 6.701, 7.545, 8.523, 9.659",\
                 "4.486, 4.637, 5.01, 5.502, 6.075, 6.728, 7.466, 8.315, 9.295, 10.43",\
                 "5.241, 5.4, 5.79, 6.302, 6.894, 7.562, 8.314, 9.17, 10.16, 11.29",\
                 "6.08, 6.245, 6.652, 7.185, 7.797, 8.482, 9.248, 10.11, 11.1, 12.25");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.569, 1.696, 2.034, 2.543, 3.227, 4.131, 5.3, 6.77, 8.559, 10.69",\
                 "1.596, 1.722, 2.061, 2.57, 3.254, 4.157, 5.327, 6.797, 8.585, 10.71",\
                 "1.682, 1.809, 2.147, 2.656, 3.34, 4.244, 5.413, 6.883, 8.672, 10.8",\
                 "1.847, 1.974, 2.312, 2.821, 3.504, 4.408, 5.577, 7.047, 8.836, 10.96",\
                 "2.107, 2.234, 2.571, 3.078, 3.761, 4.663, 5.832, 7.302, 9.09, 11.22",\
                 "2.399, 2.529, 2.871, 3.382, 4.064, 4.964, 6.132, 7.6, 9.387, 11.51",\
                 "2.645, 2.781, 3.134, 3.655, 4.344, 5.245, 6.41, 7.877, 9.662, 11.79",\
                 "2.846, 2.989, 3.352, 3.884, 4.58, 5.484, 6.65, 8.114, 9.898, 12.02",\
                 "3.001, 3.151, 3.526, 4.072, 4.775, 5.68, 6.845, 8.308, 10.09, 12.22",\
                 "3.101, 3.259, 3.651, 4.211, 4.926, 5.836, 6.999, 8.461, 10.24, 12.36");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.5304, 0.6672, 0.9958, 1.435, 1.999, 2.714, 3.636, 4.814, 6.292, 8.1",\
                 "0.5294, 0.6662, 0.9948, 1.435, 1.999, 2.713, 3.636, 4.814, 6.292, 8.103",\
                 "0.5294, 0.6664, 0.9952, 1.435, 1.999, 2.714, 3.636, 4.814, 6.292, 8.106",\
                 "0.53, 0.6666, 0.9956, 1.436, 1.999, 2.713, 3.636, 4.815, 6.293, 8.097",\
                 "0.53, 0.6664, 0.9958, 1.436, 1.999, 2.714, 3.636, 4.815, 6.293, 8.097",\
                 "0.5408, 0.6778, 1.006, 1.444, 2.007, 2.72, 3.64, 4.816, 6.293, 8.104",\
                 "0.6066, 0.7444, 1.071, 1.496, 2.045, 2.749, 3.658, 4.828, 6.3, 8.11",\
                 "0.6696, 0.8164, 1.158, 1.586, 2.13, 2.816, 3.708, 4.858, 6.318, 8.12",\
                 "0.73, 0.884, 1.244, 1.678, 2.22, 2.902, 3.78, 4.916, 6.36, 8.144",\
                 "0.798, 0.96, 1.332, 1.778, 2.316, 2.994, 3.858, 4.976, 6.4, 8.164");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3862, 0.5208, 0.9262, 1.594, 2.611, 4.103, 6.132, 8.7, 11.84, 15.58",\
                 "0.3862, 0.5212, 0.9262, 1.594, 2.611, 4.102, 6.133, 8.698, 11.84, 15.59",\
                 "0.3846, 0.5202, 0.9268, 1.595, 2.611, 4.103, 6.13, 8.698, 11.83, 15.6",\
                 "0.3848, 0.52, 0.9266, 1.594, 2.611, 4.102, 6.131, 8.7, 11.83, 15.59",\
                 "0.3864, 0.52, 0.93, 1.596, 2.613, 4.103, 6.131, 8.7, 11.84, 15.59",\
                 "0.4192, 0.5518, 0.9566, 1.617, 2.623, 4.108, 6.135, 8.701, 11.84, 15.59",\
                 "0.4616, 0.597, 0.9996, 1.66, 2.654, 4.123, 6.137, 8.7, 11.84, 15.57",\
                 "0.5078, 0.6438, 1.045, 1.708, 2.689, 4.146, 6.15, 8.706, 11.84, 15.59",\
                 "0.5598, 0.696, 1.098, 1.758, 2.73, 4.17, 6.16, 8.714, 11.85, 15.59",\
                 "0.618, 0.758, 1.16, 1.822, 2.782, 4.2, 6.176, 8.724, 11.85, 15.59");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.944, 2.082, 2.425, 2.887, 3.439, 4.073, 4.802, 5.645, 6.624, 7.76",\
                 "1.978, 2.116, 2.459, 2.921, 3.473, 4.107, 4.836, 5.679, 6.658, 7.794",\
                 "2.085, 2.223, 2.566, 3.028, 3.579, 4.214, 4.943, 5.786, 6.765, 7.901",\
                 "2.301, 2.439, 2.782, 3.244, 3.795, 4.429, 5.158, 6.002, 6.98, 8.117",\
                 "2.661, 2.799, 3.141, 3.603, 4.154, 4.789, 5.518, 6.361, 7.34, 8.476",\
                 "3.184, 3.321, 3.663, 4.124, 4.675, 5.309, 6.038, 6.881, 7.859, 8.996",\
                 "3.805, 3.95, 4.304, 4.775, 5.332, 5.97, 6.701, 7.545, 8.523, 9.659",\
                 "4.486, 4.637, 5.01, 5.502, 6.075, 6.728, 7.466, 8.315, 9.295, 10.43",\
                 "5.241, 5.4, 5.79, 6.302, 6.894, 7.562, 8.314, 9.17, 10.16, 11.29",\
                 "6.08, 6.245, 6.652, 7.185, 7.797, 8.482, 9.248, 10.11, 11.1, 12.25");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("1.569, 1.696, 2.034, 2.543, 3.227, 4.131, 5.3, 6.77, 8.559, 10.69",\
                 "1.596, 1.722, 2.061, 2.57, 3.254, 4.157, 5.327, 6.797, 8.585, 10.71",\
                 "1.682, 1.809, 2.147, 2.656, 3.34, 4.244, 5.413, 6.883, 8.672, 10.8",\
                 "1.847, 1.974, 2.312, 2.821, 3.504, 4.408, 5.577, 7.047, 8.836, 10.96",\
                 "2.107, 2.234, 2.571, 3.078, 3.761, 4.663, 5.832, 7.302, 9.09, 11.22",\
                 "2.399, 2.529, 2.871, 3.382, 4.064, 4.964, 6.132, 7.6, 9.387, 11.51",\
                 "2.645, 2.781, 3.134, 3.655, 4.344, 5.245, 6.41, 7.877, 9.662, 11.79",\
                 "2.846, 2.989, 3.352, 3.884, 4.58, 5.484, 6.65, 8.114, 9.898, 12.02",\
                 "3.001, 3.151, 3.526, 4.072, 4.775, 5.68, 6.845, 8.308, 10.09, 12.22",\
                 "3.101, 3.259, 3.651, 4.211, 4.926, 5.836, 6.999, 8.461, 10.24, 12.36");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.5304, 0.6672, 0.9958, 1.435, 1.999, 2.714, 3.636, 4.814, 6.292, 8.1",\
                 "0.5294, 0.6662, 0.9948, 1.435, 1.999, 2.713, 3.636, 4.814, 6.292, 8.103",\
                 "0.5294, 0.6664, 0.9952, 1.435, 1.999, 2.714, 3.636, 4.814, 6.292, 8.106",\
                 "0.53, 0.6666, 0.9956, 1.436, 1.999, 2.713, 3.636, 4.815, 6.293, 8.097",\
                 "0.53, 0.6664, 0.9958, 1.436, 1.999, 2.714, 3.636, 4.815, 6.293, 8.097",\
                 "0.5408, 0.6778, 1.006, 1.444, 2.007, 2.72, 3.64, 4.816, 6.293, 8.104",\
                 "0.6066, 0.7444, 1.071, 1.496, 2.045, 2.749, 3.658, 4.828, 6.3, 8.11",\
                 "0.6696, 0.8164, 1.158, 1.586, 2.13, 2.816, 3.708, 4.858, 6.318, 8.12",\
                 "0.73, 0.884, 1.244, 1.678, 2.22, 2.902, 3.78, 4.916, 6.36, 8.144",\
                 "0.798, 0.96, 1.332, 1.778, 2.316, 2.994, 3.858, 4.976, 6.4, 8.164");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.01069, 0.04471, 0.1097, 0.2109, 0.3529, 0.5398, 0.7752, 1.063, 1.405");
          values("0.3898, 0.5254, 0.9372, 1.609, 2.622, 4.108, 6.128, 8.701, 11.84, 15.6",\
                 "0.3888, 0.5256, 0.9358, 1.608, 2.623, 4.108, 6.13, 8.702, 11.84, 15.58",\
                 "0.3896, 0.5252, 0.9388, 1.607, 2.622, 4.108, 6.133, 8.699, 11.84, 15.6",\
                 "0.3888, 0.5256, 0.9388, 1.61, 2.624, 4.108, 6.132, 8.698, 11.84, 15.6",\
                 "0.3916, 0.5288, 0.9394, 1.61, 2.625, 4.109, 6.135, 8.702, 11.84, 15.59",\
                 "0.4282, 0.5628, 0.9696, 1.634, 2.638, 4.114, 6.134, 8.702, 11.83, 15.58",\
                 "0.4724, 0.6072, 1.014, 1.679, 2.672, 4.132, 6.137, 8.704, 11.84, 15.6",\
                 "0.5208, 0.6574, 1.063, 1.729, 2.71, 4.158, 6.154, 8.71, 11.84, 15.59",\
                 "0.5752, 0.7144, 1.12, 1.786, 2.754, 4.184, 6.168, 8.718, 11.85, 15.58",\
                 "0.634, 0.778, 1.186, 1.856, 2.812, 4.22, 6.186, 8.726, 11.85, 15.59");
        }
      }
    }

    pin(S) {
      direction : output ;
      function : "(A^B^CI)" ;
      max_capacitance : 1.257 ;
      max_transition : 15.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4316, 0.4125, 0.3677, 0.3217, 0.2906, 0.2707, 0.2569, 0.2472, 0.2402, 0.2349",\
                 "0.4304, 0.4113, 0.3666, 0.3204, 0.2895, 0.2693, 0.2556, 0.246, 0.239, 0.2337",\
                 "0.4298, 0.4108, 0.3659, 0.3198, 0.2888, 0.2687, 0.255, 0.2453, 0.2383, 0.2331",\
                 "0.4295, 0.4105, 0.3656, 0.3194, 0.2884, 0.2683, 0.2548, 0.2451, 0.238, 0.2328",\
                 "0.4303, 0.4113, 0.3665, 0.3202, 0.2892, 0.2693, 0.2555, 0.2459, 0.2389, 0.2336",\
                 "0.4357, 0.4167, 0.3717, 0.3253, 0.2938, 0.2737, 0.2598, 0.25, 0.2428, 0.2373",\
                 "0.4516, 0.4323, 0.3864, 0.3384, 0.3053, 0.2841, 0.2694, 0.259, 0.2513, 0.2453",\
                 "0.4757, 0.456, 0.4087, 0.3587, 0.3232, 0.3002, 0.2844, 0.2729, 0.2645, 0.2575",\
                 "0.5062, 0.4863, 0.4375, 0.3848, 0.3468, 0.3215, 0.3042, 0.2915, 0.2815, 0.2724",\
                 "0.5454, 0.5248, 0.4746, 0.4188, 0.3773, 0.3492, 0.3293, 0.3141, 0.3005, 0.287");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.1526, 0.1425, 0.13, 0.1219, 0.1185, 0.1175, 0.1188, 0.1274, 0.2305, 0.6807",\
                 "0.1523, 0.1421, 0.1297, 0.1219, 0.1179, 0.1172, 0.1182, 0.1277, 0.2358, 0.6894",\
                 "0.1519, 0.1417, 0.1294, 0.1215, 0.1177, 0.1167, 0.117, 0.1292, 0.2403, 0.7203",\
                 "0.1519, 0.1418, 0.1294, 0.121, 0.1175, 0.1164, 0.1179, 0.1305, 0.257, 0.7767",\
                 "0.1581, 0.1477, 0.134, 0.1246, 0.1199, 0.1184, 0.1182, 0.1351, 0.2885, 0.8757",\
                 "0.1716, 0.1596, 0.1436, 0.1333, 0.1267, 0.1236, 0.1232, 0.1486, 0.3441, 1.028",\
                 "0.1904, 0.1771, 0.1583, 0.1447, 0.1369, 0.133, 0.1312, 0.1701, 0.4333, 1.25",\
                 "0.216, 0.2008, 0.1791, 0.1622, 0.1513, 0.1453, 0.147, 0.2132, 0.5839, 1.555",\
                 "0.2485, 0.2312, 0.2058, 0.1866, 0.1714, 0.1631, 0.169, 0.2934, 0.839, 1.965",\
                 "0.2882, 0.2691, 0.2397, 0.2166, 0.1987, 0.1858, 0.2071, 0.4578, 1.241, 2.451");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "!B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2483, 0.232, 0.1982, 0.1705, 0.1547, 0.1446, 0.1384, 0.134, 0.1309, 0.1287",\
                 "0.2479, 0.232, 0.198, 0.1704, 0.1543, 0.1445, 0.138, 0.1336, 0.1305, 0.1282",\
                 "0.2473, 0.2312, 0.1974, 0.17, 0.154, 0.1441, 0.1376, 0.1331, 0.13, 0.1278",\
                 "0.2474, 0.2314, 0.1974, 0.1698, 0.1538, 0.144, 0.1374, 0.133, 0.13, 0.1276",\
                 "0.2498, 0.2337, 0.1998, 0.1721, 0.1561, 0.1464, 0.1398, 0.1354, 0.1323, 0.13",\
                 "0.2564, 0.2406, 0.2061, 0.1786, 0.1625, 0.1526, 0.1461, 0.1417, 0.1385, 0.1362",\
                 "0.2657, 0.2496, 0.2153, 0.1872, 0.1712, 0.1607, 0.1543, 0.1498, 0.1468, 0.1443",\
                 "0.2786, 0.2622, 0.2278, 0.1998, 0.183, 0.1728, 0.1657, 0.1611, 0.1578, 0.155",\
                 "0.2954, 0.279, 0.2443, 0.2156, 0.199, 0.1882, 0.1816, 0.1767, 0.1731, 0.1696",\
                 "0.3165, 0.2996, 0.2645, 0.2349, 0.2178, 0.2067, 0.1997, 0.1948, 0.1905, 0.1851");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2891, 0.2763, 0.2586, 0.2459, 0.2373, 0.2332, 0.2311, 0.2561, 0.4489, 1.131",\
                 "0.2886, 0.2758, 0.2583, 0.2453, 0.2368, 0.2319, 0.231, 0.2565, 0.4542, 1.144",\
                 "0.2884, 0.2755, 0.2581, 0.2451, 0.2367, 0.2319, 0.2306, 0.2592, 0.47, 1.19",\
                 "0.2883, 0.2754, 0.2582, 0.245, 0.2367, 0.2321, 0.2308, 0.2652, 0.5056, 1.283",\
                 "0.2897, 0.2767, 0.2593, 0.2464, 0.2381, 0.2332, 0.2329, 0.2797, 0.5741, 1.44",\
                 "0.2956, 0.2828, 0.2653, 0.2526, 0.2441, 0.2393, 0.2409, 0.3128, 0.701, 1.687",\
                 "0.3078, 0.2947, 0.277, 0.2638, 0.2552, 0.2499, 0.2575, 0.3814, 0.9258, 2.053",\
                 "0.3242, 0.311, 0.2926, 0.2792, 0.2698, 0.2653, 0.2901, 0.5297, 1.3, 2.514",\
                 "0.345, 0.3308, 0.3125, 0.2977, 0.2884, 0.2875, 0.3784, 0.8598, 1.844, 2.948",\
                 "0.37, 0.356, 0.3368, 0.3213, 0.3112, 0.3458, 0.6779, 1.468, 2.353, 3.054");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.25, 0.2346, 0.2014, 0.1735, 0.1578, 0.1478, 0.1413, 0.1367, 0.1334, 0.1311",\
                 "0.2499, 0.2343, 0.2012, 0.1736, 0.1578, 0.1479, 0.1412, 0.1367, 0.1335, 0.1311",\
                 "0.2496, 0.2342, 0.2007, 0.1731, 0.1573, 0.1474, 0.1408, 0.1362, 0.1329, 0.1305",\
                 "0.2497, 0.2343, 0.2006, 0.1731, 0.1574, 0.1474, 0.1408, 0.1363, 0.133, 0.1306",\
                 "0.2523, 0.2369, 0.2032, 0.1757, 0.1596, 0.1497, 0.1431, 0.1385, 0.1353, 0.1328",\
                 "0.2588, 0.2434, 0.2099, 0.1822, 0.1662, 0.1562, 0.1496, 0.145, 0.1417, 0.1393",\
                 "0.2682, 0.2528, 0.2189, 0.191, 0.1748, 0.1648, 0.1581, 0.1534, 0.1499, 0.1472",\
                 "0.281, 0.2654, 0.2313, 0.2031, 0.1865, 0.1762, 0.1694, 0.1646, 0.1613, 0.1584",\
                 "0.2977, 0.2819, 0.2476, 0.2189, 0.2018, 0.1913, 0.1842, 0.1797, 0.176, 0.1723",\
                 "0.3183, 0.3023, 0.2673, 0.2379, 0.2207, 0.2099, 0.2026, 0.1974, 0.1929, 0.1873");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2821, 0.2697, 0.253, 0.2409, 0.2332, 0.2292, 0.228, 0.2532, 0.4442, 1.125",\
                 "0.282, 0.2693, 0.2528, 0.2406, 0.2331, 0.2288, 0.2279, 0.253, 0.4503, 1.14",\
                 "0.2818, 0.2693, 0.2527, 0.2409, 0.2332, 0.2285, 0.2282, 0.2564, 0.4676, 1.188",\
                 "0.2816, 0.2692, 0.2526, 0.2404, 0.2333, 0.2283, 0.2283, 0.2624, 0.5044, 1.28",\
                 "0.2826, 0.27, 0.2535, 0.2417, 0.234, 0.2301, 0.2298, 0.2766, 0.5711, 1.436",\
                 "0.2883, 0.2758, 0.2589, 0.2473, 0.2396, 0.2354, 0.2376, 0.3089, 0.6968, 1.686",\
                 "0.3, 0.2871, 0.2705, 0.2578, 0.25, 0.2459, 0.2533, 0.3761, 0.9194, 2.044",\
                 "0.3159, 0.303, 0.2855, 0.2728, 0.2644, 0.2602, 0.2853, 0.5221, 1.288, 2.502",\
                 "0.3361, 0.3226, 0.3052, 0.2905, 0.2822, 0.2821, 0.3706, 0.8471, 1.829, 2.938",\
                 "0.3613, 0.3475, 0.3294, 0.3146, 0.3054, 0.3394, 0.6636, 1.451, 2.344, 3.055");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.3396, 0.324, 0.2907, 0.2636, 0.2481, 0.2383, 0.232, 0.2276, 0.2245, 0.2223",\
                 "0.3391, 0.3235, 0.2902, 0.2633, 0.2477, 0.2379, 0.2315, 0.2272, 0.2241, 0.2218",\
                 "0.339, 0.3233, 0.2899, 0.2629, 0.2473, 0.2376, 0.2312, 0.2269, 0.2238, 0.2215",\
                 "0.3388, 0.3231, 0.2897, 0.2628, 0.2472, 0.2374, 0.2311, 0.2267, 0.2236, 0.2214",\
                 "0.3401, 0.3245, 0.291, 0.2637, 0.2481, 0.2384, 0.232, 0.2276, 0.2246, 0.2223",\
                 "0.351, 0.3351, 0.3003, 0.2716, 0.2546, 0.2439, 0.2369, 0.2321, 0.2287, 0.2263",\
                 "0.3726, 0.3559, 0.3189, 0.2868, 0.2676, 0.2552, 0.2469, 0.2413, 0.2373, 0.2343",\
                 "0.4005, 0.3831, 0.3438, 0.3079, 0.2856, 0.2711, 0.2615, 0.2549, 0.2502, 0.2465",\
                 "0.4363, 0.4182, 0.3763, 0.3364, 0.3103, 0.2935, 0.282, 0.274, 0.2681, 0.2628",\
                 "0.4809, 0.462, 0.4172, 0.3727, 0.3424, 0.3224, 0.3083, 0.2984, 0.29, 0.2809");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.1862, 0.171, 0.1503, 0.1367, 0.1281, 0.1235, 0.1215, 0.134, 0.2527, 0.7553",\
                 "0.1858, 0.1707, 0.1499, 0.1363, 0.1271, 0.1231, 0.1221, 0.1326, 0.255, 0.7655",\
                 "0.1848, 0.1697, 0.1489, 0.1352, 0.1267, 0.1225, 0.1206, 0.1327, 0.2621, 0.7919",\
                 "0.1844, 0.1692, 0.1484, 0.1346, 0.1255, 0.122, 0.12, 0.1348, 0.279, 0.8481",\
                 "0.1876, 0.1723, 0.1514, 0.137, 0.1276, 0.1227, 0.1221, 0.141, 0.3111, 0.9431",\
                 "0.1989, 0.1829, 0.1603, 0.1454, 0.1347, 0.1288, 0.1269, 0.1543, 0.3695, 1.097",\
                 "0.2153, 0.1983, 0.1737, 0.1565, 0.146, 0.1389, 0.1364, 0.1799, 0.4667, 1.321",\
                 "0.2378, 0.2197, 0.1927, 0.173, 0.1589, 0.1523, 0.1524, 0.2254, 0.6303, 1.637",\
                 "0.2673, 0.2481, 0.2174, 0.1953, 0.1791, 0.1673, 0.176, 0.3167, 0.9043, 2.054",\
                 "0.3031, 0.2827, 0.2487, 0.224, 0.2051, 0.1913, 0.2203, 0.5049, 1.332, 2.536");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4287, 0.4097, 0.3649, 0.3186, 0.2875, 0.2673, 0.2536, 0.244, 0.2369, 0.2316",\
                 "0.4282, 0.4092, 0.3643, 0.3181, 0.2869, 0.2669, 0.2531, 0.2435, 0.2364, 0.2311",\
                 "0.428, 0.409, 0.3642, 0.3179, 0.2868, 0.2666, 0.2529, 0.2433, 0.2362, 0.2309",\
                 "0.4281, 0.4091, 0.364, 0.3178, 0.2867, 0.2665, 0.2529, 0.2432, 0.2361, 0.2308",\
                 "0.4295, 0.4105, 0.3656, 0.3193, 0.288, 0.2679, 0.2541, 0.2445, 0.2374, 0.2321",\
                 "0.4354, 0.4164, 0.3712, 0.3246, 0.2929, 0.2725, 0.2585, 0.2486, 0.2413, 0.2358",\
                 "0.4517, 0.4324, 0.3862, 0.3381, 0.3047, 0.2829, 0.2679, 0.2574, 0.2496, 0.2435",\
                 "0.4762, 0.4566, 0.4087, 0.3582, 0.3222, 0.2983, 0.282, 0.2705, 0.2618, 0.2543",\
                 "0.505, 0.4847, 0.4356, 0.3822, 0.3432, 0.3174, 0.2997, 0.2865, 0.2762, 0.2663",\
                 "0.5384, 0.5176, 0.4668, 0.4106, 0.3685, 0.3403, 0.3201, 0.3038, 0.2891, 0.2752");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.1471, 0.1374, 0.1256, 0.1178, 0.1149, 0.1143, 0.115, 0.1245, 0.2255, 0.6725",\
                 "0.1471, 0.1374, 0.1255, 0.1177, 0.1152, 0.1144, 0.1147, 0.125, 0.2284, 0.6838",\
                 "0.1472, 0.1376, 0.1254, 0.1176, 0.115, 0.1141, 0.115, 0.1262, 0.2363, 0.7113",\
                 "0.1475, 0.1378, 0.1257, 0.1178, 0.1146, 0.1139, 0.115, 0.1282, 0.2536, 0.7688",\
                 "0.1544, 0.1441, 0.1307, 0.122, 0.1178, 0.1156, 0.1168, 0.1336, 0.2833, 0.8659",\
                 "0.1676, 0.1557, 0.1401, 0.1301, 0.124, 0.1211, 0.121, 0.146, 0.338, 1.015",\
                 "0.1858, 0.1723, 0.154, 0.1407, 0.1335, 0.1295, 0.1287, 0.1669, 0.4255, 1.232",\
                 "0.2103, 0.195, 0.1738, 0.158, 0.1464, 0.1407, 0.143, 0.2061, 0.5713, 1.529",\
                 "0.2407, 0.2237, 0.1984, 0.1793, 0.1643, 0.1555, 0.1614, 0.2816, 0.8133, 1.93",\
                 "0.2771, 0.2579, 0.2283, 0.2064, 0.1891, 0.1756, 0.1956, 0.4314, 1.194, 2.402");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2515, 0.2353, 0.2008, 0.1721, 0.1552, 0.1446, 0.1377, 0.133, 0.1296, 0.1272",\
                 "0.2516, 0.2356, 0.201, 0.1723, 0.1555, 0.1449, 0.1379, 0.1331, 0.1298, 0.1274",\
                 "0.2515, 0.2355, 0.201, 0.1722, 0.1554, 0.1448, 0.1376, 0.133, 0.1296, 0.1272",\
                 "0.2513, 0.2354, 0.2008, 0.172, 0.1551, 0.1445, 0.1374, 0.1328, 0.1293, 0.127",\
                 "0.2538, 0.2379, 0.2033, 0.1746, 0.1576, 0.1471, 0.14, 0.1353, 0.1319, 0.1295",\
                 "0.26, 0.2438, 0.2091, 0.18, 0.163, 0.1523, 0.1453, 0.1405, 0.1371, 0.1346",\
                 "0.268, 0.252, 0.217, 0.1882, 0.1712, 0.1604, 0.1533, 0.1485, 0.1451, 0.1424",\
                 "0.2798, 0.2639, 0.2287, 0.1994, 0.182, 0.1712, 0.1638, 0.1593, 0.1559, 0.153",\
                 "0.2958, 0.2793, 0.2438, 0.2144, 0.1971, 0.1861, 0.1789, 0.174, 0.1703, 0.1668",\
                 "0.3147, 0.2982, 0.2623, 0.2327, 0.2149, 0.2042, 0.1969, 0.1917, 0.1874, 0.1821");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2867, 0.2737, 0.256, 0.2433, 0.2349, 0.2298, 0.2289, 0.2539, 0.447, 1.127",\
                 "0.2862, 0.2736, 0.2561, 0.2434, 0.2348, 0.2301, 0.2289, 0.2538, 0.4505, 1.14",\
                 "0.286, 0.273, 0.2556, 0.2426, 0.2342, 0.2291, 0.2285, 0.2573, 0.4681, 1.189",\
                 "0.2859, 0.2728, 0.2555, 0.2426, 0.2343, 0.23, 0.2291, 0.2635, 0.5079, 1.29",\
                 "0.2869, 0.2738, 0.2565, 0.2435, 0.2356, 0.2307, 0.2307, 0.2797, 0.5848, 1.467",\
                 "0.292, 0.2791, 0.2617, 0.2489, 0.2404, 0.2354, 0.2379, 0.3172, 0.7305, 1.75",\
                 "0.3064, 0.2932, 0.2758, 0.2626, 0.2539, 0.2498, 0.2592, 0.404, 1, 2.159",\
                 "0.3263, 0.313, 0.295, 0.2812, 0.2722, 0.2681, 0.3044, 0.5999, 1.442, 2.651",\
                 "0.3495, 0.3359, 0.3166, 0.3026, 0.2932, 0.2964, 0.4335, 1.026, 2.033, 3.036",\
                 "0.3754, 0.3613, 0.3419, 0.3267, 0.318, 0.4032, 0.8802, 1.682, 2.404, 2.933");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2536, 0.2381, 0.2047, 0.1774, 0.1616, 0.1517, 0.1452, 0.1407, 0.1375, 0.1352",\
                 "0.2539, 0.2383, 0.2049, 0.1776, 0.1618, 0.152, 0.1455, 0.141, 0.1378, 0.1355",\
                 "0.2541, 0.2385, 0.205, 0.1777, 0.1619, 0.1522, 0.1457, 0.1412, 0.138, 0.1357",\
                 "0.254, 0.2384, 0.205, 0.1777, 0.162, 0.1522, 0.1457, 0.1413, 0.1381, 0.1358",\
                 "0.2562, 0.2405, 0.2071, 0.1798, 0.164, 0.1542, 0.1477, 0.1432, 0.1401, 0.1377",\
                 "0.2647, 0.2491, 0.2155, 0.1881, 0.1723, 0.1625, 0.1559, 0.1515, 0.1483, 0.1459",\
                 "0.2762, 0.2605, 0.2265, 0.199, 0.1827, 0.1728, 0.1662, 0.1615, 0.1584, 0.1562",\
                 "0.2903, 0.2744, 0.2405, 0.2126, 0.1962, 0.186, 0.1791, 0.1745, 0.1711, 0.1682",\
                 "0.308, 0.292, 0.2577, 0.2294, 0.2125, 0.2021, 0.1954, 0.1906, 0.1867, 0.1827",\
                 "0.3294, 0.3134, 0.2783, 0.2492, 0.2322, 0.2214, 0.2143, 0.209, 0.204, 0.1975");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2822, 0.2694, 0.2523, 0.2396, 0.2312, 0.227, 0.2255, 0.2498, 0.4415, 1.124",\
                 "0.2821, 0.2693, 0.252, 0.2399, 0.2315, 0.227, 0.2256, 0.2513, 0.4474, 1.136",\
                 "0.2816, 0.2687, 0.2518, 0.2389, 0.2313, 0.2264, 0.2252, 0.2534, 0.4651, 1.188",\
                 "0.2813, 0.2685, 0.2514, 0.2391, 0.2309, 0.2265, 0.2255, 0.26, 0.5008, 1.277",\
                 "0.2818, 0.2691, 0.2519, 0.2395, 0.2313, 0.227, 0.2267, 0.2732, 0.5672, 1.431",\
                 "0.2874, 0.2745, 0.2572, 0.2448, 0.2366, 0.2317, 0.2336, 0.3051, 0.6919, 1.677",\
                 "0.2984, 0.2852, 0.2677, 0.2547, 0.2463, 0.2417, 0.2488, 0.3701, 0.9089, 2.031",\
                 "0.313, 0.2999, 0.2818, 0.2687, 0.2601, 0.256, 0.2794, 0.5106, 1.268, 2.481",\
                 "0.3321, 0.3186, 0.3004, 0.2861, 0.2773, 0.2772, 0.3599, 0.8222, 1.797, 2.917",\
                 "0.3558, 0.342, 0.3238, 0.3093, 0.2995, 0.3285, 0.6308, 1.406, 2.319, 3.059");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.3235, 0.308, 0.2752, 0.2495, 0.2348, 0.2257, 0.2197, 0.2157, 0.2128, 0.2108",\
                 "0.3234, 0.3078, 0.2751, 0.2492, 0.2346, 0.2254, 0.2196, 0.2156, 0.2127, 0.2106",\
                 "0.3231, 0.3076, 0.2749, 0.2489, 0.2344, 0.2252, 0.2194, 0.2153, 0.2124, 0.2103",\
                 "0.3229, 0.3073, 0.2745, 0.2486, 0.2341, 0.2249, 0.219, 0.215, 0.2121, 0.2101",\
                 "0.3244, 0.3089, 0.2759, 0.2497, 0.235, 0.2258, 0.2199, 0.2158, 0.2129, 0.2108",\
                 "0.3359, 0.3198, 0.2854, 0.2576, 0.2415, 0.2313, 0.2247, 0.2201, 0.217, 0.2147",\
                 "0.3573, 0.3406, 0.3038, 0.2725, 0.254, 0.242, 0.2343, 0.2289, 0.2251, 0.2223",\
                 "0.3849, 0.3673, 0.328, 0.2929, 0.2712, 0.2573, 0.2481, 0.2417, 0.2372, 0.2336",\
                 "0.4204, 0.4022, 0.3602, 0.3207, 0.2951, 0.2785, 0.2674, 0.2597, 0.254, 0.2489",\
                 "0.4643, 0.445, 0.4002, 0.3557, 0.3259, 0.306, 0.2924, 0.2825, 0.2747, 0.2661");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.1917, 0.1765, 0.1558, 0.1422, 0.1331, 0.129, 0.127, 0.1391, 0.2577, 0.76",\
                 "0.1914, 0.1761, 0.1554, 0.1415, 0.1326, 0.1285, 0.1264, 0.1381, 0.26, 0.7695",\
                 "0.1907, 0.1755, 0.1547, 0.1408, 0.1323, 0.1276, 0.1264, 0.1385, 0.2679, 0.7973",\
                 "0.1905, 0.1753, 0.1543, 0.1407, 0.132, 0.1275, 0.1258, 0.1416, 0.2863, 0.8592",\
                 "0.1937, 0.1786, 0.1575, 0.1431, 0.1338, 0.1289, 0.1279, 0.1472, 0.3246, 0.9674",\
                 "0.2064, 0.1904, 0.168, 0.1523, 0.1416, 0.1361, 0.1342, 0.163, 0.3894, 1.137",\
                 "0.2246, 0.2074, 0.1821, 0.1644, 0.1532, 0.1453, 0.1437, 0.1911, 0.5016, 1.387",\
                 "0.2484, 0.2299, 0.2022, 0.1818, 0.1672, 0.1595, 0.1602, 0.2439, 0.689, 1.733",\
                 "0.2792, 0.2594, 0.2283, 0.2058, 0.1886, 0.1765, 0.1878, 0.3542, 1.001, 2.179",\
                 "0.3165, 0.2955, 0.2601, 0.2347, 0.215, 0.2012, 0.2423, 0.5871, 1.477, 2.661");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4176, 0.3986, 0.3539, 0.3078, 0.2766, 0.2564, 0.2427, 0.2331, 0.226, 0.2208",\
                 "0.4174, 0.3984, 0.3537, 0.3075, 0.2764, 0.2563, 0.2426, 0.233, 0.2259, 0.2206",\
                 "0.4164, 0.3974, 0.3526, 0.3066, 0.2755, 0.2554, 0.2417, 0.232, 0.225, 0.2197",\
                 "0.416, 0.397, 0.3522, 0.306, 0.275, 0.2549, 0.2413, 0.2317, 0.2247, 0.2194",\
                 "0.4171, 0.3981, 0.3533, 0.3072, 0.276, 0.2559, 0.2424, 0.2328, 0.2258, 0.2205",\
                 "0.4214, 0.4023, 0.3574, 0.3112, 0.2797, 0.2597, 0.2459, 0.2362, 0.2292, 0.2238",\
                 "0.4363, 0.4172, 0.3713, 0.3236, 0.2905, 0.2693, 0.2546, 0.2442, 0.2366, 0.2306",\
                 "0.4671, 0.447, 0.3986, 0.3473, 0.3106, 0.2866, 0.2697, 0.2577, 0.2488, 0.2412",\
                 "0.5046, 0.4837, 0.4321, 0.3766, 0.3354, 0.3083, 0.289, 0.2748, 0.2632, 0.2523",\
                 "0.5432, 0.5216, 0.4677, 0.4077, 0.3624, 0.3315, 0.3089, 0.2904, 0.2734, 0.2585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.1644, 0.1542, 0.1416, 0.1334, 0.1299, 0.1289, 0.1295, 0.1393, 0.24, 0.6872",\
                 "0.1645, 0.1545, 0.1416, 0.1338, 0.1305, 0.1291, 0.1298, 0.141, 0.2433, 0.6983",\
                 "0.1647, 0.1546, 0.142, 0.1339, 0.1308, 0.1293, 0.1298, 0.1413, 0.2516, 0.7252",\
                 "0.1652, 0.155, 0.1422, 0.1343, 0.1303, 0.1294, 0.1313, 0.1452, 0.2696, 0.7812",\
                 "0.1723, 0.1614, 0.1473, 0.1379, 0.1334, 0.1321, 0.1322, 0.1496, 0.3, 0.8768",\
                 "0.1841, 0.1719, 0.1557, 0.1451, 0.1392, 0.1358, 0.1364, 0.1608, 0.3503, 1.022",\
                 "0.2012, 0.1875, 0.1688, 0.1551, 0.1476, 0.1444, 0.1435, 0.1802, 0.4349, 1.232",\
                 "0.2248, 0.2093, 0.1873, 0.1714, 0.1591, 0.1542, 0.1569, 0.2172, 0.574, 1.526",\
                 "0.2541, 0.237, 0.2108, 0.1919, 0.1776, 0.1673, 0.1723, 0.2892, 0.8082, 1.916",\
                 "0.2887, 0.2694, 0.239, 0.2165, 0.1989, 0.1866, 0.2031, 0.4289, 1.172, 2.378");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2577, 0.2417, 0.2071, 0.1783, 0.1614, 0.1509, 0.1439, 0.1392, 0.1358, 0.1334",\
                 "0.258, 0.242, 0.2074, 0.1786, 0.1617, 0.1511, 0.1442, 0.1395, 0.1362, 0.1337",\
                 "0.2581, 0.2421, 0.2075, 0.1789, 0.162, 0.1515, 0.1444, 0.1397, 0.1363, 0.1339",\
                 "0.2583, 0.2423, 0.2077, 0.1789, 0.1622, 0.1516, 0.1445, 0.1399, 0.1366, 0.134",\
                 "0.2618, 0.2457, 0.2111, 0.1823, 0.1654, 0.1548, 0.1477, 0.1431, 0.1398, 0.1372",\
                 "0.2709, 0.255, 0.2201, 0.1914, 0.1742, 0.1635, 0.1565, 0.1519, 0.1483, 0.1458",\
                 "0.2821, 0.2661, 0.2311, 0.2024, 0.1852, 0.1744, 0.1674, 0.1626, 0.1592, 0.1567",\
                 "0.2963, 0.2801, 0.2446, 0.2158, 0.1984, 0.1879, 0.1808, 0.176, 0.1725, 0.1695",\
                 "0.3134, 0.2968, 0.2609, 0.2319, 0.215, 0.2043, 0.1972, 0.1926, 0.1887, 0.1851",\
                 "0.3334, 0.3168, 0.2811, 0.2519, 0.2347, 0.224, 0.2169, 0.2118, 0.2074, 0.2014");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2708, 0.2586, 0.242, 0.2296, 0.2219, 0.2177, 0.2162, 0.239, 0.4236, 1.087",\
                 "0.2713, 0.2587, 0.2419, 0.2299, 0.2223, 0.2178, 0.217, 0.2405, 0.429, 1.101",\
                 "0.2708, 0.2583, 0.242, 0.2295, 0.222, 0.218, 0.2165, 0.2434, 0.4462, 1.149",\
                 "0.2711, 0.2585, 0.2423, 0.2301, 0.2223, 0.2181, 0.2171, 0.2501, 0.4861, 1.249",\
                 "0.2723, 0.26, 0.2433, 0.231, 0.2234, 0.2196, 0.219, 0.2661, 0.5598, 1.426",\
                 "0.2784, 0.2659, 0.2493, 0.237, 0.2294, 0.2247, 0.2275, 0.3023, 0.7022, 1.703",\
                 "0.2934, 0.2806, 0.2637, 0.2512, 0.2431, 0.2389, 0.248, 0.3844, 0.9612, 2.112",\
                 "0.3126, 0.2996, 0.2823, 0.2693, 0.2606, 0.257, 0.2898, 0.5667, 1.386, 2.6",\
                 "0.3351, 0.3215, 0.3033, 0.2903, 0.2818, 0.2845, 0.4052, 0.9661, 1.97, 3.006",\
                 "0.361, 0.3472, 0.3284, 0.3141, 0.306, 0.3732, 0.8081, 1.617, 2.392, 2.97");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2542, 0.2383, 0.204, 0.1768, 0.1606, 0.1506, 0.1441, 0.1398, 0.1368, 0.1347",\
                 "0.2542, 0.2384, 0.2041, 0.1767, 0.1606, 0.1507, 0.1444, 0.1399, 0.1369, 0.1346",\
                 "0.2544, 0.2382, 0.2045, 0.1766, 0.161, 0.1507, 0.1442, 0.1397, 0.1369, 0.1344",\
                 "0.2546, 0.2388, 0.2046, 0.1771, 0.161, 0.1509, 0.1448, 0.14, 0.1369, 0.1348",\
                 "0.2574, 0.2415, 0.2074, 0.1797, 0.1637, 0.1539, 0.1474, 0.143, 0.1399, 0.1376",\
                 "0.2661, 0.2502, 0.2159, 0.1882, 0.172, 0.162, 0.1555, 0.151, 0.1479, 0.1455",\
                 "0.2765, 0.2605, 0.2266, 0.1988, 0.1827, 0.1726, 0.166, 0.1615, 0.1584, 0.1559",\
                 "0.2904, 0.2745, 0.2394, 0.2116, 0.1954, 0.1853, 0.1786, 0.1741, 0.1711, 0.1684",\
                 "0.3073, 0.2904, 0.256, 0.2278, 0.2116, 0.2013, 0.1946, 0.19, 0.1866, 0.1824",\
                 "0.3274, 0.311, 0.2756, 0.2472, 0.2306, 0.2199, 0.2132, 0.2083, 0.2039, 0.198");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.2741, 0.2612, 0.2441, 0.2316, 0.2232, 0.2189, 0.2171, 0.2403, 0.4274, 1.098",\
                 "0.2742, 0.2613, 0.2441, 0.2318, 0.2234, 0.2189, 0.2171, 0.2413, 0.4337, 1.11",\
                 "0.2739, 0.261, 0.2442, 0.2308, 0.2233, 0.2188, 0.2173, 0.2442, 0.4506, 1.159",\
                 "0.2743, 0.2616, 0.2442, 0.2317, 0.2237, 0.2188, 0.2179, 0.252, 0.4897, 1.26",\
                 "0.2755, 0.2627, 0.2456, 0.233, 0.225, 0.2204, 0.2203, 0.2674, 0.5655, 1.438",\
                 "0.2822, 0.2691, 0.2521, 0.2396, 0.2313, 0.2264, 0.2286, 0.3057, 0.7105, 1.72",\
                 "0.2973, 0.2844, 0.2668, 0.2541, 0.2458, 0.2412, 0.2499, 0.3889, 0.9725, 2.124",\
                 "0.3173, 0.3037, 0.2857, 0.2724, 0.2635, 0.2595, 0.2933, 0.5747, 1.4, 2.613",\
                 "0.3393, 0.326, 0.3075, 0.2936, 0.2841, 0.2873, 0.411, 0.9774, 1.982, 3.012",\
                 "0.3658, 0.3519, 0.3327, 0.3184, 0.3095, 0.3786, 0.8188, 1.628, 2.396, 2.967");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.3153, 0.3001, 0.2681, 0.2426, 0.2282, 0.2193, 0.2134, 0.2092, 0.2064, 0.2042",\
                 "0.3155, 0.3003, 0.2683, 0.2429, 0.2285, 0.2195, 0.2136, 0.2095, 0.2066, 0.2045",\
                 "0.3151, 0.2999, 0.2679, 0.2424, 0.228, 0.2191, 0.2132, 0.2091, 0.2062, 0.2041",\
                 "0.3147, 0.2994, 0.2673, 0.2419, 0.2275, 0.2186, 0.2127, 0.2087, 0.2058, 0.2036",\
                 "0.3161, 0.3007, 0.2685, 0.2429, 0.2283, 0.2193, 0.2134, 0.2094, 0.2064, 0.2043",\
                 "0.3275, 0.3117, 0.2779, 0.2504, 0.2344, 0.2245, 0.2179, 0.2135, 0.2103, 0.208",\
                 "0.3475, 0.3308, 0.2947, 0.2639, 0.2456, 0.2342, 0.2266, 0.2214, 0.2178, 0.215",\
                 "0.3743, 0.3566, 0.3178, 0.2831, 0.2619, 0.2485, 0.2395, 0.2334, 0.229, 0.2256",\
                 "0.4095, 0.3909, 0.3491, 0.3101, 0.2848, 0.2685, 0.2579, 0.2503, 0.2448, 0.2399",\
                 "0.4525, 0.4331, 0.388, 0.3439, 0.3143, 0.2948, 0.2817, 0.272, 0.2642, 0.2559");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.202, 0.1868, 0.1661, 0.1524, 0.1433, 0.1393, 0.1373, 0.1494, 0.2674, 0.7688",\
                 "0.2025, 0.1874, 0.1665, 0.1525, 0.144, 0.1401, 0.1376, 0.1493, 0.2711, 0.7797",\
                 "0.2025, 0.1874, 0.1666, 0.1528, 0.1443, 0.1396, 0.1382, 0.1507, 0.2827, 0.8153",\
                 "0.2025, 0.1875, 0.1666, 0.153, 0.1442, 0.1395, 0.1385, 0.1543, 0.3029, 0.8824",\
                 "0.2051, 0.1902, 0.1692, 0.155, 0.1459, 0.1407, 0.1397, 0.161, 0.3435, 1.001",\
                 "0.2199, 0.2042, 0.1816, 0.1654, 0.155, 0.1484, 0.1459, 0.1783, 0.4173, 1.19",\
                 "0.242, 0.2244, 0.1985, 0.1805, 0.1677, 0.159, 0.156, 0.2108, 0.5441, 1.462",\
                 "0.2691, 0.2497, 0.2206, 0.1993, 0.184, 0.1745, 0.1748, 0.2712, 0.7537, 1.832",\
                 "0.3018, 0.2807, 0.2477, 0.2232, 0.2034, 0.1912, 0.2061, 0.4013, 1.098, 2.295",\
                 "0.3409, 0.318, 0.2802, 0.253, 0.2317, 0.2174, 0.2743, 0.6769, 1.611, 2.764");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.756, 3.88, 4.184, 4.591, 5.076, 5.632, 6.272, 7.016, 7.885, 8.898",\
                 "3.779, 3.902, 4.207, 4.614, 5.099, 5.656, 6.295, 7.039, 7.908, 8.921",\
                 "3.843, 3.965, 4.27, 4.677, 5.163, 5.719, 6.359, 7.103, 7.971, 8.985",\
                 "3.942, 4.065, 4.37, 4.777, 5.262, 5.818, 6.458, 7.202, 8.071, 9.084",\
                 "4.094, 4.218, 4.522, 4.929, 5.415, 5.971, 6.611, 7.354, 8.223, 9.237",\
                 "4.286, 4.41, 4.714, 5.121, 5.606, 6.163, 6.802, 7.546, 8.415, 9.429",\
                 "4.473, 4.597, 4.902, 5.309, 5.795, 6.35, 6.991, 7.735, 8.604, 9.617",\
                 "4.633, 4.757, 5.063, 5.471, 5.957, 6.513, 7.154, 7.898, 8.765, 9.78",\
                 "4.755, 4.88, 5.185, 5.595, 6.082, 6.638, 7.279, 8.023, 8.892, 9.905",\
                 "4.833, 4.957, 5.264, 5.674, 6.162, 6.719, 7.359, 8.103, 8.972, 9.986");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.242, 4.36, 4.682, 5.169, 5.832, 6.721, 7.881, 9.341, 11.13, 13.25",\
                 "4.27, 4.389, 4.71, 5.197, 5.86, 6.749, 7.909, 9.369, 11.15, 13.28",\
                 "4.357, 4.476, 4.797, 5.284, 5.947, 6.836, 7.996, 9.457, 11.24, 13.37",\
                 "4.503, 4.622, 4.944, 5.43, 6.093, 6.982, 8.142, 9.603, 11.39, 13.52",\
                 "4.748, 4.867, 5.188, 5.675, 6.338, 7.227, 8.386, 9.848, 11.63, 13.76",\
                 "5.116, 5.235, 5.556, 6.043, 6.706, 7.595, 8.755, 10.22, 12, 14.13",\
                 "5.605, 5.724, 6.045, 6.532, 7.196, 8.085, 9.245, 10.7, 12.49, 14.61",\
                 "6.191, 6.309, 6.633, 7.12, 7.783, 8.671, 9.831, 11.29, 13.07, 15.2",\
                 "6.86, 6.979, 7.303, 7.792, 8.456, 9.343, 10.5, 11.96, 13.75, 15.87",\
                 "7.616, 7.737, 8.061, 8.551, 9.215, 10.1, 11.26, 12.72, 14.5, 16.63");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5504, 0.6628, 0.9352, 1.313, 1.8, 2.422, 3.241, 4.301, 5.637, 7.276",\
                 "0.55, 0.6632, 0.9352, 1.313, 1.799, 2.423, 3.239, 4.302, 5.638, 7.274",\
                 "0.5496, 0.6632, 0.936, 1.314, 1.801, 2.423, 3.24, 4.298, 5.632, 7.274",\
                 "0.55, 0.663, 0.9352, 1.313, 1.802, 2.425, 3.239, 4.302, 5.638, 7.275",\
                 "0.5498, 0.6634, 0.9354, 1.314, 1.8, 2.423, 3.24, 4.302, 5.634, 7.27",\
                 "0.5508, 0.6642, 0.936, 1.314, 1.801, 2.424, 3.246, 4.301, 5.634, 7.276",\
                 "0.5536, 0.6666, 0.9374, 1.314, 1.804, 2.425, 3.243, 4.302, 5.634, 7.268",\
                 "0.5582, 0.6708, 0.9426, 1.318, 1.806, 2.424, 3.242, 4.298, 5.632, 7.268",\
                 "0.562, 0.678, 0.948, 1.32, 1.808, 2.43, 3.246, 4.3, 5.632, 7.268",\
                 "0.57, 0.682, 0.956, 1.328, 1.812, 2.434, 3.246, 4.302, 5.64, 7.268");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4068, 0.5308, 0.92, 1.572, 2.591, 4.087, 6.112, 8.698, 11.83, 15.58",\
                 "0.406, 0.5302, 0.9198, 1.569, 2.59, 4.082, 6.115, 8.694, 11.83, 15.61",\
                 "0.4062, 0.53, 0.9198, 1.571, 2.589, 4.087, 6.107, 8.698, 11.85, 15.61",\
                 "0.4066, 0.5304, 0.9214, 1.571, 2.588, 4.087, 6.108, 8.697, 11.85, 15.61",\
                 "0.4054, 0.5298, 0.9212, 1.573, 2.587, 4.087, 6.117, 8.679, 11.83, 15.61",\
                 "0.4068, 0.5302, 0.922, 1.571, 2.589, 4.082, 6.106, 8.692, 11.83, 15.59",\
                 "0.4094, 0.5336, 0.9226, 1.572, 2.592, 4.082, 6.118, 8.696, 11.83, 15.61",\
                 "0.416, 0.538, 0.93, 1.576, 2.592, 4.082, 6.108, 8.698, 11.83, 15.58",\
                 "0.42, 0.544, 0.934, 1.58, 2.592, 4.088, 6.114, 8.692, 11.85, 15.59",\
                 "0.43, 0.552, 0.94, 1.588, 2.598, 4.086, 6.11, 8.68, 11.84, 15.58");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.698, 3.821, 4.131, 4.552, 5.053, 5.627, 6.282, 7.039, 7.917, 8.936",\
                 "3.716, 3.839, 4.149, 4.571, 5.072, 5.645, 6.301, 7.058, 7.936, 8.955",\
                 "3.764, 3.887, 4.197, 4.619, 5.121, 5.695, 6.351, 7.107, 7.985, 9.004",\
                 "3.86, 3.983, 4.293, 4.715, 5.217, 5.791, 6.447, 7.203, 8.081, 9.1",\
                 "4.014, 4.138, 4.448, 4.869, 5.371, 5.945, 6.601, 7.358, 8.236, 9.255",\
                 "4.211, 4.334, 4.644, 5.065, 5.567, 6.141, 6.798, 7.554, 8.431, 9.452",\
                 "4.404, 4.527, 4.837, 5.259, 5.761, 6.335, 6.992, 7.748, 8.626, 9.645",\
                 "4.569, 4.692, 5.003, 5.426, 5.928, 6.503, 7.159, 7.915, 8.793, 9.814",\
                 "4.695, 4.819, 5.131, 5.554, 6.057, 6.632, 7.288, 8.045, 8.923, 9.942",\
                 "4.774, 4.898, 5.211, 5.635, 6.139, 6.715, 7.371, 8.128, 9.006, 10.03");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.231, 4.347, 4.663, 5.143, 5.802, 6.689, 7.85, 9.31, 11.1, 13.22",\
                 "4.264, 4.38, 4.695, 5.175, 5.834, 6.722, 7.882, 9.344, 11.13, 13.26",\
                 "4.371, 4.487, 4.803, 5.283, 5.941, 6.829, 7.989, 9.45, 11.23, 13.36",\
                 "4.531, 4.647, 4.963, 5.443, 6.102, 6.989, 8.15, 9.611, 11.39, 13.52",\
                 "4.772, 4.888, 5.204, 5.685, 6.343, 7.231, 8.391, 9.852, 11.64, 13.76",\
                 "5.127, 5.243, 5.559, 6.039, 6.698, 7.585, 8.745, 10.21, 11.99, 14.12",\
                 "5.6, 5.715, 6.032, 6.512, 7.171, 8.058, 9.218, 10.68, 12.46, 14.59",\
                 "6.169, 6.284, 6.602, 7.082, 7.742, 8.629, 9.789, 11.25, 13.03, 15.16",\
                 "6.825, 6.942, 7.261, 7.742, 8.401, 9.287, 10.45, 11.91, 13.69, 15.82",\
                 "7.572, 7.69, 8.01, 8.492, 9.151, 10.04, 11.2, 12.65, 14.44, 16.56");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5452, 0.661, 0.9554, 1.349, 1.854, 2.485, 3.304, 4.354, 5.675, 7.305",\
                 "0.544, 0.6614, 0.9554, 1.349, 1.855, 2.486, 3.304, 4.354, 5.683, 7.302",\
                 "0.5452, 0.661, 0.956, 1.351, 1.856, 2.486, 3.305, 4.358, 5.678, 7.307",\
                 "0.5452, 0.6614, 0.9562, 1.351, 1.856, 2.486, 3.305, 4.359, 5.679, 7.308",\
                 "0.5442, 0.6618, 0.957, 1.351, 1.855, 2.487, 3.305, 4.36, 5.685, 7.305",\
                 "0.5442, 0.6622, 0.9578, 1.352, 1.857, 2.488, 3.305, 4.36, 5.676, 7.308",\
                 "0.5472, 0.6648, 0.9604, 1.353, 1.858, 2.493, 3.31, 4.356, 5.682, 7.296",\
                 "0.5512, 0.6688, 0.9638, 1.356, 1.86, 2.488, 3.306, 4.356, 5.678, 7.304",\
                 "0.558, 0.674, 0.97, 1.362, 1.864, 2.494, 3.308, 4.358, 5.682, 7.298",\
                 "0.564, 0.68, 0.978, 1.368, 1.868, 2.498, 3.314, 4.362, 5.686, 7.298");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.3952, 0.518, 0.9058, 1.553, 2.576, 4.081, 6.115, 8.696, 11.84, 15.6",\
                 "0.395, 0.5172, 0.9052, 1.552, 2.576, 4.085, 6.116, 8.679, 11.84, 15.61",\
                 "0.3956, 0.5176, 0.9036, 1.552, 2.578, 4.076, 6.117, 8.69, 11.83, 15.59",\
                 "0.3948, 0.5176, 0.904, 1.553, 2.573, 4.08, 6.106, 8.688, 11.83, 15.58",\
                 "0.3958, 0.5174, 0.9048, 1.552, 2.573, 4.077, 6.118, 8.696, 11.83, 15.59",\
                 "0.3954, 0.5186, 0.9042, 1.553, 2.577, 4.082, 6.116, 8.698, 11.83, 15.61",\
                 "0.3998, 0.521, 0.9068, 1.557, 2.578, 4.084, 6.114, 8.686, 11.83, 15.59",\
                 "0.402, 0.526, 0.91, 1.558, 2.576, 4.084, 6.104, 8.692, 11.83, 15.6",\
                 "0.41, 0.532, 0.918, 1.564, 2.58, 4.08, 6.112, 8.694, 11.84, 15.59",\
                 "0.418, 0.538, 0.924, 1.566, 2.586, 4.082, 6.108, 8.684, 11.84, 15.61");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.698, 3.821, 4.131, 4.552, 5.053, 5.627, 6.282, 7.039, 7.917, 8.936",\
                 "3.716, 3.839, 4.149, 4.571, 5.072, 5.645, 6.301, 7.058, 7.936, 8.955",\
                 "3.764, 3.887, 4.197, 4.619, 5.121, 5.695, 6.351, 7.107, 7.985, 9.004",\
                 "3.86, 3.983, 4.293, 4.715, 5.217, 5.791, 6.447, 7.203, 8.081, 9.1",\
                 "4.014, 4.138, 4.448, 4.869, 5.371, 5.945, 6.601, 7.358, 8.236, 9.255",\
                 "4.211, 4.334, 4.644, 5.065, 5.567, 6.141, 6.798, 7.554, 8.431, 9.452",\
                 "4.404, 4.527, 4.837, 5.259, 5.761, 6.335, 6.992, 7.748, 8.626, 9.645",\
                 "4.569, 4.692, 5.003, 5.426, 5.928, 6.503, 7.159, 7.915, 8.793, 9.814",\
                 "4.695, 4.819, 5.131, 5.554, 6.057, 6.632, 7.288, 8.045, 8.923, 9.942",\
                 "4.774, 4.898, 5.211, 5.635, 6.139, 6.715, 7.371, 8.128, 9.006, 10.03");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.242, 4.36, 4.682, 5.169, 5.832, 6.721, 7.881, 9.341, 11.13, 13.25",\
                 "4.27, 4.389, 4.71, 5.197, 5.86, 6.749, 7.909, 9.369, 11.15, 13.28",\
                 "4.357, 4.476, 4.797, 5.284, 5.947, 6.836, 7.996, 9.457, 11.24, 13.37",\
                 "4.503, 4.622, 4.944, 5.43, 6.093, 6.982, 8.142, 9.603, 11.39, 13.52",\
                 "4.748, 4.867, 5.188, 5.675, 6.338, 7.227, 8.386, 9.848, 11.63, 13.76",\
                 "5.116, 5.235, 5.556, 6.043, 6.706, 7.595, 8.755, 10.22, 12, 14.13",\
                 "5.605, 5.724, 6.045, 6.532, 7.196, 8.085, 9.245, 10.7, 12.49, 14.61",\
                 "6.191, 6.309, 6.633, 7.12, 7.783, 8.671, 9.831, 11.29, 13.07, 15.2",\
                 "6.86, 6.979, 7.303, 7.792, 8.456, 9.343, 10.5, 11.96, 13.75, 15.87",\
                 "7.616, 7.737, 8.061, 8.551, 9.215, 10.1, 11.26, 12.72, 14.5, 16.63");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5452, 0.661, 0.9554, 1.349, 1.854, 2.485, 3.304, 4.354, 5.675, 7.305",\
                 "0.544, 0.6614, 0.9554, 1.349, 1.855, 2.486, 3.304, 4.354, 5.683, 7.302",\
                 "0.5452, 0.661, 0.956, 1.351, 1.856, 2.486, 3.305, 4.358, 5.678, 7.307",\
                 "0.5452, 0.6614, 0.9562, 1.351, 1.856, 2.486, 3.305, 4.359, 5.679, 7.308",\
                 "0.5442, 0.6618, 0.957, 1.351, 1.855, 2.487, 3.305, 4.36, 5.685, 7.305",\
                 "0.5442, 0.6622, 0.9578, 1.352, 1.857, 2.488, 3.305, 4.36, 5.676, 7.308",\
                 "0.5472, 0.6648, 0.9604, 1.353, 1.858, 2.493, 3.31, 4.356, 5.682, 7.296",\
                 "0.5512, 0.6688, 0.9638, 1.356, 1.86, 2.488, 3.306, 4.356, 5.678, 7.304",\
                 "0.558, 0.674, 0.97, 1.362, 1.864, 2.494, 3.308, 4.358, 5.682, 7.298",\
                 "0.564, 0.68, 0.978, 1.368, 1.868, 2.498, 3.314, 4.362, 5.686, 7.298");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4068, 0.5308, 0.92, 1.572, 2.591, 4.087, 6.112, 8.698, 11.83, 15.58",\
                 "0.406, 0.5302, 0.9198, 1.569, 2.59, 4.082, 6.115, 8.694, 11.83, 15.61",\
                 "0.4062, 0.53, 0.9198, 1.571, 2.589, 4.087, 6.107, 8.698, 11.85, 15.61",\
                 "0.4066, 0.5304, 0.9214, 1.571, 2.588, 4.087, 6.108, 8.697, 11.85, 15.61",\
                 "0.4054, 0.5298, 0.9212, 1.573, 2.587, 4.087, 6.117, 8.679, 11.83, 15.61",\
                 "0.4068, 0.5302, 0.922, 1.571, 2.589, 4.082, 6.106, 8.692, 11.83, 15.59",\
                 "0.4094, 0.5336, 0.9226, 1.572, 2.592, 4.082, 6.118, 8.696, 11.83, 15.61",\
                 "0.416, 0.538, 0.93, 1.576, 2.592, 4.082, 6.108, 8.698, 11.83, 15.58",\
                 "0.42, 0.544, 0.934, 1.58, 2.592, 4.088, 6.114, 8.692, 11.85, 15.59",\
                 "0.43, 0.552, 0.94, 1.588, 2.598, 4.086, 6.11, 8.68, 11.84, 15.58");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.201, 3.349, 3.721, 4.216, 4.798, 5.452, 6.178, 6.991, 7.913, 8.963",\
                 "3.225, 3.373, 3.745, 4.24, 4.821, 5.475, 6.202, 7.015, 7.937, 8.986",\
                 "3.303, 3.451, 3.822, 4.319, 4.899, 5.553, 6.279, 7.093, 8.014, 9.064",\
                 "3.411, 3.559, 3.93, 4.426, 5.007, 5.661, 6.386, 7.2, 8.122, 9.172",\
                 "3.582, 3.73, 4.101, 4.597, 5.178, 5.832, 6.558, 7.371, 8.293, 9.343",\
                 "3.871, 4.019, 4.39, 4.885, 5.466, 6.119, 6.845, 7.659, 8.58, 9.63",\
                 "4.297, 4.446, 4.821, 5.319, 5.9, 6.555, 7.282, 8.095, 9.017, 10.07",\
                 "4.844, 4.996, 5.375, 5.881, 6.474, 7.136, 7.866, 8.684, 9.607, 10.66",\
                 "5.517, 5.674, 6.059, 6.575, 7.175, 7.846, 8.588, 9.411, 10.34, 11.39",\
                 "6.317, 6.475, 6.87, 7.395, 8.005, 8.689, 9.439, 10.27, 11.21, 12.26");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.423, 1.535, 1.847, 2.325, 2.986, 3.878, 5.042, 6.506, 8.294, 10.43",\
                 "1.449, 1.561, 1.873, 2.351, 3.012, 3.905, 5.068, 6.533, 8.323, 10.45",\
                 "1.518, 1.63, 1.942, 2.421, 3.081, 3.974, 5.137, 6.603, 8.389, 10.52",\
                 "1.621, 1.734, 2.045, 2.523, 3.184, 4.076, 5.24, 6.705, 8.492, 10.62",\
                 "1.77, 1.884, 2.196, 2.672, 3.332, 4.223, 5.387, 6.85, 8.64, 10.77",\
                 "1.91, 2.027, 2.347, 2.832, 3.494, 4.384, 5.546, 7.01, 8.799, 10.92",\
                 "2.014, 2.135, 2.462, 2.957, 3.625, 4.516, 5.676, 7.139, 8.923, 11.05",\
                 "2.068, 2.194, 2.531, 3.035, 3.711, 4.603, 5.763, 7.223, 9.006, 11.13",\
                 "2.058, 2.189, 2.537, 3.056, 3.741, 4.638, 5.798, 7.255, 9.037, 11.16",\
                 "1.977, 2.115, 2.476, 3.01, 3.711, 4.614, 5.775, 7.233, 9.012, 11.14");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.7694, 0.9094, 1.248, 1.687, 2.23, 2.882, 3.687, 4.707, 5.984, 7.558",\
                 "0.769, 0.9096, 1.248, 1.687, 2.229, 2.881, 3.689, 4.715, 5.991, 7.557",\
                 "0.769, 0.9106, 1.248, 1.689, 2.229, 2.879, 3.687, 4.706, 5.985, 7.556",\
                 "0.769, 0.9104, 1.247, 1.688, 2.23, 2.882, 3.689, 4.716, 5.992, 7.56",\
                 "0.7696, 0.9104, 1.249, 1.689, 2.23, 2.882, 3.689, 4.715, 5.989, 7.56",\
                 "0.7686, 0.9096, 1.249, 1.691, 2.231, 2.883, 3.69, 4.709, 5.99, 7.556",\
                 "0.7936, 0.9344, 1.271, 1.706, 2.244, 2.893, 3.697, 4.72, 5.992, 7.556",\
                 "0.8226, 0.9668, 1.314, 1.754, 2.284, 2.926, 3.722, 4.736, 6, 7.572",\
                 "0.852, 1.002, 1.35, 1.802, 2.34, 2.984, 3.774, 4.776, 6.032, 7.588",\
                 "0.9, 1.048, 1.402, 1.862, 2.4, 3.048, 3.836, 4.826, 6.078, 7.618");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.3544, 0.4816, 0.8706, 1.525, 2.56, 4.08, 6.113, 8.694, 11.84, 15.6",\
                 "0.3546, 0.4814, 0.8716, 1.527, 2.56, 4.08, 6.113, 8.691, 11.85, 15.6",\
                 "0.3556, 0.482, 0.8718, 1.527, 2.561, 4.079, 6.105, 8.692, 11.84, 15.6",\
                 "0.3556, 0.4814, 0.8714, 1.526, 2.565, 4.079, 6.107, 8.688, 11.84, 15.6",\
                 "0.363, 0.489, 0.8754, 1.53, 2.567, 4.079, 6.117, 8.695, 11.84, 15.6",\
                 "0.391, 0.5168, 0.9058, 1.554, 2.575, 4.084, 6.114, 8.685, 11.85, 15.6",\
                 "0.4202, 0.5482, 0.9414, 1.591, 2.6, 4.09, 6.119, 8.684, 11.85, 15.61",\
                 "0.4578, 0.585, 0.9838, 1.634, 2.634, 4.114, 6.122, 8.7, 11.86, 15.59",\
                 "0.5036, 0.6318, 1.033, 1.689, 2.68, 4.138, 6.14, 8.696, 11.85, 15.6",\
                 "0.558, 0.688, 1.088, 1.758, 2.742, 4.184, 6.162, 8.718, 11.85, 15.59");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("2.149, 2.274, 2.583, 2.995, 3.484, 4.042, 4.683, 5.428, 6.298, 7.312",\
                 "2.178, 2.303, 2.612, 3.024, 3.513, 4.071, 4.712, 5.457, 6.327, 7.341",\
                 "2.29, 2.415, 2.724, 3.136, 3.625, 4.183, 4.824, 5.569, 6.439, 7.453",\
                 "2.457, 2.582, 2.891, 3.303, 3.792, 4.35, 4.992, 5.737, 6.606, 7.62",\
                 "2.701, 2.826, 3.134, 3.546, 4.034, 4.592, 5.234, 5.979, 6.848, 7.862",\
                 "3.053, 3.179, 3.488, 3.901, 4.39, 4.949, 5.59, 6.335, 7.205, 8.218",\
                 "3.488, 3.618, 3.939, 4.364, 4.862, 5.427, 6.072, 6.819, 7.688, 8.702",\
                 "4.016, 4.15, 4.48, 4.918, 5.431, 6.01, 6.665, 7.418, 8.29, 9.304",\
                 "4.642, 4.781, 5.122, 5.572, 6.099, 6.692, 7.359, 8.12, 8.998, 10.02",\
                 "5.362, 5.505, 5.859, 6.326, 6.869, 7.479, 8.158, 8.929, 9.813, 10.83");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.961, 2.088, 2.431, 2.953, 3.651, 4.563, 5.732, 7.198, 8.986, 11.12",\
                 "1.979, 2.106, 2.449, 2.972, 3.67, 4.581, 5.751, 7.217, 9.004, 11.14",\
                 "2.009, 2.135, 2.479, 3.001, 3.699, 4.61, 5.78, 7.247, 9.033, 11.16",\
                 "2.05, 2.177, 2.52, 3.043, 3.74, 4.652, 5.821, 7.288, 9.076, 11.21",\
                 "2.124, 2.251, 2.594, 3.116, 3.813, 4.723, 5.894, 7.359, 9.147, 11.28",\
                 "2.21, 2.339, 2.686, 3.212, 3.91, 4.82, 5.989, 7.454, 9.239, 11.37",\
                 "2.276, 2.408, 2.76, 3.294, 3.998, 4.91, 6.079, 7.543, 9.328, 11.46",\
                 "2.314, 2.449, 2.809, 3.35, 4.063, 4.978, 6.147, 7.611, 9.396, 11.52",\
                 "2.312, 2.451, 2.819, 3.371, 4.094, 5.016, 6.187, 7.649, 9.433, 11.56",\
                 "2.258, 2.403, 2.781, 3.346, 4.084, 5.017, 6.194, 7.657, 9.44, 11.56");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.547, 0.6626, 0.94, 1.321, 1.808, 2.428, 3.245, 4.304, 5.642, 7.278",\
                 "0.5478, 0.6632, 0.9394, 1.319, 1.806, 2.428, 3.249, 4.303, 5.642, 7.279",\
                 "0.5472, 0.6632, 0.9404, 1.32, 1.807, 2.429, 3.245, 4.304, 5.642, 7.278",\
                 "0.5472, 0.6632, 0.9402, 1.319, 1.806, 2.432, 3.249, 4.303, 5.636, 7.279",\
                 "0.5476, 0.663, 0.9402, 1.319, 1.809, 2.429, 3.251, 4.303, 5.639, 7.279",\
                 "0.5654, 0.681, 0.9542, 1.329, 1.815, 2.436, 3.255, 4.307, 5.642, 7.279",\
                 "0.6048, 0.7236, 1.006, 1.379, 1.859, 2.465, 3.271, 4.32, 5.646, 7.282",\
                 "0.6434, 0.7672, 1.057, 1.442, 1.926, 2.532, 3.32, 4.354, 5.666, 7.282",\
                 "0.694, 0.82, 1.116, 1.506, 1.994, 2.602, 3.384, 4.402, 5.71, 7.314",\
                 "0.754, 0.884, 1.192, 1.59, 2.078, 2.686, 3.458, 4.468, 5.752, 7.34");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4496, 0.582, 0.997, 1.68, 2.695, 4.173, 6.164, 8.737, 11.88, 15.63",\
                 "0.4498, 0.5818, 0.9968, 1.678, 2.699, 4.173, 6.171, 8.735, 11.87, 15.64",\
                 "0.4492, 0.5814, 0.995, 1.681, 2.694, 4.172, 6.171, 8.74, 11.89, 15.64",\
                 "0.4504, 0.5818, 0.9968, 1.677, 2.7, 4.172, 6.163, 8.743, 11.87, 15.64",\
                 "0.45, 0.5828, 0.9974, 1.683, 2.699, 4.168, 6.172, 8.736, 11.87, 15.63",\
                 "0.4704, 0.602, 1.014, 1.693, 2.702, 4.167, 6.168, 8.729, 11.9, 15.66",\
                 "0.4922, 0.6256, 1.041, 1.726, 2.727, 4.186, 6.178, 8.738, 11.9, 15.66",\
                 "0.5206, 0.656, 1.072, 1.762, 2.762, 4.206, 6.185, 8.744, 11.9, 15.63",\
                 "0.557, 0.694, 1.114, 1.809, 2.808, 4.24, 6.206, 8.748, 11.9, 15.65",\
                 "0.598, 0.738, 1.16, 1.868, 2.868, 4.288, 6.238, 8.774, 11.89, 15.63");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.201, 3.349, 3.721, 4.216, 4.798, 5.452, 6.178, 6.991, 7.913, 8.963",\
                 "3.225, 3.373, 3.745, 4.24, 4.821, 5.475, 6.202, 7.015, 7.937, 8.986",\
                 "3.303, 3.451, 3.822, 4.319, 4.899, 5.553, 6.279, 7.093, 8.014, 9.064",\
                 "3.411, 3.559, 3.93, 4.426, 5.007, 5.661, 6.386, 7.2, 8.122, 9.172",\
                 "3.582, 3.73, 4.101, 4.597, 5.178, 5.832, 6.558, 7.371, 8.293, 9.343",\
                 "3.871, 4.019, 4.39, 4.885, 5.466, 6.119, 6.845, 7.659, 8.58, 9.63",\
                 "4.297, 4.446, 4.821, 5.319, 5.9, 6.555, 7.282, 8.095, 9.017, 10.07",\
                 "4.844, 4.996, 5.375, 5.881, 6.474, 7.136, 7.866, 8.684, 9.607, 10.66",\
                 "5.517, 5.674, 6.059, 6.575, 7.175, 7.846, 8.588, 9.411, 10.34, 11.39",\
                 "6.317, 6.475, 6.87, 7.395, 8.005, 8.689, 9.439, 10.27, 11.21, 12.26");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.961, 2.088, 2.431, 2.953, 3.651, 4.563, 5.732, 7.198, 8.986, 11.12",\
                 "1.979, 2.106, 2.449, 2.972, 3.67, 4.581, 5.751, 7.217, 9.004, 11.14",\
                 "2.009, 2.135, 2.479, 3.001, 3.699, 4.61, 5.78, 7.247, 9.033, 11.16",\
                 "2.05, 2.177, 2.52, 3.043, 3.74, 4.652, 5.821, 7.288, 9.076, 11.21",\
                 "2.124, 2.251, 2.594, 3.116, 3.813, 4.723, 5.894, 7.359, 9.147, 11.28",\
                 "2.21, 2.339, 2.686, 3.212, 3.91, 4.82, 5.989, 7.454, 9.239, 11.37",\
                 "2.276, 2.408, 2.76, 3.294, 3.998, 4.91, 6.079, 7.543, 9.328, 11.46",\
                 "2.314, 2.449, 2.809, 3.35, 4.063, 4.978, 6.147, 7.611, 9.396, 11.52",\
                 "2.312, 2.451, 2.819, 3.371, 4.094, 5.016, 6.187, 7.649, 9.433, 11.56",\
                 "2.258, 2.403, 2.781, 3.346, 4.084, 5.017, 6.194, 7.657, 9.44, 11.56");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.7694, 0.9094, 1.248, 1.687, 2.23, 2.882, 3.687, 4.707, 5.984, 7.558",\
                 "0.769, 0.9096, 1.248, 1.687, 2.229, 2.881, 3.689, 4.715, 5.991, 7.557",\
                 "0.769, 0.9106, 1.248, 1.689, 2.229, 2.879, 3.687, 4.706, 5.985, 7.556",\
                 "0.769, 0.9104, 1.247, 1.688, 2.23, 2.882, 3.689, 4.716, 5.992, 7.56",\
                 "0.7696, 0.9104, 1.249, 1.689, 2.23, 2.882, 3.689, 4.715, 5.989, 7.56",\
                 "0.7686, 0.9096, 1.249, 1.691, 2.231, 2.883, 3.69, 4.709, 5.99, 7.556",\
                 "0.7936, 0.9344, 1.271, 1.706, 2.244, 2.893, 3.697, 4.72, 5.992, 7.556",\
                 "0.8226, 0.9668, 1.314, 1.754, 2.284, 2.926, 3.722, 4.736, 6, 7.572",\
                 "0.852, 1.002, 1.35, 1.802, 2.34, 2.984, 3.774, 4.776, 6.032, 7.588",\
                 "0.9, 1.048, 1.402, 1.862, 2.4, 3.048, 3.836, 4.826, 6.078, 7.618");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4496, 0.582, 0.997, 1.68, 2.695, 4.173, 6.164, 8.737, 11.88, 15.63",\
                 "0.4498, 0.5818, 0.9968, 1.678, 2.699, 4.173, 6.171, 8.735, 11.87, 15.64",\
                 "0.4492, 0.5814, 0.995, 1.681, 2.694, 4.172, 6.171, 8.74, 11.89, 15.64",\
                 "0.4504, 0.5818, 0.9968, 1.677, 2.7, 4.172, 6.163, 8.743, 11.87, 15.64",\
                 "0.45, 0.5828, 0.9974, 1.683, 2.699, 4.168, 6.172, 8.736, 11.87, 15.63",\
                 "0.4704, 0.602, 1.014, 1.693, 2.702, 4.167, 6.168, 8.729, 11.9, 15.66",\
                 "0.4922, 0.6256, 1.041, 1.726, 2.727, 4.186, 6.178, 8.738, 11.9, 15.66",\
                 "0.5206, 0.656, 1.072, 1.762, 2.762, 4.206, 6.185, 8.744, 11.9, 15.63",\
                 "0.557, 0.694, 1.114, 1.809, 2.808, 4.24, 6.206, 8.748, 11.9, 15.65",\
                 "0.598, 0.738, 1.16, 1.868, 2.868, 4.288, 6.238, 8.774, 11.89, 15.63");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.774, 3.899, 4.21, 4.623, 5.112, 5.671, 6.312, 7.058, 7.927, 8.941",\
                 "3.804, 3.93, 4.24, 4.653, 5.144, 5.702, 6.344, 7.089, 7.958, 8.972",\
                 "3.872, 3.998, 4.308, 4.721, 5.211, 5.77, 6.411, 7.157, 8.026, 9.04",\
                 "3.968, 4.094, 4.404, 4.817, 5.307, 5.866, 6.507, 7.253, 8.122, 9.136",\
                 "4.106, 4.232, 4.542, 4.956, 5.446, 6.005, 6.646, 7.391, 8.261, 9.275",\
                 "4.273, 4.4, 4.71, 5.123, 5.613, 6.172, 6.813, 7.559, 8.428, 9.443",\
                 "4.434, 4.56, 4.869, 5.283, 5.772, 6.331, 6.973, 7.718, 8.587, 9.601",\
                 "4.563, 4.689, 4.999, 5.41, 5.896, 6.455, 7.095, 7.84, 8.709, 9.724",\
                 "4.637, 4.762, 5.07, 5.479, 5.967, 6.525, 7.166, 7.91, 8.779, 9.793",\
                 "4.644, 4.768, 5.077, 5.487, 5.976, 6.533, 7.174, 7.919, 8.788, 9.802");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.228, 4.347, 4.668, 5.155, 5.819, 6.708, 7.868, 9.328, 11.11, 13.24",\
                 "4.256, 4.374, 4.696, 5.183, 5.846, 6.735, 7.895, 9.356, 11.14, 13.27",\
                 "4.353, 4.472, 4.793, 5.28, 5.944, 6.833, 7.993, 9.453, 11.24, 13.37",\
                 "4.561, 4.679, 5, 5.488, 6.151, 7.041, 8.201, 9.662, 11.44, 13.57",\
                 "4.913, 5.03, 5.352, 5.839, 6.503, 7.392, 8.552, 10.01, 11.79, 13.92",\
                 "5.431, 5.55, 5.871, 6.359, 7.022, 7.91, 9.071, 10.53, 12.32, 14.44",\
                 "6.11, 6.229, 6.551, 7.038, 7.702, 8.591, 9.75, 11.21, 12.99, 15.12",\
                 "6.907, 7.027, 7.349, 7.836, 8.501, 9.389, 10.55, 12.01, 13.79, 15.92",\
                 "7.794, 7.914, 8.237, 8.726, 9.39, 10.28, 11.44, 12.9, 14.68, 16.8",\
                 "8.775, 8.897, 9.222, 9.711, 10.38, 11.26, 12.42, 13.88, 15.66, 17.79");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5636, 0.6794, 0.9552, 1.331, 1.816, 2.435, 3.25, 4.304, 5.64, 7.28",\
                 "0.5646, 0.6792, 0.956, 1.333, 1.816, 2.436, 3.25, 4.304, 5.644, 7.279",\
                 "0.5634, 0.679, 0.9566, 1.333, 1.818, 2.436, 3.251, 4.306, 5.643, 7.271",\
                 "0.5642, 0.6794, 0.9546, 1.334, 1.817, 2.437, 3.251, 4.306, 5.64, 7.271",\
                 "0.5648, 0.6798, 0.9556, 1.334, 1.817, 2.437, 3.251, 4.306, 5.642, 7.281",\
                 "0.565, 0.681, 0.9572, 1.333, 1.819, 2.437, 3.257, 4.307, 5.644, 7.28",\
                 "0.565, 0.6798, 0.9552, 1.332, 1.819, 2.436, 3.251, 4.306, 5.642, 7.272",\
                 "0.5692, 0.6846, 0.9546, 1.33, 1.814, 2.432, 3.248, 4.306, 5.642, 7.278",\
                 "0.572, 0.684, 0.954, 1.332, 1.814, 2.436, 3.248, 4.306, 5.636, 7.274",\
                 "0.574, 0.688, 0.96, 1.334, 1.816, 2.44, 3.254, 4.304, 5.64, 7.268");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4068, 0.5306, 0.92, 1.573, 2.59, 4.085, 6.113, 8.693, 11.83, 15.61",\
                 "0.4058, 0.5318, 0.9222, 1.571, 2.59, 4.089, 6.12, 8.685, 11.83, 15.61",\
                 "0.4072, 0.5308, 0.9214, 1.571, 2.589, 4.085, 6.113, 8.693, 11.84, 15.61",\
                 "0.407, 0.5304, 0.9198, 1.571, 2.587, 4.089, 6.117, 8.683, 11.83, 15.61",\
                 "0.4068, 0.5304, 0.9216, 1.571, 2.589, 4.086, 6.12, 8.698, 11.83, 15.6",\
                 "0.4074, 0.5306, 0.9248, 1.571, 2.587, 4.085, 6.116, 8.692, 11.84, 15.61",\
                 "0.41, 0.5334, 0.924, 1.572, 2.59, 4.088, 6.104, 8.694, 11.84, 15.61",\
                 "0.414, 0.538, 0.928, 1.574, 2.59, 4.088, 6.114, 8.688, 11.84, 15.58",\
                 "0.424, 0.546, 0.934, 1.584, 2.596, 4.088, 6.118, 8.686, 11.83, 15.6",\
                 "0.432, 0.554, 0.942, 1.588, 2.6, 4.086, 6.104, 8.682, 11.83, 15.59");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.705, 3.828, 4.135, 4.553, 5.053, 5.626, 6.281, 7.037, 7.915, 8.934",\
                 "3.734, 3.856, 4.164, 4.581, 5.082, 5.654, 6.309, 7.066, 7.944, 8.963",\
                 "3.819, 3.942, 4.249, 4.667, 5.167, 5.739, 6.394, 7.151, 8.029, 9.048",\
                 "3.98, 4.102, 4.41, 4.827, 5.328, 5.9, 6.555, 7.312, 8.19, 9.209",\
                 "4.235, 4.358, 4.666, 5.083, 5.583, 6.155, 6.81, 7.567, 8.445, 9.464",\
                 "4.556, 4.678, 4.986, 5.403, 5.903, 6.475, 7.13, 7.888, 8.764, 9.785",\
                 "4.87, 4.993, 5.3, 5.718, 6.217, 6.79, 7.446, 8.202, 9.08, 10.1",\
                 "5.155, 5.277, 5.585, 6.004, 6.503, 7.076, 7.731, 8.487, 9.365, 10.38",\
                 "5.405, 5.529, 5.838, 6.256, 6.756, 7.33, 7.985, 8.741, 9.619, 10.64",\
                 "5.622, 5.745, 6.056, 6.475, 6.976, 7.55, 8.206, 8.963, 9.84, 10.86");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.227, 4.344, 4.661, 5.143, 5.803, 6.692, 7.853, 9.315, 11.1, 13.23",\
                 "4.266, 4.382, 4.699, 5.183, 5.843, 6.731, 7.892, 9.352, 11.14, 13.26",\
                 "4.37, 4.486, 4.804, 5.286, 5.947, 6.835, 7.996, 9.458, 11.24, 13.37",\
                 "4.525, 4.642, 4.96, 5.442, 6.102, 6.991, 8.152, 9.614, 11.4, 13.52",\
                 "4.761, 4.878, 5.196, 5.678, 6.338, 7.227, 8.387, 9.85, 11.63, 13.76",\
                 "5.105, 5.221, 5.539, 6.022, 6.682, 7.57, 8.732, 10.19, 11.98, 14.1",\
                 "5.553, 5.67, 5.987, 6.47, 7.131, 8.019, 9.18, 10.64, 12.42, 14.55",\
                 "6.086, 6.202, 6.52, 7.003, 7.664, 8.551, 9.712, 11.17, 12.96, 15.08",\
                 "6.691, 6.808, 7.128, 7.61, 8.271, 9.158, 10.32, 11.78, 13.56, 15.69",\
                 "7.371, 7.489, 7.808, 8.293, 8.954, 9.84, 11, 12.46, 14.24, 16.37");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5446, 0.6596, 0.9468, 1.341, 1.848, 2.482, 3.301, 4.352, 5.682, 7.303",\
                 "0.5444, 0.6592, 0.9466, 1.341, 1.848, 2.483, 3.301, 4.354, 5.683, 7.306",\
                 "0.5436, 0.66, 0.9468, 1.342, 1.848, 2.483, 3.301, 4.352, 5.676, 7.301",\
                 "0.5428, 0.6598, 0.9454, 1.342, 1.848, 2.483, 3.302, 4.358, 5.683, 7.304",\
                 "0.5436, 0.6598, 0.946, 1.342, 1.848, 2.484, 3.301, 4.352, 5.683, 7.306",\
                 "0.5442, 0.6602, 0.9464, 1.342, 1.848, 2.483, 3.301, 4.355, 5.675, 7.308",\
                 "0.5464, 0.6622, 0.948, 1.342, 1.85, 2.487, 3.302, 4.354, 5.674, 7.306",\
                 "0.55, 0.668, 0.952, 1.346, 1.85, 2.486, 3.304, 4.354, 5.676, 7.304",\
                 "0.556, 0.672, 0.958, 1.352, 1.856, 2.49, 3.304, 4.354, 5.672, 7.302",\
                 "0.56, 0.678, 0.964, 1.358, 1.862, 2.494, 3.308, 4.358, 5.676, 7.292");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4018, 0.5248, 0.9124, 1.56, 2.581, 4.087, 6.119, 8.698, 11.85, 15.61",\
                 "0.4012, 0.524, 0.9118, 1.559, 2.582, 4.089, 6.117, 8.698, 11.83, 15.59",\
                 "0.4024, 0.525, 0.9124, 1.561, 2.58, 4.082, 6.117, 8.7, 11.86, 15.61",\
                 "0.4016, 0.5244, 0.9124, 1.561, 2.585, 4.087, 6.119, 8.694, 11.84, 15.59",\
                 "0.4014, 0.5248, 0.9128, 1.56, 2.58, 4.087, 6.11, 8.697, 11.84, 15.62",\
                 "0.4022, 0.5256, 0.9126, 1.563, 2.579, 4.085, 6.122, 8.702, 11.84, 15.6",\
                 "0.4058, 0.529, 0.9146, 1.562, 2.584, 4.09, 6.11, 8.692, 11.84, 15.61",\
                 "0.408, 0.532, 0.916, 1.564, 2.582, 4.082, 6.108, 8.696, 11.84, 15.62",\
                 "0.414, 0.536, 0.92, 1.564, 2.588, 4.086, 6.11, 8.682, 11.85, 15.6",\
                 "0.42, 0.542, 0.928, 1.57, 2.588, 4.086, 6.112, 8.688, 11.84, 15.59");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.705, 3.828, 4.135, 4.553, 5.053, 5.626, 6.281, 7.037, 7.915, 8.934",\
                 "3.734, 3.856, 4.164, 4.581, 5.082, 5.654, 6.309, 7.066, 7.944, 8.963",\
                 "3.819, 3.942, 4.249, 4.667, 5.167, 5.739, 6.394, 7.151, 8.029, 9.048",\
                 "3.98, 4.102, 4.41, 4.827, 5.328, 5.9, 6.555, 7.312, 8.19, 9.209",\
                 "4.235, 4.358, 4.666, 5.083, 5.583, 6.155, 6.81, 7.567, 8.445, 9.464",\
                 "4.556, 4.678, 4.986, 5.403, 5.903, 6.475, 7.13, 7.888, 8.764, 9.785",\
                 "4.87, 4.993, 5.3, 5.718, 6.217, 6.79, 7.446, 8.202, 9.08, 10.1",\
                 "5.155, 5.277, 5.585, 6.004, 6.503, 7.076, 7.731, 8.487, 9.365, 10.38",\
                 "5.405, 5.529, 5.838, 6.256, 6.756, 7.33, 7.985, 8.741, 9.619, 10.64",\
                 "5.622, 5.745, 6.056, 6.475, 6.976, 7.55, 8.206, 8.963, 9.84, 10.86");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.228, 4.347, 4.668, 5.155, 5.819, 6.708, 7.868, 9.328, 11.11, 13.24",\
                 "4.256, 4.374, 4.696, 5.183, 5.846, 6.735, 7.895, 9.356, 11.14, 13.27",\
                 "4.353, 4.472, 4.793, 5.28, 5.944, 6.833, 7.993, 9.453, 11.24, 13.37",\
                 "4.561, 4.679, 5, 5.488, 6.151, 7.041, 8.201, 9.662, 11.44, 13.57",\
                 "4.913, 5.03, 5.352, 5.839, 6.503, 7.392, 8.552, 10.01, 11.79, 13.92",\
                 "5.431, 5.55, 5.871, 6.359, 7.022, 7.91, 9.071, 10.53, 12.32, 14.44",\
                 "6.11, 6.229, 6.551, 7.038, 7.702, 8.591, 9.75, 11.21, 12.99, 15.12",\
                 "6.907, 7.027, 7.349, 7.836, 8.501, 9.389, 10.55, 12.01, 13.79, 15.92",\
                 "7.794, 7.914, 8.237, 8.726, 9.39, 10.28, 11.44, 12.9, 14.68, 16.8",\
                 "8.775, 8.897, 9.222, 9.711, 10.38, 11.26, 12.42, 13.88, 15.66, 17.79");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5446, 0.6596, 0.9468, 1.341, 1.848, 2.482, 3.301, 4.352, 5.682, 7.303",\
                 "0.5444, 0.6592, 0.9466, 1.341, 1.848, 2.483, 3.301, 4.354, 5.683, 7.306",\
                 "0.5436, 0.66, 0.9468, 1.342, 1.848, 2.483, 3.301, 4.352, 5.676, 7.301",\
                 "0.5428, 0.6598, 0.9454, 1.342, 1.848, 2.483, 3.302, 4.358, 5.683, 7.304",\
                 "0.5436, 0.6598, 0.946, 1.342, 1.848, 2.484, 3.301, 4.352, 5.683, 7.306",\
                 "0.5442, 0.6602, 0.9464, 1.342, 1.848, 2.483, 3.301, 4.355, 5.675, 7.308",\
                 "0.5464, 0.6622, 0.948, 1.342, 1.85, 2.487, 3.302, 4.354, 5.674, 7.306",\
                 "0.55, 0.668, 0.952, 1.346, 1.85, 2.486, 3.304, 4.354, 5.676, 7.304",\
                 "0.556, 0.672, 0.958, 1.352, 1.856, 2.49, 3.304, 4.354, 5.672, 7.302",\
                 "0.56, 0.678, 0.964, 1.358, 1.862, 2.494, 3.308, 4.358, 5.676, 7.292");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4018, 0.5248, 0.9124, 1.56, 2.581, 4.087, 6.119, 8.698, 11.85, 15.61",\
                 "0.4012, 0.524, 0.9118, 1.559, 2.582, 4.089, 6.117, 8.698, 11.83, 15.59",\
                 "0.4024, 0.525, 0.9124, 1.561, 2.58, 4.082, 6.117, 8.7, 11.86, 15.61",\
                 "0.4016, 0.5244, 0.9124, 1.561, 2.585, 4.087, 6.119, 8.694, 11.84, 15.59",\
                 "0.4014, 0.5248, 0.9128, 1.56, 2.58, 4.087, 6.11, 8.697, 11.84, 15.62",\
                 "0.4022, 0.5256, 0.9126, 1.563, 2.579, 4.085, 6.122, 8.702, 11.84, 15.6",\
                 "0.4058, 0.529, 0.9146, 1.562, 2.584, 4.09, 6.11, 8.692, 11.84, 15.61",\
                 "0.408, 0.532, 0.916, 1.564, 2.582, 4.082, 6.108, 8.696, 11.84, 15.62",\
                 "0.414, 0.536, 0.92, 1.564, 2.588, 4.086, 6.11, 8.682, 11.85, 15.6",\
                 "0.42, 0.542, 0.928, 1.57, 2.588, 4.086, 6.112, 8.688, 11.84, 15.59");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.18, 3.328, 3.7, 4.196, 4.778, 5.432, 6.158, 6.972, 7.895, 8.945",\
                 "3.201, 3.349, 3.721, 4.218, 4.798, 5.453, 6.179, 6.993, 7.915, 8.966",\
                 "3.28, 3.429, 3.8, 4.296, 4.878, 5.533, 6.259, 7.073, 7.995, 9.045",\
                 "3.416, 3.564, 3.936, 4.432, 5.013, 5.668, 6.394, 7.209, 8.131, 9.181",\
                 "3.658, 3.807, 4.177, 4.674, 5.255, 5.91, 6.637, 7.451, 8.373, 9.424",\
                 "4.048, 4.197, 4.567, 5.064, 5.644, 6.299, 7.026, 7.84, 8.762, 9.813",\
                 "4.592, 4.744, 5.116, 5.615, 6.196, 6.852, 7.579, 8.393, 9.316, 10.37",\
                 "5.261, 5.414, 5.798, 6.306, 6.897, 7.559, 8.292, 9.107, 10.03, 11.08",\
                 "6.061, 6.217, 6.608, 7.125, 7.729, 8.403, 9.145, 9.97, 10.9, 11.95",\
                 "6.999, 7.158, 7.554, 8.084, 8.696, 9.382, 10.13, 10.97, 11.9, 12.96");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.367, 1.479, 1.789, 2.264, 2.924, 3.815, 4.978, 6.441, 8.226, 10.36",\
                 "1.394, 1.506, 1.816, 2.292, 2.951, 3.842, 5.005, 6.469, 8.256, 10.39",\
                 "1.466, 1.578, 1.888, 2.363, 3.023, 3.914, 5.077, 6.541, 8.326, 10.46",\
                 "1.57, 1.683, 1.992, 2.468, 3.127, 4.018, 5.181, 6.644, 8.431, 10.56",\
                 "1.716, 1.829, 2.14, 2.615, 3.273, 4.163, 5.325, 6.788, 8.574, 10.71",\
                 "1.844, 1.961, 2.28, 2.763, 3.425, 4.314, 5.475, 6.939, 8.726, 10.85",\
                 "1.93, 2.051, 2.378, 2.872, 3.539, 4.429, 5.588, 7.05, 8.834, 10.96",\
                 "1.958, 2.083, 2.42, 2.925, 3.599, 4.49, 5.649, 7.107, 8.89, 11.02",\
                 "1.912, 2.043, 2.391, 2.909, 3.593, 4.488, 5.647, 7.103, 8.885, 11.01",\
                 "1.78, 1.919, 2.279, 2.813, 3.512, 4.414, 5.575, 7.03, 8.81, 10.93");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.7704, 0.9108, 1.25, 1.693, 2.232, 2.884, 3.691, 4.71, 5.994, 7.561",\
                 "0.7702, 0.9116, 1.25, 1.691, 2.227, 2.883, 3.692, 4.718, 5.993, 7.56",\
                 "0.7706, 0.9106, 1.251, 1.693, 2.232, 2.884, 3.694, 4.714, 5.994, 7.562",\
                 "0.7706, 0.9118, 1.25, 1.691, 2.232, 2.883, 3.688, 4.71, 5.988, 7.558",\
                 "0.7714, 0.9128, 1.251, 1.694, 2.232, 2.885, 3.69, 4.72, 5.995, 7.561",\
                 "0.7732, 0.9128, 1.253, 1.695, 2.234, 2.887, 3.695, 4.722, 5.996, 7.566",\
                 "0.7984, 0.9382, 1.274, 1.714, 2.245, 2.9, 3.706, 4.726, 5.996, 7.562",\
                 "0.834, 0.978, 1.322, 1.764, 2.29, 2.932, 3.734, 4.746, 6.014, 7.57",\
                 "0.868, 1.016, 1.368, 1.818, 2.352, 2.998, 3.784, 4.782, 6.042, 7.594",\
                 "0.908, 1.058, 1.418, 1.872, 2.412, 3.054, 3.846, 4.836, 6.09, 7.63");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.3482, 0.475, 0.8632, 1.516, 2.554, 4.076, 6.108, 8.694, 11.85, 15.6",\
                 "0.349, 0.4748, 0.8626, 1.52, 2.558, 4.075, 6.113, 8.688, 11.84, 15.61",\
                 "0.35, 0.4756, 0.8632, 1.519, 2.558, 4.077, 6.107, 8.685, 11.85, 15.6",\
                 "0.3494, 0.475, 0.8648, 1.52, 2.554, 4.076, 6.109, 8.697, 11.84, 15.6",\
                 "0.361, 0.4834, 0.8694, 1.525, 2.56, 4.07, 6.109, 8.698, 11.86, 15.6",\
                 "0.3862, 0.513, 0.9052, 1.549, 2.57, 4.079, 6.107, 8.692, 11.85, 15.6",\
                 "0.4174, 0.5438, 0.9372, 1.586, 2.596, 4.086, 6.113, 8.695, 11.85, 15.61",\
                 "0.4564, 0.5836, 0.979, 1.632, 2.63, 4.105, 6.117, 8.692, 11.85, 15.61",\
                 "0.5018, 0.6296, 1.029, 1.686, 2.676, 4.132, 6.132, 8.694, 11.84, 15.6",\
                 "0.556, 0.686, 1.086, 1.754, 2.734, 4.174, 6.16, 8.704, 11.84, 15.59");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("2.079, 2.201, 2.504, 2.911, 3.396, 3.951, 4.59, 5.334, 6.203, 7.217",\
                 "2.115, 2.238, 2.541, 2.947, 3.432, 3.987, 4.626, 5.37, 6.239, 7.252",\
                 "2.227, 2.349, 2.652, 3.059, 3.544, 4.099, 4.738, 5.482, 6.351, 7.364",\
                 "2.39, 2.513, 2.816, 3.222, 3.707, 4.263, 4.902, 5.646, 6.515, 7.528",\
                 "2.629, 2.752, 3.055, 3.461, 3.945, 4.501, 5.14, 5.884, 6.752, 7.766",\
                 "2.971, 3.095, 3.399, 3.807, 4.293, 4.849, 5.488, 6.232, 7.101, 8.115",\
                 "3.386, 3.514, 3.83, 4.25, 4.746, 5.309, 5.953, 6.699, 7.568, 8.582",\
                 "3.883, 4.014, 4.34, 4.773, 5.284, 5.862, 6.516, 7.267, 8.14, 9.155",\
                 "4.461, 4.598, 4.936, 5.383, 5.908, 6.5, 7.166, 7.928, 8.806, 9.824",\
                 "5.116, 5.258, 5.609, 6.074, 6.617, 7.227, 7.907, 8.68, 9.564, 10.59");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.945, 2.072, 2.415, 2.938, 3.635, 4.547, 5.716, 7.182, 8.97, 11.1",\
                 "1.961, 2.088, 2.431, 2.954, 3.652, 4.563, 5.733, 7.199, 8.987, 11.12",\
                 "2.006, 2.133, 2.476, 2.998, 3.696, 4.607, 5.778, 7.244, 9.03, 11.16",\
                 "2.096, 2.223, 2.566, 3.089, 3.787, 4.698, 5.868, 7.334, 9.121, 11.25",\
                 "2.248, 2.375, 2.717, 3.239, 3.937, 4.847, 6.017, 7.483, 9.272, 11.4",\
                 "2.438, 2.567, 2.913, 3.437, 4.135, 5.045, 6.214, 7.678, 9.463, 11.59",\
                 "2.618, 2.749, 3.101, 3.632, 4.335, 5.247, 6.416, 7.879, 9.665, 11.79",\
                 "2.777, 2.912, 3.269, 3.808, 4.516, 5.431, 6.599, 8.061, 9.846, 11.97",\
                 "2.906, 3.044, 3.41, 3.956, 4.671, 5.587, 6.756, 8.217, 10, 12.13",\
                 "2.994, 3.138, 3.511, 4.069, 4.795, 5.717, 6.886, 8.346, 10.13, 12.25");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5342, 0.6478, 0.9212, 1.3, 1.791, 2.415, 3.235, 4.299, 5.636, 7.275",\
                 "0.5346, 0.6468, 0.921, 1.301, 1.792, 2.419, 3.241, 4.299, 5.632, 7.272",\
                 "0.5334, 0.647, 0.9206, 1.301, 1.79, 2.416, 3.241, 4.297, 5.63, 7.275",\
                 "0.5346, 0.6472, 0.9206, 1.301, 1.791, 2.416, 3.241, 4.297, 5.635, 7.276",\
                 "0.534, 0.6476, 0.9212, 1.302, 1.792, 2.418, 3.234, 4.297, 5.632, 7.275",\
                 "0.5556, 0.6688, 0.9382, 1.313, 1.802, 2.426, 3.246, 4.302, 5.638, 7.277",\
                 "0.5938, 0.7122, 0.9904, 1.366, 1.848, 2.456, 3.262, 4.312, 5.639, 7.28",\
                 "0.635, 0.756, 1.044, 1.429, 1.915, 2.526, 3.318, 4.35, 5.666, 7.282",\
                 "0.688, 0.814, 1.108, 1.498, 1.99, 2.598, 3.384, 4.406, 5.706, 7.308",\
                 "0.75, 0.88, 1.186, 1.586, 2.082, 2.686, 3.462, 4.472, 5.756, 7.342");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4498, 0.582, 0.997, 1.679, 2.7, 4.173, 6.164, 8.737, 11.88, 15.63",\
                 "0.4506, 0.582, 0.997, 1.681, 2.7, 4.172, 6.164, 8.746, 11.87, 15.63",\
                 "0.4494, 0.5814, 0.995, 1.681, 2.696, 4.172, 6.174, 8.739, 11.89, 15.65",\
                 "0.4498, 0.5816, 0.9958, 1.678, 2.694, 4.173, 6.167, 8.737, 11.89, 15.63",\
                 "0.4492, 0.582, 0.9958, 1.682, 2.7, 4.171, 6.172, 8.728, 11.89, 15.64",\
                 "0.4698, 0.6016, 1.014, 1.693, 2.705, 4.174, 6.173, 8.737, 11.89, 15.65",\
                 "0.4954, 0.6292, 1.041, 1.726, 2.73, 4.186, 6.179, 8.747, 11.89, 15.64",\
                 "0.5264, 0.6596, 1.074, 1.757, 2.757, 4.206, 6.188, 8.746, 11.89, 15.63",\
                 "0.5652, 0.6996, 1.11, 1.8, 2.792, 4.23, 6.204, 8.75, 11.9, 15.64",\
                 "0.612, 0.748, 1.156, 1.852, 2.838, 4.264, 6.222, 8.76, 11.89, 15.64");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.18, 3.328, 3.7, 4.196, 4.778, 5.432, 6.158, 6.972, 7.895, 8.945",\
                 "3.201, 3.349, 3.721, 4.218, 4.798, 5.453, 6.179, 6.993, 7.915, 8.966",\
                 "3.28, 3.429, 3.8, 4.296, 4.878, 5.533, 6.259, 7.073, 7.995, 9.045",\
                 "3.416, 3.564, 3.936, 4.432, 5.013, 5.668, 6.394, 7.209, 8.131, 9.181",\
                 "3.658, 3.807, 4.177, 4.674, 5.255, 5.91, 6.637, 7.451, 8.373, 9.424",\
                 "4.048, 4.197, 4.567, 5.064, 5.644, 6.299, 7.026, 7.84, 8.762, 9.813",\
                 "4.592, 4.744, 5.116, 5.615, 6.196, 6.852, 7.579, 8.393, 9.316, 10.37",\
                 "5.261, 5.414, 5.798, 6.306, 6.897, 7.559, 8.292, 9.107, 10.03, 11.08",\
                 "6.061, 6.217, 6.608, 7.125, 7.729, 8.403, 9.145, 9.97, 10.9, 11.95",\
                 "6.999, 7.158, 7.554, 8.084, 8.696, 9.382, 10.13, 10.97, 11.9, 12.96");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.945, 2.072, 2.415, 2.938, 3.635, 4.547, 5.716, 7.182, 8.97, 11.1",\
                 "1.961, 2.088, 2.431, 2.954, 3.652, 4.563, 5.733, 7.199, 8.987, 11.12",\
                 "2.006, 2.133, 2.476, 2.998, 3.696, 4.607, 5.778, 7.244, 9.03, 11.16",\
                 "2.096, 2.223, 2.566, 3.089, 3.787, 4.698, 5.868, 7.334, 9.121, 11.25",\
                 "2.248, 2.375, 2.717, 3.239, 3.937, 4.847, 6.017, 7.483, 9.272, 11.4",\
                 "2.438, 2.567, 2.913, 3.437, 4.135, 5.045, 6.214, 7.678, 9.463, 11.59",\
                 "2.618, 2.749, 3.101, 3.632, 4.335, 5.247, 6.416, 7.879, 9.665, 11.79",\
                 "2.777, 2.912, 3.269, 3.808, 4.516, 5.431, 6.599, 8.061, 9.846, 11.97",\
                 "2.906, 3.044, 3.41, 3.956, 4.671, 5.587, 6.756, 8.217, 10, 12.13",\
                 "2.994, 3.138, 3.511, 4.069, 4.795, 5.717, 6.886, 8.346, 10.13, 12.25");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.7704, 0.9108, 1.25, 1.693, 2.232, 2.884, 3.691, 4.71, 5.994, 7.561",\
                 "0.7702, 0.9116, 1.25, 1.691, 2.227, 2.883, 3.692, 4.718, 5.993, 7.56",\
                 "0.7706, 0.9106, 1.251, 1.693, 2.232, 2.884, 3.694, 4.714, 5.994, 7.562",\
                 "0.7706, 0.9118, 1.25, 1.691, 2.232, 2.883, 3.688, 4.71, 5.988, 7.558",\
                 "0.7714, 0.9128, 1.251, 1.694, 2.232, 2.885, 3.69, 4.72, 5.995, 7.561",\
                 "0.7732, 0.9128, 1.253, 1.695, 2.234, 2.887, 3.695, 4.722, 5.996, 7.566",\
                 "0.7984, 0.9382, 1.274, 1.714, 2.245, 2.9, 3.706, 4.726, 5.996, 7.562",\
                 "0.834, 0.978, 1.322, 1.764, 2.29, 2.932, 3.734, 4.746, 6.014, 7.57",\
                 "0.868, 1.016, 1.368, 1.818, 2.352, 2.998, 3.784, 4.782, 6.042, 7.594",\
                 "0.908, 1.058, 1.418, 1.872, 2.412, 3.054, 3.846, 4.836, 6.09, 7.63");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.4498, 0.582, 0.997, 1.679, 2.7, 4.173, 6.164, 8.737, 11.88, 15.63",\
                 "0.4506, 0.582, 0.997, 1.681, 2.7, 4.172, 6.164, 8.746, 11.87, 15.63",\
                 "0.4494, 0.5814, 0.995, 1.681, 2.696, 4.172, 6.174, 8.739, 11.89, 15.65",\
                 "0.4498, 0.5816, 0.9958, 1.678, 2.694, 4.173, 6.167, 8.737, 11.89, 15.63",\
                 "0.4492, 0.582, 0.9958, 1.682, 2.7, 4.171, 6.172, 8.728, 11.89, 15.64",\
                 "0.4698, 0.6016, 1.014, 1.693, 2.705, 4.174, 6.173, 8.737, 11.89, 15.65",\
                 "0.4954, 0.6292, 1.041, 1.726, 2.73, 4.186, 6.179, 8.747, 11.89, 15.64",\
                 "0.5264, 0.6596, 1.074, 1.757, 2.757, 4.206, 6.188, 8.746, 11.89, 15.63",\
                 "0.5652, 0.6996, 1.11, 1.8, 2.792, 4.23, 6.204, 8.75, 11.9, 15.64",\
                 "0.612, 0.748, 1.156, 1.852, 2.838, 4.264, 6.222, 8.76, 11.89, 15.64");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.704, 3.83, 4.14, 4.553, 5.043, 5.602, 6.243, 6.988, 7.858, 8.872",\
                 "3.731, 3.856, 4.167, 4.58, 5.069, 5.629, 6.27, 7.015, 7.885, 8.899",\
                 "3.817, 3.943, 4.253, 4.666, 5.156, 5.715, 6.356, 7.102, 7.971, 8.985",\
                 "3.979, 4.104, 4.415, 4.828, 5.318, 5.876, 6.518, 7.263, 8.133, 9.147",\
                 "4.223, 4.349, 4.659, 5.072, 5.562, 6.121, 6.762, 7.507, 8.377, 9.391",\
                 "4.508, 4.633, 4.944, 5.357, 5.847, 6.405, 7.047, 7.792, 8.662, 9.676",\
                 "4.777, 4.903, 5.214, 5.628, 6.117, 6.677, 7.318, 8.064, 8.933, 9.947",\
                 "5.022, 5.146, 5.454, 5.861, 6.348, 6.907, 7.55, 8.296, 9.165, 10.18",\
                 "5.215, 5.338, 5.641, 6.046, 6.531, 7.089, 7.731, 8.477, 9.349, 10.37",\
                 "5.354, 5.476, 5.778, 6.182, 6.668, 7.225, 7.867, 8.613, 9.485, 10.5");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.053, 4.169, 4.485, 4.965, 5.624, 6.511, 7.671, 9.132, 10.92, 13.04",\
                 "4.087, 4.203, 4.519, 4.999, 5.658, 6.545, 7.705, 9.166, 10.95, 13.08",\
                 "4.194, 4.31, 4.626, 5.106, 5.765, 6.653, 7.813, 9.274, 11.06, 13.18",\
                 "4.41, 4.526, 4.842, 5.323, 5.981, 6.869, 8.029, 9.49, 11.27, 13.4",\
                 "4.766, 4.883, 5.199, 5.679, 6.338, 7.225, 8.385, 9.847, 11.63, 13.76",\
                 "5.281, 5.398, 5.714, 6.194, 6.853, 7.74, 8.9, 10.36, 12.15, 14.27",\
                 "5.94, 6.057, 6.373, 6.854, 7.513, 8.4, 9.559, 11.02, 12.8, 14.93",\
                 "6.7, 6.817, 7.135, 7.615, 8.274, 9.161, 10.32, 11.78, 13.56, 15.69",\
                 "7.535, 7.652, 7.971, 8.453, 9.112, 9.999, 11.16, 12.62, 14.4, 16.53",\
                 "8.454, 8.573, 8.892, 9.375, 10.04, 10.92, 12.08, 13.54, 15.32, 17.45");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5626, 0.6794, 0.9548, 1.331, 1.818, 2.436, 3.251, 4.304, 5.641, 7.275",\
                 "0.5636, 0.6794, 0.9554, 1.332, 1.817, 2.436, 3.25, 4.304, 5.644, 7.28",\
                 "0.564, 0.6794, 0.9562, 1.331, 1.817, 2.435, 3.25, 4.306, 5.644, 7.269",\
                 "0.5642, 0.6796, 0.9556, 1.331, 1.817, 2.438, 3.251, 4.305, 5.642, 7.27",\
                 "0.5648, 0.68, 0.9554, 1.332, 1.819, 2.435, 3.25, 4.303, 5.644, 7.279",\
                 "0.5654, 0.6812, 0.958, 1.332, 1.819, 2.44, 3.256, 4.304, 5.64, 7.272",\
                 "0.565, 0.6814, 0.9566, 1.333, 1.82, 2.438, 3.258, 4.306, 5.644, 7.28",\
                 "0.566, 0.68, 0.95, 1.322, 1.812, 2.438, 3.254, 4.31, 5.64, 7.278",\
                 "0.566, 0.674, 0.942, 1.318, 1.814, 2.436, 3.254, 4.314, 5.646, 7.28",\
                 "0.566, 0.676, 0.942, 1.32, 1.812, 2.436, 3.26, 4.312, 5.648, 7.284");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.3962, 0.5184, 0.905, 1.554, 2.573, 4.081, 6.109, 8.69, 11.83, 15.59",\
                 "0.3968, 0.5186, 0.904, 1.554, 2.577, 4.078, 6.116, 8.701, 11.85, 15.59",\
                 "0.3958, 0.5186, 0.905, 1.554, 2.577, 4.082, 6.105, 8.699, 11.85, 15.59",\
                 "0.395, 0.519, 0.9052, 1.553, 2.577, 4.082, 6.107, 8.699, 11.83, 15.62",\
                 "0.3952, 0.5188, 0.9056, 1.555, 2.577, 4.082, 6.11, 8.688, 11.85, 15.6",\
                 "0.3964, 0.5192, 0.9058, 1.555, 2.573, 4.081, 6.106, 8.686, 11.84, 15.59",\
                 "0.3996, 0.521, 0.908, 1.558, 2.574, 4.084, 6.118, 8.688, 11.85, 15.61",\
                 "0.404, 0.528, 0.912, 1.56, 2.578, 4.082, 6.11, 8.69, 11.84, 15.58",\
                 "0.412, 0.532, 0.92, 1.564, 2.58, 4.08, 6.116, 8.684, 11.84, 15.6",\
                 "0.422, 0.542, 0.928, 1.572, 2.586, 4.084, 6.114, 8.682, 11.85, 15.59");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.664, 3.787, 4.092, 4.499, 4.984, 5.541, 6.18, 6.924, 7.793, 8.807",\
                 "3.691, 3.814, 4.119, 4.526, 5.011, 5.567, 6.207, 6.951, 7.82, 8.833",\
                 "3.777, 3.901, 4.205, 4.612, 5.098, 5.654, 6.293, 7.037, 7.906, 8.92",\
                 "3.939, 4.062, 4.367, 4.774, 5.26, 5.816, 6.455, 7.199, 8.068, 9.082",\
                 "4.186, 4.309, 4.614, 5.021, 5.506, 6.062, 6.702, 7.446, 8.315, 9.328",\
                 "4.477, 4.601, 4.906, 5.313, 5.798, 6.355, 6.994, 7.739, 8.607, 9.62",\
                 "4.756, 4.879, 5.184, 5.592, 6.077, 6.633, 7.273, 8.017, 8.885, 9.899",\
                 "5.01, 5.131, 5.435, 5.839, 6.322, 6.876, 7.516, 8.261, 9.128, 10.14",\
                 "5.213, 5.336, 5.636, 6.038, 6.521, 7.076, 7.715, 8.459, 9.327, 10.34",\
                 "5.364, 5.485, 5.786, 6.188, 6.672, 7.227, 7.867, 8.61, 9.479, 10.49");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.106, 4.223, 4.541, 5.023, 5.683, 6.572, 7.732, 9.194, 10.98, 13.11",\
                 "4.14, 4.257, 4.575, 5.057, 5.717, 6.606, 7.766, 9.228, 11.01, 13.14",\
                 "4.247, 4.364, 4.682, 5.163, 5.824, 6.713, 7.873, 9.336, 11.12, 13.25",\
                 "4.463, 4.581, 4.898, 5.38, 6.041, 6.929, 8.09, 9.552, 11.34, 13.46",\
                 "4.821, 4.938, 5.256, 5.739, 6.399, 7.287, 8.447, 9.91, 11.69, 13.82",\
                 "5.337, 5.454, 5.772, 6.254, 6.914, 7.803, 8.963, 10.43, 12.21, 14.34",\
                 "5.994, 6.111, 6.429, 6.912, 7.572, 8.46, 9.621, 11.08, 12.87, 14.99",\
                 "6.748, 6.865, 7.184, 7.667, 8.329, 9.217, 10.38, 11.84, 13.62, 15.75",\
                 "7.574, 7.692, 8.012, 8.497, 9.159, 10.05, 11.21, 12.67, 14.46, 16.58",\
                 "8.485, 8.604, 8.926, 9.411, 10.07, 10.96, 12.12, 13.59, 15.37, 17.5");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.55, 0.6634, 0.9344, 1.314, 1.8, 2.423, 3.24, 4.301, 5.637, 7.275",\
                 "0.5504, 0.6632, 0.9346, 1.314, 1.802, 2.423, 3.24, 4.301, 5.631, 7.276",\
                 "0.5502, 0.6634, 0.9356, 1.314, 1.8, 2.423, 3.24, 4.301, 5.638, 7.277",\
                 "0.55, 0.6638, 0.9354, 1.311, 1.8, 2.423, 3.241, 4.301, 5.638, 7.272",\
                 "0.5504, 0.6638, 0.9358, 1.314, 1.801, 2.423, 3.24, 4.301, 5.637, 7.275",\
                 "0.5526, 0.6648, 0.937, 1.314, 1.802, 2.424, 3.242, 4.301, 5.635, 7.276",\
                 "0.551, 0.6646, 0.9364, 1.313, 1.802, 2.424, 3.248, 4.298, 5.632, 7.274",\
                 "0.554, 0.666, 0.932, 1.308, 1.796, 2.422, 3.238, 4.302, 5.634, 7.276",\
                 "0.556, 0.666, 0.93, 1.306, 1.802, 2.424, 3.238, 4.296, 5.63, 7.268",\
                 "0.558, 0.67, 0.934, 1.312, 1.802, 2.424, 3.24, 4.302, 5.63, 7.262");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.402, 0.5252, 0.9122, 1.559, 2.584, 4.087, 6.123, 8.683, 11.86, 15.61",\
                 "0.4014, 0.525, 0.9106, 1.561, 2.585, 4.082, 6.114, 8.684, 11.83, 15.59",\
                 "0.4016, 0.5248, 0.914, 1.562, 2.58, 4.087, 6.122, 8.697, 11.84, 15.59",\
                 "0.4018, 0.525, 0.9112, 1.563, 2.585, 4.087, 6.111, 8.698, 11.83, 15.59",\
                 "0.402, 0.525, 0.9116, 1.562, 2.58, 4.082, 6.122, 8.699, 11.83, 15.61",\
                 "0.4036, 0.526, 0.9136, 1.56, 2.585, 4.089, 6.118, 8.696, 11.83, 15.61",\
                 "0.4058, 0.5274, 0.9144, 1.564, 2.584, 4.086, 6.11, 8.7, 11.83, 15.59",\
                 "0.412, 0.534, 0.92, 1.566, 2.588, 4.094, 6.124, 8.69, 11.84, 15.58",\
                 "0.418, 0.538, 0.928, 1.572, 2.592, 4.092, 6.122, 8.69, 11.83, 15.6",\
                 "0.426, 0.546, 0.932, 1.578, 2.592, 4.092, 6.126, 8.696, 11.85, 15.59");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.704, 3.83, 4.14, 4.553, 5.043, 5.602, 6.243, 6.988, 7.858, 8.872",\
                 "3.731, 3.856, 4.167, 4.58, 5.069, 5.629, 6.27, 7.015, 7.885, 8.899",\
                 "3.817, 3.943, 4.253, 4.666, 5.156, 5.715, 6.356, 7.102, 7.971, 8.985",\
                 "3.979, 4.104, 4.415, 4.828, 5.318, 5.876, 6.518, 7.263, 8.133, 9.147",\
                 "4.223, 4.349, 4.659, 5.072, 5.562, 6.121, 6.762, 7.507, 8.377, 9.391",\
                 "4.508, 4.633, 4.944, 5.357, 5.847, 6.405, 7.047, 7.792, 8.662, 9.676",\
                 "4.777, 4.903, 5.214, 5.628, 6.117, 6.677, 7.318, 8.064, 8.933, 9.947",\
                 "5.022, 5.146, 5.454, 5.861, 6.348, 6.907, 7.55, 8.296, 9.165, 10.18",\
                 "5.215, 5.338, 5.641, 6.046, 6.531, 7.089, 7.731, 8.477, 9.349, 10.37",\
                 "5.354, 5.476, 5.778, 6.182, 6.668, 7.225, 7.867, 8.613, 9.485, 10.5");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("4.106, 4.223, 4.541, 5.023, 5.683, 6.572, 7.732, 9.194, 10.98, 13.11",\
                 "4.14, 4.257, 4.575, 5.057, 5.717, 6.606, 7.766, 9.228, 11.01, 13.14",\
                 "4.247, 4.364, 4.682, 5.163, 5.824, 6.713, 7.873, 9.336, 11.12, 13.25",\
                 "4.463, 4.581, 4.898, 5.38, 6.041, 6.929, 8.09, 9.552, 11.34, 13.46",\
                 "4.821, 4.938, 5.256, 5.739, 6.399, 7.287, 8.447, 9.91, 11.69, 13.82",\
                 "5.337, 5.454, 5.772, 6.254, 6.914, 7.803, 8.963, 10.43, 12.21, 14.34",\
                 "5.994, 6.111, 6.429, 6.912, 7.572, 8.46, 9.621, 11.08, 12.87, 14.99",\
                 "6.748, 6.865, 7.184, 7.667, 8.329, 9.217, 10.38, 11.84, 13.62, 15.75",\
                 "7.574, 7.692, 8.012, 8.497, 9.159, 10.05, 11.21, 12.67, 14.46, 16.58",\
                 "8.485, 8.604, 8.926, 9.411, 10.07, 10.96, 12.12, 13.59, 15.37, 17.5");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5626, 0.6794, 0.9548, 1.331, 1.818, 2.436, 3.251, 4.304, 5.641, 7.275",\
                 "0.5636, 0.6794, 0.9554, 1.332, 1.817, 2.436, 3.25, 4.304, 5.644, 7.28",\
                 "0.564, 0.6794, 0.9562, 1.331, 1.817, 2.435, 3.25, 4.306, 5.644, 7.269",\
                 "0.5642, 0.6796, 0.9556, 1.331, 1.817, 2.438, 3.251, 4.305, 5.642, 7.27",\
                 "0.5648, 0.68, 0.9554, 1.332, 1.819, 2.435, 3.25, 4.303, 5.644, 7.279",\
                 "0.5654, 0.6812, 0.958, 1.332, 1.819, 2.44, 3.256, 4.304, 5.64, 7.272",\
                 "0.565, 0.6814, 0.9566, 1.333, 1.82, 2.438, 3.258, 4.306, 5.644, 7.28",\
                 "0.566, 0.68, 0.95, 1.322, 1.812, 2.438, 3.254, 4.31, 5.64, 7.278",\
                 "0.566, 0.674, 0.942, 1.318, 1.814, 2.436, 3.254, 4.314, 5.646, 7.28",\
                 "0.566, 0.676, 0.942, 1.32, 1.812, 2.436, 3.26, 4.312, 5.648, 7.284");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.3962, 0.5184, 0.905, 1.554, 2.573, 4.081, 6.109, 8.69, 11.83, 15.59",\
                 "0.3968, 0.5186, 0.904, 1.554, 2.577, 4.078, 6.116, 8.701, 11.85, 15.59",\
                 "0.3958, 0.5186, 0.905, 1.554, 2.577, 4.082, 6.105, 8.699, 11.85, 15.59",\
                 "0.395, 0.519, 0.9052, 1.553, 2.577, 4.082, 6.107, 8.699, 11.83, 15.62",\
                 "0.3952, 0.5188, 0.9056, 1.555, 2.577, 4.082, 6.11, 8.688, 11.85, 15.6",\
                 "0.3964, 0.5192, 0.9058, 1.555, 2.573, 4.081, 6.106, 8.686, 11.84, 15.59",\
                 "0.3996, 0.521, 0.908, 1.558, 2.574, 4.084, 6.118, 8.688, 11.85, 15.61",\
                 "0.404, 0.528, 0.912, 1.56, 2.578, 4.082, 6.11, 8.69, 11.84, 15.58",\
                 "0.412, 0.532, 0.92, 1.564, 2.58, 4.08, 6.116, 8.684, 11.84, 15.6",\
                 "0.422, 0.542, 0.928, 1.572, 2.586, 4.084, 6.114, 8.682, 11.85, 15.59");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.09, 3.238, 3.609, 4.105, 4.687, 5.342, 6.067, 6.881, 7.803, 8.853",\
                 "3.113, 3.261, 3.632, 4.129, 4.71, 5.365, 6.09, 6.904, 7.826, 8.876",\
                 "3.188, 3.337, 3.708, 4.203, 4.784, 5.439, 6.165, 6.978, 7.9, 8.95",\
                 "3.366, 3.514, 3.884, 4.381, 4.961, 5.616, 6.342, 7.155, 8.077, 9.127",\
                 "3.693, 3.841, 4.212, 4.708, 5.289, 5.942, 6.669, 7.482, 8.404, 9.454",\
                 "4.202, 4.351, 4.722, 5.216, 5.798, 6.451, 7.177, 7.99, 8.912, 9.963",\
                 "4.908, 5.057, 5.428, 5.922, 6.503, 7.155, 7.881, 8.694, 9.617, 10.66",\
                 "5.76, 5.915, 6.293, 6.796, 7.378, 8.035, 8.762, 9.578, 10.5, 11.55",\
                 "6.721, 6.88, 7.273, 7.789, 8.387, 9.054, 9.789, 10.61, 11.53, 12.59",\
                 "7.808, 7.971, 8.375, 8.909, 9.519, 10.2, 10.95, 11.77, 12.7, 13.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.347, 1.461, 1.776, 2.259, 2.922, 3.815, 4.978, 6.442, 8.228, 10.36",\
                 "1.378, 1.492, 1.807, 2.289, 2.954, 3.846, 5.009, 6.474, 8.261, 10.39",\
                 "1.446, 1.56, 1.876, 2.358, 3.022, 3.914, 5.078, 6.54, 8.33, 10.46",\
                 "1.539, 1.653, 1.968, 2.451, 3.114, 4.007, 5.169, 6.634, 8.422, 10.55",\
                 "1.662, 1.778, 2.096, 2.579, 3.243, 4.135, 5.297, 6.76, 8.548, 10.68",\
                 "1.761, 1.881, 2.208, 2.703, 3.373, 4.266, 5.427, 6.891, 8.675, 10.8",\
                 "1.82, 1.944, 2.279, 2.783, 3.46, 4.356, 5.519, 6.98, 8.765, 10.89",\
                 "1.82, 1.947, 2.291, 2.806, 3.49, 4.387, 5.55, 7.012, 8.794, 10.92",\
                 "1.738, 1.871, 2.224, 2.754, 3.448, 4.35, 5.511, 6.971, 8.755, 10.88",\
                 "1.562, 1.701, 2.066, 2.611, 3.321, 4.231, 5.395, 6.853, 8.634, 10.76");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.7698, 0.9104, 1.249, 1.692, 2.231, 2.883, 3.693, 4.713, 5.992, 7.56",\
                 "0.7696, 0.9096, 1.25, 1.692, 2.231, 2.883, 3.693, 4.712, 5.992, 7.56",\
                 "0.769, 0.9092, 1.247, 1.691, 2.228, 2.882, 3.689, 4.715, 5.988, 7.554",\
                 "0.7692, 0.9098, 1.248, 1.688, 2.227, 2.88, 3.685, 4.715, 5.989, 7.555",\
                 "0.7686, 0.91, 1.249, 1.69, 2.23, 2.88, 3.685, 4.716, 5.992, 7.557",\
                 "0.7686, 0.9098, 1.249, 1.69, 2.23, 2.881, 3.688, 4.715, 5.99, 7.562",\
                 "0.7786, 0.921, 1.258, 1.697, 2.238, 2.888, 3.696, 4.714, 5.992, 7.554",\
                 "0.844, 0.986, 1.32, 1.75, 2.272, 2.918, 3.716, 4.73, 6, 7.562",\
                 "0.908, 1.054, 1.402, 1.832, 2.352, 2.984, 3.77, 4.764, 6.03, 7.584",\
                 "0.97, 1.12, 1.476, 1.914, 2.43, 3.058, 3.84, 4.822, 6.068, 7.61");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.358, 0.4852, 0.8796, 1.538, 2.565, 4.071, 6.102, 8.679, 11.83, 15.6",\
                 "0.3574, 0.4852, 0.878, 1.535, 2.565, 4.073, 6.102, 8.691, 11.84, 15.61",\
                 "0.3584, 0.4858, 0.8818, 1.536, 2.568, 4.072, 6.114, 8.696, 11.84, 15.59",\
                 "0.359, 0.4856, 0.8798, 1.535, 2.565, 4.074, 6.103, 8.68, 11.85, 15.59",\
                 "0.3744, 0.5002, 0.8898, 1.543, 2.568, 4.079, 6.108, 8.683, 11.85, 15.59",\
                 "0.401, 0.5288, 0.926, 1.576, 2.592, 4.086, 6.109, 8.692, 11.84, 15.6",\
                 "0.4254, 0.5586, 0.9594, 1.616, 2.622, 4.103, 6.117, 8.689, 11.83, 15.59",\
                 "0.4616, 0.5934, 1.003, 1.659, 2.654, 4.126, 6.131, 8.694, 11.85, 15.61",\
                 "0.5098, 0.639, 1.049, 1.719, 2.7, 4.154, 6.142, 8.704, 11.85, 15.61",\
                 "0.566, 0.696, 1.104, 1.782, 2.768, 4.196, 6.168, 8.716, 11.86, 15.61");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.993, 2.115, 2.421, 2.837, 3.335, 3.907, 4.561, 5.318, 6.195, 7.214",\
                 "2.035, 2.156, 2.462, 2.878, 3.377, 3.948, 4.603, 5.359, 6.237, 7.256",\
                 "2.141, 2.262, 2.568, 2.985, 3.483, 4.055, 4.709, 5.466, 6.343, 7.363",\
                 "2.296, 2.418, 2.723, 3.139, 3.638, 4.21, 4.864, 5.621, 6.498, 7.518",\
                 "2.527, 2.648, 2.953, 3.369, 3.867, 4.439, 5.093, 5.849, 6.727, 7.747",\
                 "2.857, 2.978, 3.284, 3.701, 4.201, 4.774, 5.429, 6.185, 7.063, 8.082",\
                 "3.252, 3.377, 3.688, 4.112, 4.624, 5.208, 5.87, 6.63, 7.51, 8.53",\
                 "3.72, 3.849, 4.169, 4.6, 5.122, 5.718, 6.395, 7.165, 8.05, 9.074",\
                 "4.257, 4.392, 4.724, 5.166, 5.698, 6.31, 6.997, 7.777, 8.671, 9.7",\
                 "4.854, 4.994, 5.342, 5.802, 6.35, 6.979, 7.682, 8.474, 9.374, 10.41");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.939, 2.065, 2.409, 2.931, 3.629, 4.541, 5.71, 7.176, 8.963, 11.09",\
                 "1.966, 2.093, 2.436, 2.959, 3.657, 4.568, 5.738, 7.205, 8.992, 11.12",\
                 "2.042, 2.169, 2.512, 3.035, 3.732, 4.643, 5.814, 7.28, 9.067, 11.2",\
                 "2.184, 2.31, 2.653, 3.176, 3.874, 4.785, 5.956, 7.421, 9.207, 11.34",\
                 "2.415, 2.541, 2.884, 3.406, 4.103, 5.014, 6.184, 7.65, 9.438, 11.57",\
                 "2.709, 2.837, 3.181, 3.702, 4.398, 5.306, 6.475, 7.939, 9.724, 11.85",\
                 "2.981, 3.111, 3.46, 3.988, 4.687, 5.597, 6.764, 8.225, 10.01, 12.14",\
                 "3.224, 3.358, 3.714, 4.247, 4.951, 5.861, 7.028, 8.487, 10.27, 12.4",\
                 "3.438, 3.577, 3.939, 4.479, 5.188, 6.099, 7.264, 8.724, 10.51, 12.63",\
                 "3.62, 3.764, 4.137, 4.688, 5.404, 6.318, 7.482, 8.939, 10.72, 12.85");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.5256, 0.6426, 0.929, 1.326, 1.837, 2.474, 3.296, 4.351, 5.671, 7.3",\
                 "0.5258, 0.6418, 0.9292, 1.327, 1.836, 2.478, 3.301, 4.35, 5.674, 7.305",\
                 "0.5268, 0.6432, 0.929, 1.327, 1.836, 2.478, 3.301, 4.35, 5.672, 7.305",\
                 "0.5258, 0.6418, 0.9284, 1.326, 1.836, 2.474, 3.295, 4.35, 5.672, 7.305",\
                 "0.5258, 0.642, 0.9282, 1.327, 1.838, 2.475, 3.302, 4.35, 5.676, 7.306",\
                 "0.5462, 0.6622, 0.9452, 1.342, 1.85, 2.483, 3.302, 4.354, 5.676, 7.306",\
                 "0.5854, 0.699, 0.981, 1.389, 1.904, 2.531, 3.336, 4.379, 5.691, 7.31",\
                 "0.6284, 0.7468, 1.031, 1.433, 1.963, 2.6, 3.404, 4.432, 5.734, 7.334",\
                 "0.686, 0.806, 1.096, 1.496, 2.028, 2.67, 3.474, 4.496, 5.788, 7.37",\
                 "0.75, 0.878, 1.18, 1.58, 2.11, 2.762, 3.558, 4.57, 5.842, 7.416");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.451, 0.582, 0.997, 1.678, 2.7, 4.172, 6.164, 8.737, 11.89, 15.64",\
                 "0.451, 0.5812, 0.9954, 1.681, 2.699, 4.17, 6.164, 8.74, 11.88, 15.63",\
                 "0.4494, 0.5818, 0.9964, 1.681, 2.694, 4.172, 6.168, 8.74, 11.88, 15.63",\
                 "0.4496, 0.5812, 0.997, 1.681, 2.695, 4.17, 6.176, 8.735, 11.9, 15.63",\
                 "0.449, 0.582, 0.9958, 1.68, 2.695, 4.167, 6.175, 8.74, 11.87, 15.64",\
                 "0.4672, 0.6004, 1.01, 1.689, 2.699, 4.172, 6.179, 8.735, 11.89, 15.65",\
                 "0.5022, 0.6324, 1.042, 1.722, 2.724, 4.182, 6.184, 8.739, 11.88, 15.63",\
                 "0.5422, 0.6714, 1.076, 1.756, 2.751, 4.204, 6.186, 8.75, 11.88, 15.65",\
                 "0.592, 0.72, 1.118, 1.798, 2.78, 4.226, 6.202, 8.75, 11.89, 15.66",\
                 "0.646, 0.774, 1.168, 1.85, 2.826, 4.252, 6.218, 8.764, 11.9, 15.64");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("3.09, 3.238, 3.609, 4.105, 4.687, 5.342, 6.067, 6.881, 7.803, 8.853",\
                 "3.113, 3.261, 3.632, 4.129, 4.71, 5.365, 6.09, 6.904, 7.826, 8.876",\
                 "3.188, 3.337, 3.708, 4.203, 4.784, 5.439, 6.165, 6.978, 7.9, 8.95",\
                 "3.366, 3.514, 3.884, 4.381, 4.961, 5.616, 6.342, 7.155, 8.077, 9.127",\
                 "3.693, 3.841, 4.212, 4.708, 5.289, 5.942, 6.669, 7.482, 8.404, 9.454",\
                 "4.202, 4.351, 4.722, 5.216, 5.798, 6.451, 7.177, 7.99, 8.912, 9.963",\
                 "4.908, 5.057, 5.428, 5.922, 6.503, 7.155, 7.881, 8.694, 9.617, 10.66",\
                 "5.76, 5.915, 6.293, 6.796, 7.378, 8.035, 8.762, 9.578, 10.5, 11.55",\
                 "6.721, 6.88, 7.273, 7.789, 8.387, 9.054, 9.789, 10.61, 11.53, 12.59",\
                 "7.808, 7.971, 8.375, 8.909, 9.519, 10.2, 10.95, 11.77, 12.7, 13.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("1.939, 2.065, 2.409, 2.931, 3.629, 4.541, 5.71, 7.176, 8.963, 11.09",\
                 "1.966, 2.093, 2.436, 2.959, 3.657, 4.568, 5.738, 7.205, 8.992, 11.12",\
                 "2.042, 2.169, 2.512, 3.035, 3.732, 4.643, 5.814, 7.28, 9.067, 11.2",\
                 "2.184, 2.31, 2.653, 3.176, 3.874, 4.785, 5.956, 7.421, 9.207, 11.34",\
                 "2.415, 2.541, 2.884, 3.406, 4.103, 5.014, 6.184, 7.65, 9.438, 11.57",\
                 "2.709, 2.837, 3.181, 3.702, 4.398, 5.306, 6.475, 7.939, 9.724, 11.85",\
                 "2.981, 3.111, 3.46, 3.988, 4.687, 5.597, 6.764, 8.225, 10.01, 12.14",\
                 "3.224, 3.358, 3.714, 4.247, 4.951, 5.861, 7.028, 8.487, 10.27, 12.4",\
                 "3.438, 3.577, 3.939, 4.479, 5.188, 6.099, 7.264, 8.724, 10.51, 12.63",\
                 "3.62, 3.764, 4.137, 4.688, 5.404, 6.318, 7.482, 8.939, 10.72, 12.85");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.7698, 0.9104, 1.249, 1.692, 2.231, 2.883, 3.693, 4.713, 5.992, 7.56",\
                 "0.7696, 0.9096, 1.25, 1.692, 2.231, 2.883, 3.693, 4.712, 5.992, 7.56",\
                 "0.769, 0.9092, 1.247, 1.691, 2.228, 2.882, 3.689, 4.715, 5.988, 7.554",\
                 "0.7692, 0.9098, 1.248, 1.688, 2.227, 2.88, 3.685, 4.715, 5.989, 7.555",\
                 "0.7686, 0.91, 1.249, 1.69, 2.23, 2.88, 3.685, 4.716, 5.992, 7.557",\
                 "0.7686, 0.9098, 1.249, 1.69, 2.23, 2.881, 3.688, 4.715, 5.99, 7.562",\
                 "0.7786, 0.921, 1.258, 1.697, 2.238, 2.888, 3.696, 4.714, 5.992, 7.554",\
                 "0.844, 0.986, 1.32, 1.75, 2.272, 2.918, 3.716, 4.73, 6, 7.562",\
                 "0.908, 1.054, 1.402, 1.832, 2.352, 2.984, 3.77, 4.764, 6.03, 7.584",\
                 "0.97, 1.12, 1.476, 1.914, 2.43, 3.058, 3.84, 4.822, 6.068, 7.61");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.009667, 0.04009, 0.09819, 0.1887, 0.3157, 0.4828, 0.6934, 0.9504, 1.257");
          values("0.451, 0.582, 0.997, 1.678, 2.7, 4.172, 6.164, 8.737, 11.89, 15.64",\
                 "0.451, 0.5812, 0.9954, 1.681, 2.699, 4.17, 6.164, 8.74, 11.88, 15.63",\
                 "0.4494, 0.5818, 0.9964, 1.681, 2.694, 4.172, 6.168, 8.74, 11.88, 15.63",\
                 "0.4496, 0.5812, 0.997, 1.681, 2.695, 4.17, 6.176, 8.735, 11.9, 15.63",\
                 "0.449, 0.582, 0.9958, 1.68, 2.695, 4.167, 6.175, 8.74, 11.87, 15.64",\
                 "0.4672, 0.6004, 1.01, 1.689, 2.699, 4.172, 6.179, 8.735, 11.89, 15.65",\
                 "0.5022, 0.6324, 1.042, 1.722, 2.724, 4.182, 6.184, 8.739, 11.88, 15.63",\
                 "0.5422, 0.6714, 1.076, 1.756, 2.751, 4.204, 6.186, 8.75, 11.88, 15.65",\
                 "0.592, 0.72, 1.118, 1.798, 2.78, 4.226, 6.202, 8.75, 11.89, 15.66",\
                 "0.646, 0.774, 1.168, 1.85, 2.826, 4.252, 6.218, 8.764, 11.9, 15.64");
        }
      }
    }
  }

