/*
 * Copyright 2022 GlobalFoundries PDK Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
  cell(gf180mcu_fd_sc_mcu9t5v0__dffnq_1) {
    area : 84.672000 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D" ;
      value : "8.663292e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D" ;
      value : "0.0001002474" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D" ;
      value : "6.426684e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D" ;
      value : "6.376986e-05" ;
    }

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

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

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

    pin(CLKN) {
      capacitance : 0.004536 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 6 ;
      min_period : 1.434 ;
      min_pulse_width_high : 0.522 ;
      min_pulse_width_low : 0.61 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.05853, 0.05827, 0.05775, 0.05749, 0.05787, 0.05888, 0.06051, \
                  0.06277, 0.06584, 0.06964");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.03759, 0.03745, 0.03708, 0.03683, 0.03695, 0.03771, 0.03914, \
                  0.0412, 0.044, 0.04759");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.05862, 0.05833, 0.05782, 0.05753, 0.05795, 0.05895, 0.06057, \
                  0.06288, 0.0659, 0.0697");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.03752, 0.03738, 0.03702, 0.03676, 0.03688, 0.03763, 0.03905, \
                  0.0411, 0.0439, 0.04749");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("0.588");
        }

        rise_constraint(scalar) {
          values("0.522");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        fall_constraint(scalar) {
          values("0.61");
        }

        rise_constraint(scalar) {
          values("0.458");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("1.203");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "D" ;

        fall_constraint(scalar) {
          values("1.434");
        }
      }
    }

    pin(D) {
      capacitance : 0.003554 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.0131, 0.01272, 0.01243, 0.01262, 0.01327, 0.01434, 0.01594, \
                  0.01811, 0.02087, 0.0243");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.002182, 0.001968, 0.001652, 0.001652, 0.002106, 0.003035, 0.004475, \
                  0.006446, 0.008968, 0.01204");
        }
      }

      internal_power() {
        when : "CLKN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.04229, 0.04207, 0.04179, 0.04172, 0.04217, 0.04309, 0.04454, \
                  0.04647, 0.049, 0.05218");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.02908, 0.02893, 0.02873, 0.02867, 0.02887, 0.02949, 0.03059, \
                  0.03221, 0.03439, 0.03717");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("-0.052, -0.038, 0.004, 0.098, 0.19, 0.291, 0.404, 0.547, 0.713, 0.901",\
                 "-0.066, -0.051, -0.007, 0.086, 0.178, 0.27, 0.39, 0.534, 0.695, 0.882",\
                 "-0.115, -0.104, -0.064, 0.033, 0.128, 0.22, 0.34, 0.478, 0.644, 0.827",\
                 "-0.213, -0.201, -0.159, -0.07, 0.027, 0.116, 0.232, 0.376, 0.542, 0.723",\
                 "-0.343, -0.33, -0.284, -0.198, -0.098, -0.016, 0.1, 0.234, 0.4, 0.581",\
                 "-0.477, -0.469, -0.425, -0.34, -0.243, -0.155, -0.048, 0.081, 0.247, 0.431",\
                 "-0.636, -0.62, -0.582, -0.491, -0.395, -0.308, -0.207, -0.078, 0.081, 0.253",\
                 "-0.8, -0.791, -0.753, -0.662, -0.571, -0.481, -0.378, -0.259, -0.102, 0.072",\
                 "-0.996, -0.985, -0.949, -0.852, -0.768, -0.676, -0.574, -0.45, -0.306, -0.135",\
                 "-1.211, -1.195, -1.162, -1.072, -0.977, -0.897, -0.792, -0.674, -0.524, -0.353");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.212, 0.228, 0.281, 0.379, 0.534, 0.697, 0.868, 1.062, 1.268, 1.49",\
                 "0.2, 0.211, 0.263, 0.367, 0.522, 0.685, 0.861, 1.047, 1.254, 1.483",\
                 "0.161, 0.176, 0.222, 0.329, 0.479, 0.639, 0.816, 1.01, 1.213, 1.442",\
                 "0.111, 0.126, 0.172, 0.277, 0.432, 0.595, 0.77, 0.967, 1.168, 1.395",\
                 "0.073, 0.089, 0.138, 0.246, 0.393, 0.553, 0.731, 0.924, 1.13, 1.355",\
                 "0.055, 0.067, 0.116, 0.223, 0.371, 0.534, 0.711, 0.9, 1.106, 1.334",\
                 "0.046, 0.061, 0.11, 0.219, 0.366, 0.528, 0.699, 0.896, 1.099, 1.324",\
                 "0.061, 0.08, 0.126, 0.234, 0.372, 0.535, 0.707, 0.898, 1.107, 1.33",\
                 "0.096, 0.11, 0.161, 0.264, 0.405, 0.562, 0.728, 0.921, 1.123, 1.353",\
                 "0.159, 0.177, 0.218, 0.32, 0.453, 0.608, 0.772, 0.966, 1.167, 1.394");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.406, 0.389, 0.336, 0.24, 0.124, -0.012, -0.155, -0.319, -0.504, -0.702",\
                 "0.417, 0.407, 0.346, 0.255, 0.135, 0.006, -0.137, -0.304, -0.489, -0.69",\
                 "0.474, 0.463, 0.4, 0.306, 0.19, 0.06, -0.086, -0.247, -0.432, -0.639",\
                 "0.58, 0.564, 0.508, 0.415, 0.3, 0.165, 0.018, -0.148, -0.331, -0.526",\
                 "0.737, 0.725, 0.661, 0.572, 0.452, 0.32, 0.17, 0.009, -0.178, -0.38",\
                 "0.926, 0.91, 0.845, 0.754, 0.635, 0.496, 0.355, 0.182, -0.002, -0.203",\
                 "1.123, 1.115, 1.051, 0.95, 0.829, 0.692, 0.544, 0.375, 0.186, -0.017",\
                 "1.349, 1.329, 1.268, 1.176, 1.046, 0.906, 0.758, 0.582, 0.398, 0.191",\
                 "1.59, 1.573, 1.513, 1.41, 1.285, 1.144, 0.991, 0.821, 0.625, 0.42",\
                 "1.851, 1.839, 1.775, 1.672, 1.549, 1.398, 1.243, 1.072, 0.878, 0.668");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.177, 0.168, 0.115, 0.024, -0.124, -0.283, -0.417, -0.589, -0.696, -0.783",\
                 "0.189, 0.182, 0.126, 0.035, -0.12, -0.27, -0.422, -0.594, -0.643, -0.779",\
                 "0.235, 0.223, 0.171, 0.073, -0.07, -0.229, -0.386, -0.54, -0.661, -0.775",\
                 "0.299, 0.291, 0.239, 0.132, -0.011, -0.164, -0.326, -0.481, -0.592, -0.732",\
                 "0.371, 0.359, 0.304, 0.206, 0.059, -0.103, -0.256, -0.418, -0.553, -0.657",\
                 "0.435, 0.426, 0.369, 0.26, 0.11, -0.046, -0.212, -0.38, -0.55, -0.723",\
                 "0.478, 0.465, 0.412, 0.304, 0.158, -0.009, -0.178, -0.357, -0.54, -0.746",\
                 "0.513, 0.5, 0.442, 0.338, 0.182, 0.015, -0.154, -0.34, -0.535, -0.741",\
                 "0.527, 0.512, 0.456, 0.35, 0.199, 0.032, -0.152, -0.34, -0.542, -0.758",\
                 "0.525, 0.512, 0.456, 0.344, 0.194, 0.021, -0.154, -0.349, -0.559, -0.777");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3141 ;
      max_transition : 6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
          values("0.05854, 0.05861, 0.05886, 0.05915, 0.05941, 0.05959, 0.05968, 0.05975, 0.05979, 0.05982",\
                 "0.05855, 0.05865, 0.05888, 0.05919, 0.05945, 0.05963, 0.05973, 0.05979, 0.05983, 0.05986",\
                 "0.05854, 0.05863, 0.05887, 0.05916, 0.05941, 0.05959, 0.05971, 0.05975, 0.05979, 0.05982",\
                 "0.05845, 0.05854, 0.05878, 0.0591, 0.05933, 0.05951, 0.05961, 0.05967, 0.05971, 0.05974",\
                 "0.05839, 0.05844, 0.05867, 0.059, 0.05925, 0.05944, 0.05953, 0.05959, 0.05964, 0.05966",\
                 "0.05834, 0.05842, 0.05869, 0.05899, 0.05927, 0.05944, 0.05953, 0.05959, 0.05963, 0.05966",\
                 "0.05844, 0.05852, 0.05876, 0.05904, 0.05932, 0.05948, 0.05959, 0.05965, 0.05969, 0.05972",\
                 "0.05856, 0.0586, 0.05882, 0.05916, 0.05945, 0.05962, 0.05973, 0.05981, 0.05985, 0.05987",\
                 "0.05865, 0.05872, 0.05895, 0.05927, 0.0595, 0.05969, 0.0598, 0.05986, 0.05991, 0.05994",\
                 "0.05878, 0.05885, 0.05908, 0.0594, 0.05964, 0.05981, 0.05991, 0.05998, 0.06003, 0.06006");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
          values("0.07105, 0.07112, 0.07134, 0.07181, 0.07225, 0.07272, 0.07314, 0.0734, 0.07368, 0.07445",\
                 "0.07104, 0.07106, 0.07135, 0.07182, 0.07222, 0.07281, 0.07307, 0.07347, 0.0739, 0.07406",\
                 "0.07099, 0.07106, 0.07131, 0.07178, 0.07225, 0.0727, 0.073, 0.07343, 0.07402, 0.07384",\
                 "0.07105, 0.07112, 0.07133, 0.07181, 0.07229, 0.07276, 0.07316, 0.07348, 0.07393, 0.07405",\
                 "0.07131, 0.07137, 0.07164, 0.07214, 0.07252, 0.07303, 0.07339, 0.07372, 0.07399, 0.07435",\
                 "0.07168, 0.07169, 0.07194, 0.07247, 0.07281, 0.07332, 0.07366, 0.07414, 0.07467, 0.07494",\
                 "0.072, 0.07204, 0.07229, 0.07285, 0.07325, 0.07374, 0.07416, 0.07442, 0.07467, 0.07516",\
                 "0.07237, 0.07246, 0.0726, 0.0731, 0.07367, 0.07414, 0.07438, 0.07477, 0.07524, 0.07536",\
                 "0.07267, 0.07278, 0.07301, 0.07349, 0.07392, 0.07457, 0.07505, 0.07508, 0.07553, 0.07621",\
                 "0.07301, 0.07307, 0.0733, 0.07376, 0.07424, 0.07445, 0.07525, 0.07569, 0.07582, 0.07608");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
          values("0.8662, 0.891, 0.9582, 1.056, 1.181, 1.342, 1.548, 1.807, 2.123, 2.499",\
                 "0.8806, 0.9055, 0.9726, 1.07, 1.195, 1.356, 1.563, 1.822, 2.137, 2.514",\
                 "0.9344, 0.959, 1.026, 1.124, 1.249, 1.41, 1.617, 1.875, 2.191, 2.567",\
                 "1.041, 1.066, 1.134, 1.231, 1.356, 1.517, 1.724, 1.982, 2.298, 2.674",\
                 "1.2, 1.225, 1.292, 1.39, 1.515, 1.676, 1.882, 2.141, 2.457, 2.833",\
                 "1.382, 1.407, 1.475, 1.572, 1.697, 1.858, 2.065, 2.324, 2.639, 3.015",\
                 "1.577, 1.602, 1.669, 1.767, 1.892, 2.053, 2.26, 2.518, 2.834, 3.21",\
                 "1.785, 1.81, 1.877, 1.975, 2.1, 2.261, 2.468, 2.727, 3.042, 3.419",\
                 "2.01, 2.035, 2.102, 2.2, 2.325, 2.486, 2.693, 2.951, 3.267, 3.643",\
                 "2.254, 2.279, 2.346, 2.444, 2.569, 2.73, 2.937, 3.196, 3.512, 3.887");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
          values("0.9681, 0.997, 1.087, 1.251, 1.5, 1.848, 2.305, 2.88, 3.582, 4.417",\
                 "0.9822, 1.011, 1.102, 1.265, 1.515, 1.863, 2.319, 2.894, 3.595, 4.432",\
                 "1.036, 1.065, 1.155, 1.319, 1.568, 1.916, 2.373, 2.948, 3.648, 4.486",\
                 "1.143, 1.172, 1.263, 1.426, 1.676, 2.024, 2.48, 3.055, 3.756, 4.593",\
                 "1.301, 1.33, 1.42, 1.584, 1.833, 2.181, 2.638, 3.213, 3.915, 4.75",\
                 "1.481, 1.51, 1.601, 1.764, 2.013, 2.361, 2.818, 3.393, 4.093, 4.93",\
                 "1.674, 1.702, 1.793, 1.956, 2.206, 2.554, 3.011, 3.586, 4.288, 5.123",\
                 "1.88, 1.909, 1.999, 2.162, 2.412, 2.76, 3.216, 3.791, 4.493, 5.329",\
                 "2.102, 2.131, 2.221, 2.385, 2.634, 2.982, 3.439, 4.013, 4.714, 5.55",\
                 "2.343, 2.372, 2.462, 2.625, 2.875, 3.223, 3.68, 4.254, 4.955, 5.79");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
          values("0.1139, 0.1356, 0.2007, 0.3081, 0.4722, 0.7176, 1.056, 1.49, 2.023, 2.663",\
                 "0.1138, 0.1355, 0.2007, 0.308, 0.4722, 0.7174, 1.056, 1.491, 2.022, 2.663",\
                 "0.114, 0.1356, 0.2006, 0.3082, 0.4722, 0.7186, 1.057, 1.49, 2.023, 2.663",\
                 "0.114, 0.1356, 0.2008, 0.3082, 0.4722, 0.7176, 1.057, 1.489, 2.022, 2.663",\
                 "0.1138, 0.1356, 0.201, 0.3082, 0.4722, 0.7174, 1.057, 1.491, 2.023, 2.663",\
                 "0.114, 0.1356, 0.2008, 0.3082, 0.4728, 0.7188, 1.057, 1.49, 2.023, 2.663",\
                 "0.1142, 0.136, 0.2014, 0.3082, 0.473, 0.7188, 1.057, 1.49, 2.022, 2.663",\
                 "0.1144, 0.1362, 0.2014, 0.3084, 0.473, 0.718, 1.056, 1.488, 2.023, 2.658",\
                 "0.1146, 0.136, 0.2012, 0.3084, 0.4724, 0.7182, 1.057, 1.489, 2.021, 2.656",\
                 "0.1146, 0.1366, 0.2018, 0.3086, 0.4722, 0.7174, 1.057, 1.489, 2.024, 2.659");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.003161, 0.01075, 0.02523, 0.0478, 0.07947, 0.1211, 0.1736, 0.2377, 0.3141");
          values("0.1217, 0.1578, 0.2908, 0.5572, 0.9792, 1.574, 2.361, 3.352, 4.561, 6.002",\
                 "0.1224, 0.1584, 0.2906, 0.5574, 0.9782, 1.576, 2.359, 3.352, 4.564, 6.002",\
                 "0.1226, 0.158, 0.2904, 0.5578, 0.9784, 1.576, 2.361, 3.35, 4.562, 6.006",\
                 "0.122, 0.1576, 0.291, 0.5576, 0.9798, 1.575, 2.361, 3.352, 4.564, 6.002",\
                 "0.1222, 0.1578, 0.2906, 0.5568, 0.9796, 1.574, 2.361, 3.353, 4.563, 5.998",\
                 "0.1224, 0.1578, 0.2908, 0.557, 0.9798, 1.576, 2.358, 3.348, 4.562, 6.006",\
                 "0.1218, 0.158, 0.2908, 0.5566, 0.9798, 1.574, 2.361, 3.353, 4.562, 6.001",\
                 "0.1214, 0.1572, 0.2908, 0.5572, 0.9782, 1.574, 2.359, 3.352, 4.564, 5.999",\
                 "0.1216, 0.1574, 0.2906, 0.5568, 0.9792, 1.574, 2.358, 3.348, 4.556, 5.999",\
                 "0.1216, 0.157, 0.2906, 0.5576, 0.9798, 1.576, 2.359, 3.346, 4.555, 6.001");
        }
      }
    }
  }

