  cell(gf180mcu_fd_sc_mcu9t5v0__sdffrnq_4) {
    area : 132.652800 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SI" ;
      value : "6.68934e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SI" ;
      value : "6.6906e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SI" ;
      value : "7.1154e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SI" ;
      value : "7.30602e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SI" ;
      value : "6.6915e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SI" ;
      value : "6.69276e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SI" ;
      value : "7.11756e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SI" ;
      value : "7.29324e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SI" ;
      value : "6.588e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SI" ;
      value : "6.58782e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SI" ;
      value : "7.53138e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SI" ;
      value : "6.95268e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SI" ;
      value : "6.57504e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SI" ;
      value : "6.57504e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SI" ;
      value : "7.53354e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SI" ;
      value : "6.9399e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SI" ;
      value : "6.46722e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SI" ;
      value : "6.46722e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SI" ;
      value : "6.47766e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SI" ;
      value : "6.48054e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SI" ;
      value : "8.57916e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SI" ;
      value : "8.5797e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SI" ;
      value : "8.58924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SI" ;
      value : "0.0001417698" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SI" ;
      value : "6.47028e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SI" ;
      value : "6.47028e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SI" ;
      value : "6.47784e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SI" ;
      value : "6.48054e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SI" ;
      value : "0.0001449504" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SI" ;
      value : "0.0001449558" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SI" ;
      value : "8.58924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SI" ;
      value : "0.0001418958" ;
    }

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

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

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

    pin(CLK) {
      capacitance : 0.004379 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 12 ;
      min_period : 5.727 ;
      min_pulse_width_high : 1.657 ;
      min_pulse_width_low : 2.866 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.05148, 0.05127, 0.0508, 0.0504, 0.0502, 0.05015, 0.05033, 0.05066, \
                 0.05115, 0.05181");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03634, 0.03623, 0.03592, 0.03549, 0.03518, 0.03506, 0.0352, \
                 0.0355, 0.036, 0.03671");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.05148, 0.05127, 0.0508, 0.0504, 0.0502, 0.05017, 0.05033, 0.05067, \
                 0.05115, 0.05182");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03634, 0.03623, 0.03592, 0.03549, 0.03518, 0.03506, 0.0352, \
                 0.0355, 0.036, 0.03671");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.05417, 0.05396, 0.05349, 0.05309, 0.05287, 0.05284, 0.053, 0.05332, \
                 0.0538, 0.05447");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03634, 0.03623, 0.03592, 0.03549, 0.03518, 0.03506, 0.0352, \
                 0.03551, 0.036, 0.03671");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.07429, 0.07409, 0.07361, 0.07312, 0.07283, 0.07271, 0.0728, \
                 0.07313, 0.07357, 0.07423");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.07079, 0.0707, 0.07032, 0.06962, 0.06911, 0.06889, 0.06889, \
                 0.06922, 0.06972, 0.07049");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04626, 0.04604, 0.0456, 0.04521, 0.04499, 0.04498, 0.04518, \
                 0.04552, 0.04604, 0.04675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03635, 0.03625, 0.03592, 0.03549, 0.03519, 0.03506, 0.03521, \
                 0.03551, 0.036, 0.03671");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04625, 0.04605, 0.04559, 0.0452, 0.04499, 0.045, 0.04518, 0.04553, \
                 0.04604, 0.04674");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03635, 0.03625, 0.03591, 0.03549, 0.0352, 0.03506, 0.03521, \
                 0.03551, 0.036, 0.03671");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04626, 0.04605, 0.0456, 0.04521, 0.04499, 0.045, 0.04517, 0.04554, \
                 0.04604, 0.04675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03635, 0.03625, 0.03592, 0.03549, 0.0352, 0.03509, 0.03521, \
                 0.03552, 0.036, 0.03671");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04618, 0.04597, 0.04551, 0.04511, 0.04491, 0.0449, 0.04507, \
                 0.04545, 0.04594, 0.04666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03566, 0.03555, 0.03521, 0.0348, 0.03449, 0.03438, 0.0345, 0.0348, \
                 0.03531, 0.036");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.07146, 0.07126, 0.07078, 0.0703, 0.07002, 0.06989, 0.07001, \
                 0.0703, 0.07079, 0.07144");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.07078, 0.07068, 0.0703, 0.0696, 0.0691, 0.06888, 0.06886, 0.06919, \
                 0.06971, 0.07047");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.07146, 0.07126, 0.07078, 0.0703, 0.07001, 0.06989, 0.07002, \
                 0.07031, 0.07078, 0.07145");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.07077, 0.07068, 0.0703, 0.0696, 0.0691, 0.06886, 0.06886, 0.0692, \
                 0.06971, 0.07047");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.05684, 0.05663, 0.05616, 0.05574, 0.05556, 0.05551, 0.05566, \
                 0.05598, 0.05644, 0.05709");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03634, 0.03623, 0.03592, 0.03549, 0.03518, 0.03506, 0.0352, \
                 0.03551, 0.036, 0.03671");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.0728, 0.0726, 0.07212, 0.07164, 0.07134, 0.07123, 0.07135, 0.07163, \
                 0.07209, 0.07275");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.0707, 0.07063, 0.07025, 0.06959, 0.0691, 0.06889, 0.06891, 0.06921, \
                 0.06973, 0.07048");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04619, 0.046, 0.04554, 0.04513, 0.04493, 0.04493, 0.04511, 0.04547, \
                 0.04598, 0.04668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03562, 0.03553, 0.03519, 0.03477, 0.03447, 0.03434, 0.03448, \
                 0.03479, 0.03529, 0.036");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.0462, 0.04599, 0.04554, 0.04514, 0.04494, 0.04492, 0.04512, \
                 0.04547, 0.04598, 0.04667");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03562, 0.03552, 0.03519, 0.03477, 0.03445, 0.03435, 0.03447, \
                 0.03479, 0.0353, 0.03598");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04626, 0.04605, 0.04559, 0.0452, 0.04498, 0.04499, 0.04519, \
                 0.04554, 0.04604, 0.04675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03635, 0.03625, 0.03592, 0.03549, 0.03519, 0.03509, 0.03521, \
                 0.03552, 0.036, 0.03671");
        }
      }

      internal_power() {
        when : "D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04618, 0.04598, 0.04551, 0.04512, 0.04491, 0.04488, 0.04508, \
                 0.04544, 0.04596, 0.04666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03565, 0.03553, 0.03521, 0.03479, 0.03447, 0.03439, 0.03449, \
                 0.03482, 0.03531, 0.03599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&!SI" ;

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

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SI" ;

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

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&!SI" ;

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

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SI" ;

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

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&!SI" ;

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

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SI" ;

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

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&!SI" ;

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

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SI" ;

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

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&!SI" ;

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SI" ;

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&!SI" ;

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SI" ;

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&!SI" ;

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SI" ;

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&!SI" ;

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

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SI" ;

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

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

      internal_power() {
        when : "!CLK&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04053, 0.04048, 0.04025, 0.04, 0.03981, 0.03969, 0.03961, 0.03955, \
                 0.03954, 0.03958");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02548, 0.02553, 0.02551, 0.02535, 0.02514, 0.02492, 0.02476, \
                 0.02468, 0.02467, 0.02476");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04053, 0.04048, 0.04025, 0.03999, 0.03981, 0.03967, 0.03961, \
                 0.03956, 0.03954, 0.03959");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02548, 0.02553, 0.02551, 0.02535, 0.02514, 0.02492, 0.02475, \
                 0.02468, 0.0247, 0.02476");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003506, 0.003509, 0.003518, 0.003515, 0.003519, 0.003515, 0.003513, \
                 0.00351, 0.003508, 0.003507");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.00316, -0.003168, -0.003224, -0.003277, -0.003311, -0.003332, \
                 -0.003347, -0.003356, -0.003364, -0.003371");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.001944, 0.001942, 0.001936, 0.001943, 0.001948, 0.001948, 0.001948, \
                 0.001944, 0.001943, 0.001934");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.001658, -0.001661, -0.001656, -0.001657, -0.001663, -0.001661, \
                 -0.001665, -0.001665, -0.001663, -0.001664");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03924, 0.0392, 0.03896, 0.03873, 0.03853, 0.0384, 0.03834, 0.0383, \
                 0.0383, 0.03835");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02664, 0.02668, 0.02665, 0.0265, 0.0263, 0.02608, 0.02591, 0.02582, \
                 0.02581, 0.02588");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03925, 0.0392, 0.03896, 0.03873, 0.03855, 0.0384, 0.03834, 0.0383, \
                 0.03829, 0.03833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02664, 0.02668, 0.02665, 0.0265, 0.0263, 0.02608, 0.02591, 0.02582, \
                 0.02581, 0.02588");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003505, 0.00351, 0.003515, 0.003515, 0.003513, 0.003514, 0.00351, \
                 0.003509, 0.003508, 0.003507");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003157, -0.003166, -0.003227, -0.003277, -0.003301, -0.00333, \
                 -0.003344, -0.003356, -0.003364, -0.00337");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.001944, 0.001943, 0.001941, 0.001945, 0.001948, 0.001947, 0.001945, \
                 0.001944, 0.001941, 0.001937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.001661, -0.001656, -0.001657, -0.001657, -0.00166, -0.001663, \
                 -0.001663, -0.001664, -0.001664, -0.001664");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00351, 0.00351, 0.003504, 0.003503, 0.003507, 0.003503, 0.003505, \
                 0.003505, 0.003503, 0.003505");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.002871, -0.002864, -0.002919, -0.003034, -0.003139, -0.003205, \
                 -0.003245, -0.003273, -0.003291, -0.003305");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00351, 0.003509, 0.003504, 0.003499, 0.003508, 0.003504, 0.003504, \
                 0.003506, 0.003503, 0.003504");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.002871, -0.002864, -0.00292, -0.003034, -0.003138, -0.003205, \
                 -0.003244, -0.003273, -0.00329, -0.003305");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003475, 0.003483, 0.003481, 0.003478, 0.003483, 0.003481, 0.003481, \
                 0.003479, 0.00348, 0.003478");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003184, -0.003192, -0.003236, -0.003287, -0.003328, -0.003351, \
                 -0.003366, -0.003376, -0.003382, -0.003387");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.002033, 0.002038, 0.002035, 0.002041, 0.002044, 0.002045, 0.002044, \
                 0.002045, 0.002045, 0.002045");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.00237, -0.002323, -0.00226, -0.002237, -0.002236, -0.002228, \
                 -0.002225, -0.002222, -0.002219, -0.002218");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.006838, 0.006837, 0.006838, 0.006845, 0.006837, 0.006838, 0.006841, \
                 0.00684, 0.006843, 0.006841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.002864, -0.002861, -0.002923, -0.003034, -0.003129, -0.003205, \
                 -0.003244, -0.003272, -0.003291, -0.003305");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.006841, 0.006842, 0.006842, 0.006837, 0.006832, 0.006836, 0.006841, \
                 0.00684, 0.006841, 0.00684");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.002864, -0.00286, -0.00292, -0.003033, -0.003131, -0.003206, \
                 -0.003247, -0.003272, -0.003291, -0.003307");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003472, 0.003479, 0.003488, 0.00348, 0.00348, 0.003482, 0.003479, \
                 0.003481, 0.00348, 0.00348");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003179, -0.003185, -0.003236, -0.00329, -0.003322, -0.003353, \
                 -0.003367, -0.003377, -0.003382, -0.003387");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.001922, 0.001924, 0.001921, 0.001925, 0.00193, 0.001929, 0.00193, \
                 0.001928, 0.001927, 0.001924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.001682, -0.001685, -0.001684, -0.001685, -0.001686, -0.001691, \
                 -0.00169, -0.00169, -0.001689, -0.001688");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.24, -0.209, -0.118, 0.041, 0.232, 0.417, 0.586, 0.724, 0.836, 0.912",\
                 "-0.264, -0.23, -0.143, 0.015, 0.201, 0.391, 0.563, 0.704, 0.811, 0.893",\
                 "-0.359, -0.329, -0.237, -0.084, 0.105, 0.29, 0.452, 0.6, 0.708, 0.788",\
                 "-0.549, -0.521, -0.428, -0.268, -0.091, 0.092, 0.249, 0.39, 0.499, 0.587",\
                 "-0.811, -0.784, -0.69, -0.539, -0.355, -0.184, -0.024, 0.11, 0.221, 0.305",\
                 "-1.106, -1.083, -0.989, -0.836, -0.663, -0.495, -0.34, -0.206, -0.095, -0.017",\
                 "-1.431, -1.405, -1.318, -1.171, -0.996, -0.836, -0.685, -0.55, -0.445, -0.359",\
                 "-1.769, -1.737, -1.659, -1.52, -1.354, -1.194, -1.049, -0.919, -0.809, -0.728",\
                 "-2.109, -2.085, -2.003, -1.874, -1.718, -1.564, -1.421, -1.297, -1.193, -1.115",\
                 "-2.46, -2.429, -2.353, -2.236, -2.086, -1.945, -1.808, -1.696, -1.593, -1.514");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.63, -0.602, -0.519, -0.439, -0.377, -0.343, -0.333, -0.345, -0.382, -0.448",\
                 "-0.657, -0.627, -0.549, -0.466, -0.406, -0.372, -0.36, -0.369, -0.412, -0.477",\
                 "-0.747, -0.714, -0.631, -0.55, -0.497, -0.46, -0.445, -0.459, -0.496, -0.562",\
                 "-0.89, -0.86, -0.782, -0.693, -0.637, -0.593, -0.578, -0.593, -0.628, -0.69",\
                 "-1.086, -1.065, -0.979, -0.893, -0.829, -0.782, -0.761, -0.767, -0.792, -0.858",\
                 "-1.3, -1.273, -1.196, -1.104, -1.034, -0.976, -0.951, -0.95, -0.979, -1.038",\
                 "-1.511, -1.486, -1.404, -1.308, -1.231, -1.17, -1.141, -1.13, -1.156, -1.209",\
                 "-1.696, -1.672, -1.59, -1.492, -1.415, -1.351, -1.312, -1.299, -1.323, -1.376",\
                 "-1.851, -1.825, -1.747, -1.651, -1.574, -1.506, -1.47, -1.456, -1.468, -1.515",\
                 "-1.97, -1.936, -1.864, -1.779, -1.699, -1.631, -1.59, -1.579, -1.587, -1.635");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.24, -0.209, -0.118, 0.041, 0.232, 0.417, 0.586, 0.724, 0.836, 0.912",\
                 "-0.264, -0.23, -0.143, 0.015, 0.201, 0.391, 0.563, 0.704, 0.811, 0.893",\
                 "-0.359, -0.329, -0.237, -0.084, 0.105, 0.29, 0.452, 0.6, 0.708, 0.788",\
                 "-0.549, -0.521, -0.428, -0.268, -0.091, 0.092, 0.249, 0.39, 0.499, 0.587",\
                 "-0.811, -0.784, -0.69, -0.532, -0.355, -0.184, -0.024, 0.11, 0.221, 0.305",\
                 "-1.106, -1.083, -0.989, -0.836, -0.663, -0.495, -0.34, -0.206, -0.095, -0.017",\
                 "-1.431, -1.405, -1.318, -1.171, -0.996, -0.836, -0.685, -0.55, -0.445, -0.359",\
                 "-1.769, -1.737, -1.659, -1.52, -1.354, -1.194, -1.049, -0.919, -0.809, -0.728",\
                 "-2.109, -2.085, -2.003, -1.874, -1.718, -1.564, -1.421, -1.297, -1.193, -1.115",\
                 "-2.453, -2.429, -2.353, -2.236, -2.086, -1.945, -1.808, -1.696, -1.593, -1.514");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.63, -0.602, -0.519, -0.439, -0.377, -0.343, -0.333, -0.345, -0.382, -0.448",\
                 "-0.657, -0.627, -0.549, -0.466, -0.406, -0.372, -0.36, -0.369, -0.412, -0.477",\
                 "-0.747, -0.714, -0.631, -0.55, -0.497, -0.46, -0.445, -0.459, -0.496, -0.562",\
                 "-0.89, -0.86, -0.782, -0.693, -0.637, -0.593, -0.578, -0.593, -0.628, -0.69",\
                 "-1.086, -1.065, -0.979, -0.893, -0.829, -0.782, -0.761, -0.767, -0.792, -0.858",\
                 "-1.3, -1.273, -1.196, -1.104, -1.034, -0.976, -0.951, -0.95, -0.979, -1.038",\
                 "-1.511, -1.486, -1.404, -1.308, -1.231, -1.17, -1.141, -1.13, -1.156, -1.209",\
                 "-1.696, -1.672, -1.59, -1.493, -1.415, -1.351, -1.312, -1.299, -1.323, -1.376",\
                 "-1.851, -1.825, -1.747, -1.651, -1.575, -1.506, -1.47, -1.456, -1.468, -1.515",\
                 "-1.97, -1.936, -1.864, -1.779, -1.699, -1.631, -1.59, -1.579, -1.587, -1.635");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("2.158, 2.13, 2.045, 1.82, 1.566, 1.328, 1.114, 0.903, 0.766, 0.621",\
                 "2.184, 2.153, 2.068, 1.847, 1.591, 1.349, 1.137, 0.926, 0.793, 0.651",\
                 "2.279, 2.247, 2.168, 1.943, 1.689, 1.443, 1.229, 1.021, 0.883, 0.747",\
                 "2.467, 2.438, 2.355, 2.131, 1.878, 1.636, 1.418, 1.208, 1.075, 0.939",\
                 "2.756, 2.723, 2.64, 2.417, 2.168, 1.918, 1.703, 1.491, 1.36, 1.229",\
                 "3.138, 3.109, 3.025, 2.802, 2.546, 2.307, 2.091, 1.879, 1.747, 1.62",\
                 "3.619, 3.594, 3.506, 3.282, 3.035, 2.791, 2.577, 2.37, 2.235, 2.11",\
                 "4.182, 4.154, 4.065, 3.844, 3.593, 3.354, 3.138, 2.93, 2.801, 2.665",\
                 "4.786, 4.757, 4.673, 4.454, 4.208, 3.963, 3.751, 3.542, 3.405, 3.272",\
                 "5.44, 5.407, 5.32, 5.108, 4.866, 4.623, 4.409, 4.197, 4.063, 3.924");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.54, 1.511, 1.409, 1.207, 1.026, 0.84, 0.758, 0.701, 0.722, 0.765",\
                 "1.573, 1.535, 1.441, 1.236, 1.05, 0.864, 0.786, 0.729, 0.749, 0.788",\
                 "1.662, 1.626, 1.527, 1.325, 1.139, 0.96, 0.877, 0.817, 0.837, 0.881",\
                 "1.803, 1.772, 1.67, 1.468, 1.283, 1.1, 1.022, 0.96, 0.978, 1.016",\
                 "2.02, 1.979, 1.882, 1.68, 1.494, 1.308, 1.224, 1.154, 1.164, 1.195",\
                 "2.269, 2.235, 2.137, 1.938, 1.757, 1.568, 1.47, 1.391, 1.392, 1.414",\
                 "2.528, 2.496, 2.393, 2.189, 2.015, 1.818, 1.714, 1.622, 1.622, 1.635",\
                 "2.773, 2.737, 2.64, 2.438, 2.257, 2.059, 1.952, 1.853, 1.838, 1.841",\
                 "2.992, 2.959, 2.859, 2.658, 2.482, 2.282, 2.173, 2.063, 2.04, 2.04",\
                 "3.187, 3.154, 3.058, 2.848, 2.68, 2.474, 2.361, 2.243, 2.218, 2.211");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("2.158, 2.13, 2.045, 1.82, 1.566, 1.328, 1.114, 0.903, 0.766, 0.621",\
                 "2.184, 2.153, 2.068, 1.846, 1.591, 1.349, 1.137, 0.926, 0.793, 0.651",\
                 "2.279, 2.247, 2.168, 1.943, 1.689, 1.443, 1.229, 1.021, 0.883, 0.747",\
                 "2.467, 2.438, 2.355, 2.131, 1.878, 1.636, 1.418, 1.208, 1.075, 0.939",\
                 "2.757, 2.724, 2.64, 2.417, 2.159, 1.918, 1.703, 1.491, 1.36, 1.229",\
                 "3.138, 3.109, 3.025, 2.802, 2.545, 2.307, 2.091, 1.879, 1.747, 1.62",\
                 "3.619, 3.594, 3.506, 3.282, 3.035, 2.791, 2.577, 2.37, 2.244, 2.11",\
                 "4.182, 4.154, 4.065, 3.844, 3.593, 3.354, 3.138, 2.93, 2.801, 2.665",\
                 "4.786, 4.757, 4.673, 4.454, 4.208, 3.963, 3.751, 3.542, 3.405, 3.272",\
                 "5.44, 5.407, 5.327, 5.108, 4.866, 4.623, 4.409, 4.197, 4.063, 3.924");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.54, 1.511, 1.409, 1.207, 1.026, 0.84, 0.758, 0.701, 0.722, 0.765",\
                 "1.573, 1.535, 1.441, 1.236, 1.05, 0.864, 0.786, 0.729, 0.749, 0.788",\
                 "1.662, 1.626, 1.527, 1.325, 1.139, 0.952, 0.877, 0.817, 0.837, 0.881",\
                 "1.803, 1.772, 1.67, 1.468, 1.289, 1.1, 1.022, 0.96, 0.978, 1.016",\
                 "2.02, 1.979, 1.882, 1.68, 1.494, 1.308, 1.224, 1.154, 1.164, 1.195",\
                 "2.269, 2.235, 2.137, 1.938, 1.757, 1.568, 1.47, 1.391, 1.392, 1.414",\
                 "2.528, 2.496, 2.393, 2.189, 2.015, 1.818, 1.714, 1.622, 1.622, 1.635",\
                 "2.773, 2.737, 2.64, 2.438, 2.257, 2.059, 1.952, 1.853, 1.838, 1.841",\
                 "2.992, 2.959, 2.859, 2.657, 2.482, 2.282, 2.165, 2.063, 2.04, 2.04",\
                 "3.187, 3.154, 3.058, 2.848, 2.68, 2.474, 2.361, 2.243, 2.218, 2.211");
        }
      }
    }

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

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&RN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09412, 0.09429, 0.09544, 0.09686, 0.09801, 0.09881, 0.09932, 0.09964, 0.09985, 0.09999",\
                 "0.0941, 0.09438, 0.09542, 0.09687, 0.09803, 0.09881, 0.09932, 0.09965, 0.09985, 0.09999",\
                 "0.09411, 0.09438, 0.09546, 0.09685, 0.09801, 0.09879, 0.0993, 0.09962, 0.09983, 0.09997",\
                 "0.0942, 0.09441, 0.09548, 0.09693, 0.09808, 0.09886, 0.09937, 0.0997, 0.09991, 0.1001",\
                 "0.09429, 0.09454, 0.09564, 0.09706, 0.09823, 0.09901, 0.09952, 0.09984, 0.1001, 0.1002",\
                 "0.09446, 0.09475, 0.09581, 0.09725, 0.09843, 0.09921, 0.09972, 0.1, 0.1002, 0.1004",\
                 "0.09455, 0.09485, 0.09592, 0.09739, 0.09854, 0.09931, 0.09984, 0.1001, 0.1004, 0.1005",\
                 "0.09475, 0.095, 0.09603, 0.09752, 0.09866, 0.09947, 0.09996, 0.1003, 0.1005, 0.1006",\
                 "0.09491, 0.09519, 0.09623, 0.09767, 0.09881, 0.0996, 0.1001, 0.1004, 0.1006, 0.1008",\
                 "0.09506, 0.09526, 0.09637, 0.09779, 0.09898, 0.09975, 0.1003, 0.1006, 0.1008, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09091, 0.09107, 0.09172, 0.09313, 0.09463, 0.09621, 0.09796, 0.09934, 0.1045, 0.1444",\
                 "0.09091, 0.09106, 0.0918, 0.09319, 0.09474, 0.09625, 0.09781, 0.09927, 0.1041, 0.146",\
                 "0.09089, 0.09109, 0.09183, 0.09329, 0.09485, 0.09635, 0.09803, 0.09888, 0.1047, 0.1497",\
                 "0.09076, 0.09091, 0.09172, 0.09306, 0.0946, 0.09654, 0.09765, 0.09894, 0.1055, 0.1576",\
                 "0.09062, 0.09084, 0.09162, 0.09285, 0.09469, 0.09641, 0.09751, 0.09968, 0.1074, 0.1705",\
                 "0.09051, 0.09066, 0.09143, 0.09268, 0.0946, 0.09629, 0.0974, 0.09993, 0.112, 0.1924",\
                 "0.09042, 0.0906, 0.09135, 0.09265, 0.09415, 0.09586, 0.09703, 0.09955, 0.1162, 0.228",\
                 "0.09037, 0.09057, 0.09125, 0.09266, 0.09432, 0.09597, 0.09726, 0.09998, 0.1293, 0.2875",\
                 "0.09031, 0.09053, 0.09125, 0.09253, 0.09354, 0.09566, 0.0981, 0.1023, 0.1533, 0.3864",\
                 "0.09031, 0.09047, 0.09116, 0.0925, 0.09368, 0.09524, 0.09676, 0.1108, 0.2093, 0.5472");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&!SE&SI | !D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.0941, 0.09437, 0.09548, 0.09685, 0.09803, 0.09881, 0.09932, 0.09964, 0.09985, 0.09999",\
                 "0.09409, 0.09436, 0.09546, 0.09687, 0.09802, 0.09882, 0.09932, 0.09965, 0.09985, 0.09997",\
                 "0.09411, 0.09434, 0.09543, 0.09687, 0.09802, 0.09879, 0.0993, 0.09963, 0.09984, 0.09998",\
                 "0.0942, 0.09439, 0.09548, 0.09692, 0.09808, 0.09888, 0.09938, 0.0997, 0.09991, 0.1001",\
                 "0.09429, 0.09456, 0.09559, 0.09705, 0.09821, 0.09899, 0.0995, 0.09982, 0.1, 0.1002",\
                 "0.09448, 0.0947, 0.0958, 0.09722, 0.0984, 0.09917, 0.09967, 0.1, 0.1002, 0.1004",\
                 "0.09456, 0.09484, 0.0959, 0.0974, 0.09853, 0.09932, 0.09982, 0.1001, 0.1003, 0.1005",\
                 "0.09473, 0.09499, 0.09606, 0.09752, 0.09866, 0.09946, 0.09994, 0.1002, 0.1005, 0.1006",\
                 "0.09489, 0.09515, 0.09622, 0.09767, 0.09886, 0.09963, 0.1001, 0.1005, 0.1007, 0.1008",\
                 "0.09505, 0.09522, 0.09637, 0.09779, 0.09897, 0.09975, 0.1003, 0.1006, 0.1008, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09094, 0.0911, 0.09179, 0.09315, 0.09461, 0.09652, 0.0979, 0.09919, 0.1042, 0.1455",\
                 "0.09091, 0.09107, 0.0918, 0.0932, 0.09475, 0.09626, 0.09781, 0.09929, 0.1041, 0.1461",\
                 "0.09088, 0.09109, 0.09181, 0.09328, 0.09483, 0.09628, 0.09806, 0.0989, 0.1046, 0.1498",\
                 "0.09077, 0.09096, 0.09176, 0.09294, 0.09442, 0.09627, 0.09764, 0.09896, 0.1056, 0.1576",\
                 "0.09064, 0.0908, 0.09165, 0.09285, 0.09456, 0.09598, 0.09765, 0.09881, 0.1073, 0.1708",\
                 "0.09056, 0.09074, 0.09146, 0.09291, 0.09448, 0.09592, 0.09753, 0.09905, 0.1108, 0.1924",\
                 "0.09046, 0.09066, 0.09138, 0.09254, 0.09429, 0.09607, 0.09738, 0.09958, 0.1171, 0.2282",\
                 "0.09036, 0.09059, 0.09122, 0.09256, 0.09431, 0.09593, 0.09718, 0.1002, 0.1288, 0.2868",\
                 "0.09024, 0.09042, 0.09124, 0.09245, 0.09357, 0.09566, 0.09806, 0.1032, 0.1533, 0.3864",\
                 "0.09025, 0.09042, 0.09117, 0.09252, 0.09361, 0.09495, 0.09672, 0.1108, 0.2091, 0.5474");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&SE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.0941, 0.09438, 0.09548, 0.09685, 0.09803, 0.09881, 0.09931, 0.09964, 0.09985, 0.09999",\
                 "0.09411, 0.09438, 0.09546, 0.09687, 0.09804, 0.09882, 0.09933, 0.09965, 0.09984, 0.09999",\
                 "0.09409, 0.09437, 0.09544, 0.09685, 0.09802, 0.09881, 0.09931, 0.09963, 0.09985, 0.09999",\
                 "0.0942, 0.09439, 0.09547, 0.09692, 0.09807, 0.09887, 0.09937, 0.0997, 0.0999, 0.1001",\
                 "0.09432, 0.09454, 0.09565, 0.0971, 0.09823, 0.09902, 0.09952, 0.09985, 0.1001, 0.1002",\
                 "0.09445, 0.0947, 0.09578, 0.09721, 0.09841, 0.09917, 0.09969, 0.1, 0.1002, 0.1004",\
                 "0.0946, 0.09487, 0.09587, 0.09738, 0.09855, 0.09933, 0.09983, 0.1001, 0.1003, 0.1005",\
                 "0.09474, 0.09497, 0.09606, 0.09753, 0.09865, 0.09946, 0.09994, 0.1003, 0.1005, 0.1006",\
                 "0.09492, 0.09519, 0.09622, 0.09767, 0.09884, 0.09959, 0.1001, 0.1004, 0.1006, 0.1008",\
                 "0.09501, 0.09525, 0.09637, 0.09778, 0.09897, 0.09976, 0.1003, 0.1006, 0.1008, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09092, 0.09114, 0.09182, 0.09327, 0.09479, 0.0964, 0.09798, 0.09935, 0.1038, 0.1444",\
                 "0.09091, 0.09118, 0.09194, 0.09322, 0.09479, 0.09632, 0.09805, 0.0991, 0.1043, 0.1459",\
                 "0.09089, 0.09109, 0.09183, 0.09329, 0.09477, 0.09634, 0.09803, 0.09924, 0.1047, 0.1499",\
                 "0.0907, 0.09103, 0.09176, 0.09313, 0.09462, 0.09638, 0.0978, 0.09876, 0.1057, 0.1574",\
                 "0.09064, 0.09086, 0.09163, 0.0929, 0.09447, 0.09619, 0.09768, 0.09879, 0.1071, 0.1708",\
                 "0.09053, 0.09071, 0.09143, 0.09293, 0.09459, 0.0959, 0.09754, 0.09902, 0.1109, 0.1919",\
                 "0.09046, 0.09067, 0.0914, 0.09261, 0.09427, 0.09605, 0.09751, 0.1001, 0.1164, 0.228",\
                 "0.09033, 0.09054, 0.0913, 0.09257, 0.09439, 0.09601, 0.09738, 0.1003, 0.1293, 0.2877",\
                 "0.09031, 0.09053, 0.09121, 0.09271, 0.09356, 0.09584, 0.09813, 0.1026, 0.1534, 0.3862",\
                 "0.09026, 0.09046, 0.09112, 0.09266, 0.09371, 0.09518, 0.09729, 0.1105, 0.2091, 0.5472");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09412, 0.09439, 0.09547, 0.09688, 0.09803, 0.09881, 0.09932, 0.09964, 0.09985, 0.1",\
                 "0.09411, 0.09435, 0.09541, 0.09686, 0.09802, 0.0988, 0.09931, 0.09963, 0.09984, 0.09998",\
                 "0.09412, 0.09437, 0.09543, 0.09686, 0.098, 0.09879, 0.0993, 0.09962, 0.09983, 0.09998",\
                 "0.0942, 0.0944, 0.09547, 0.09692, 0.09808, 0.09887, 0.09938, 0.0997, 0.09991, 0.1",\
                 "0.09432, 0.09453, 0.09564, 0.09706, 0.09823, 0.09902, 0.09952, 0.09985, 0.1001, 0.1002",\
                 "0.09446, 0.09476, 0.09581, 0.09726, 0.09843, 0.0992, 0.09972, 0.1, 0.1002, 0.1004",\
                 "0.09455, 0.09485, 0.09593, 0.0974, 0.09855, 0.09932, 0.09981, 0.1001, 0.1004, 0.1005",\
                 "0.09478, 0.095, 0.09604, 0.09752, 0.09867, 0.09947, 0.09995, 0.1002, 0.1005, 0.1006",\
                 "0.0949, 0.0952, 0.09625, 0.09768, 0.09883, 0.0996, 0.1001, 0.1004, 0.1007, 0.1008",\
                 "0.09506, 0.09526, 0.09637, 0.09778, 0.09896, 0.09976, 0.1003, 0.1006, 0.1008, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.0909, 0.09107, 0.09185, 0.0933, 0.09463, 0.09637, 0.09799, 0.09883, 0.104, 0.1448",\
                 "0.09091, 0.09106, 0.0918, 0.09319, 0.09475, 0.09626, 0.0978, 0.09929, 0.1041, 0.1461",\
                 "0.09088, 0.09109, 0.09181, 0.09328, 0.09483, 0.09628, 0.09801, 0.0989, 0.1046, 0.1498",\
                 "0.09075, 0.09083, 0.09166, 0.09303, 0.09464, 0.09613, 0.09766, 0.09896, 0.1056, 0.1576",\
                 "0.09062, 0.09083, 0.09162, 0.09285, 0.09469, 0.09642, 0.09751, 0.0997, 0.1075, 0.1705",\
                 "0.09055, 0.09073, 0.09147, 0.0929, 0.09454, 0.09592, 0.09754, 0.09906, 0.1108, 0.1924",\
                 "0.09046, 0.09054, 0.09141, 0.09257, 0.09429, 0.09588, 0.0972, 0.09957, 0.1164, 0.2278",\
                 "0.09036, 0.09059, 0.09124, 0.09256, 0.09435, 0.09595, 0.09718, 0.1004, 0.1288, 0.2876",\
                 "0.09028, 0.09052, 0.09122, 0.09249, 0.09356, 0.0957, 0.09817, 0.1026, 0.1533, 0.3862",\
                 "0.09024, 0.09035, 0.09115, 0.09262, 0.09359, 0.09494, 0.09702, 0.1105, 0.2093, 0.5468");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09633, 0.09654, 0.09762, 0.09912, 0.1003, 0.101, 0.1015, 0.1018, 0.1021, 0.1022",\
                 "0.09647, 0.09669, 0.09778, 0.09928, 0.1004, 0.1012, 0.1017, 0.102, 0.1022, 0.1024",\
                 "0.09626, 0.09656, 0.09759, 0.09908, 0.1002, 0.101, 0.1015, 0.1018, 0.102, 0.1022",\
                 "0.09594, 0.09613, 0.09717, 0.09861, 0.09978, 0.1006, 0.1011, 0.1014, 0.1017, 0.1018",\
                 "0.09559, 0.09575, 0.09659, 0.09785, 0.09901, 0.09987, 0.1005, 0.1009, 0.1011, 0.1013",\
                 "0.09552, 0.09548, 0.09604, 0.09716, 0.09822, 0.09915, 0.09981, 0.1003, 0.1006, 0.1009",\
                 "0.09609, 0.09584, 0.09603, 0.09679, 0.0978, 0.09866, 0.09937, 0.09989, 0.1003, 0.1005",\
                 "0.09719, 0.09657, 0.09629, 0.0968, 0.09762, 0.09842, 0.09918, 0.09973, 0.1001, 0.1004",\
                 "0.09864, 0.09767, 0.09713, 0.09726, 0.09783, 0.09854, 0.09925, 0.09982, 0.1003, 0.1006",\
                 "0.1004, 0.09917, 0.098, 0.09786, 0.09829, 0.09892, 0.09956, 0.1001, 0.1006, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09633, 0.09654, 0.09762, 0.09912, 0.1003, 0.101, 0.1015, 0.1018, 0.1021, 0.1022",\
                 "0.09647, 0.09669, 0.09778, 0.09928, 0.1004, 0.1012, 0.1017, 0.102, 0.1022, 0.1024",\
                 "0.09626, 0.09656, 0.09759, 0.09908, 0.1002, 0.101, 0.1015, 0.1018, 0.102, 0.1022",\
                 "0.09594, 0.09613, 0.09717, 0.09861, 0.09978, 0.1006, 0.1011, 0.1014, 0.1017, 0.1018",\
                 "0.09559, 0.09575, 0.09659, 0.09785, 0.09901, 0.09987, 0.1005, 0.1009, 0.1011, 0.1013",\
                 "0.09552, 0.09548, 0.09604, 0.09716, 0.09822, 0.09915, 0.09981, 0.1003, 0.1006, 0.1009",\
                 "0.09609, 0.09584, 0.09603, 0.09679, 0.0978, 0.09866, 0.09937, 0.09989, 0.1003, 0.1005",\
                 "0.09719, 0.09657, 0.09629, 0.0968, 0.09762, 0.09842, 0.09918, 0.09973, 0.1001, 0.1004",\
                 "0.09864, 0.09767, 0.09713, 0.09726, 0.09783, 0.09854, 0.09925, 0.09982, 0.1003, 0.1006",\
                 "0.1004, 0.09917, 0.098, 0.09786, 0.09829, 0.09892, 0.09956, 0.1001, 0.1006, 0.1009");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09633, 0.09654, 0.09762, 0.09912, 0.1003, 0.101, 0.1015, 0.1018, 0.1021, 0.1022",\
                 "0.09647, 0.09669, 0.09779, 0.09928, 0.1004, 0.1012, 0.1017, 0.102, 0.1022, 0.1024",\
                 "0.09626, 0.09656, 0.09759, 0.09908, 0.1002, 0.101, 0.1015, 0.1018, 0.102, 0.1022",\
                 "0.09593, 0.09612, 0.09718, 0.0986, 0.09977, 0.1006, 0.1011, 0.1014, 0.1017, 0.1018",\
                 "0.09558, 0.09574, 0.09659, 0.09786, 0.09901, 0.09987, 0.1005, 0.1009, 0.1012, 0.1014",\
                 "0.09554, 0.09547, 0.09604, 0.09716, 0.09822, 0.09915, 0.09981, 0.1003, 0.1006, 0.1009",\
                 "0.09611, 0.09584, 0.09602, 0.0968, 0.0978, 0.09866, 0.09937, 0.0999, 0.1003, 0.1005",\
                 "0.09719, 0.09658, 0.09629, 0.09682, 0.09762, 0.09844, 0.09918, 0.09973, 0.1001, 0.1004",\
                 "0.09864, 0.09768, 0.09714, 0.09726, 0.09781, 0.09857, 0.09928, 0.09982, 0.1003, 0.1006",\
                 "0.1004, 0.09918, 0.09799, 0.09786, 0.09828, 0.09895, 0.09954, 0.1001, 0.1006, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09633, 0.09654, 0.09762, 0.09912, 0.1003, 0.101, 0.1015, 0.1018, 0.1021, 0.1022",\
                 "0.09647, 0.09669, 0.09779, 0.09928, 0.1004, 0.1012, 0.1017, 0.102, 0.1022, 0.1024",\
                 "0.09626, 0.09656, 0.09759, 0.09908, 0.1002, 0.101, 0.1015, 0.1018, 0.102, 0.1022",\
                 "0.09593, 0.09612, 0.09718, 0.0986, 0.09977, 0.1006, 0.1011, 0.1014, 0.1017, 0.1018",\
                 "0.09558, 0.09574, 0.09659, 0.09786, 0.09901, 0.09987, 0.1005, 0.1009, 0.1012, 0.1014",\
                 "0.09554, 0.09547, 0.09604, 0.09716, 0.09822, 0.09915, 0.09981, 0.1003, 0.1006, 0.1009",\
                 "0.09611, 0.09584, 0.09602, 0.0968, 0.0978, 0.09866, 0.09937, 0.0999, 0.1003, 0.1005",\
                 "0.09719, 0.09658, 0.09629, 0.09682, 0.09762, 0.09844, 0.09918, 0.09973, 0.1001, 0.1004",\
                 "0.09864, 0.09768, 0.09714, 0.09726, 0.09781, 0.09857, 0.09928, 0.09982, 0.1003, 0.1006",\
                 "0.1004, 0.09918, 0.09799, 0.09786, 0.09828, 0.09895, 0.09954, 0.1001, 0.1006, 0.1009");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09633, 0.09654, 0.09762, 0.0991, 0.1003, 0.101, 0.1015, 0.1018, 0.1021, 0.1022",\
                 "0.09647, 0.09669, 0.09779, 0.09928, 0.1004, 0.1012, 0.1017, 0.102, 0.1022, 0.1024",\
                 "0.09625, 0.09656, 0.09759, 0.09908, 0.1002, 0.101, 0.1015, 0.1018, 0.102, 0.1022",\
                 "0.09596, 0.09612, 0.09719, 0.09861, 0.09977, 0.1006, 0.1011, 0.1014, 0.1017, 0.1018",\
                 "0.09559, 0.09576, 0.09659, 0.09785, 0.09902, 0.09987, 0.1005, 0.1009, 0.1012, 0.1014",\
                 "0.09556, 0.0955, 0.09607, 0.09717, 0.09824, 0.09915, 0.09981, 0.1003, 0.1006, 0.1009",\
                 "0.09609, 0.09583, 0.09603, 0.09679, 0.0978, 0.09867, 0.09937, 0.09989, 0.1003, 0.1005",\
                 "0.09715, 0.09653, 0.0963, 0.09675, 0.09761, 0.09842, 0.09918, 0.09971, 0.1001, 0.1004",\
                 "0.09864, 0.09771, 0.09709, 0.09725, 0.0978, 0.09854, 0.09926, 0.09982, 0.1003, 0.1006",\
                 "0.1004, 0.09916, 0.098, 0.09786, 0.09827, 0.09892, 0.09956, 0.1001, 0.1006, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09633, 0.09654, 0.09762, 0.0991, 0.1003, 0.101, 0.1015, 0.1018, 0.1021, 0.1022",\
                 "0.09647, 0.09669, 0.09779, 0.09928, 0.1004, 0.1012, 0.1017, 0.102, 0.1022, 0.1024",\
                 "0.09625, 0.09656, 0.09759, 0.09908, 0.1002, 0.101, 0.1015, 0.1018, 0.102, 0.1022",\
                 "0.09596, 0.09612, 0.09719, 0.09861, 0.09977, 0.1006, 0.1011, 0.1014, 0.1017, 0.1018",\
                 "0.09559, 0.09576, 0.09659, 0.09785, 0.09902, 0.09987, 0.1005, 0.1009, 0.1012, 0.1014",\
                 "0.09556, 0.0955, 0.09607, 0.09717, 0.09824, 0.09915, 0.09981, 0.1003, 0.1006, 0.1009",\
                 "0.09609, 0.09583, 0.09603, 0.09679, 0.0978, 0.09867, 0.09937, 0.09989, 0.1003, 0.1005",\
                 "0.09715, 0.09653, 0.0963, 0.09675, 0.09761, 0.09842, 0.09918, 0.09971, 0.1001, 0.1004",\
                 "0.09864, 0.09771, 0.09709, 0.09725, 0.0978, 0.09854, 0.09926, 0.09982, 0.1003, 0.1006",\
                 "0.1004, 0.09916, 0.098, 0.09786, 0.09827, 0.09892, 0.09956, 0.1001, 0.1006, 0.1009");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09865, 0.09885, 0.09993, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0988, 0.09904, 0.1001, 0.1016, 0.1028, 0.1035, 0.104, 0.1044, 0.1046, 0.1047",\
                 "0.09863, 0.09885, 0.09994, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0983, 0.0985, 0.09955, 0.101, 0.1021, 0.1029, 0.1035, 0.1038, 0.104, 0.1042",\
                 "0.09793, 0.09809, 0.09894, 0.1002, 0.1013, 0.1022, 0.1028, 0.1032, 0.1035, 0.1037",\
                 "0.09789, 0.09786, 0.09841, 0.09947, 0.1006, 0.1015, 0.1022, 0.1026, 0.103, 0.1032",\
                 "0.09846, 0.09826, 0.09841, 0.09915, 0.1001, 0.101, 0.1017, 0.1022, 0.1026, 0.1029",\
                 "0.09947, 0.09889, 0.09869, 0.09914, 0.09998, 0.1008, 0.1015, 0.1021, 0.1025, 0.1028",\
                 "0.1009, 0.1001, 0.09944, 0.09959, 0.1001, 0.1009, 0.1016, 0.1022, 0.1026, 0.1029",\
                 "0.1027, 0.1015, 0.1003, 0.1002, 0.1006, 0.1012, 0.1019, 0.1024, 0.1029, 0.1032");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09865, 0.09885, 0.09993, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0988, 0.09904, 0.1001, 0.1016, 0.1028, 0.1035, 0.104, 0.1044, 0.1046, 0.1047",\
                 "0.09863, 0.09885, 0.09994, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0983, 0.0985, 0.09955, 0.101, 0.1021, 0.1029, 0.1035, 0.1038, 0.104, 0.1042",\
                 "0.09793, 0.09809, 0.09894, 0.1002, 0.1013, 0.1022, 0.1028, 0.1032, 0.1035, 0.1037",\
                 "0.09789, 0.09786, 0.09841, 0.09947, 0.1006, 0.1015, 0.1022, 0.1026, 0.103, 0.1032",\
                 "0.09846, 0.09826, 0.09841, 0.09915, 0.1001, 0.101, 0.1017, 0.1022, 0.1026, 0.1029",\
                 "0.09947, 0.09889, 0.09869, 0.09914, 0.09998, 0.1008, 0.1015, 0.1021, 0.1025, 0.1028",\
                 "0.1009, 0.1001, 0.09944, 0.09959, 0.1001, 0.1009, 0.1016, 0.1022, 0.1026, 0.1029",\
                 "0.1027, 0.1015, 0.1003, 0.1002, 0.1006, 0.1012, 0.1019, 0.1024, 0.1029, 0.1032");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09867, 0.09885, 0.09997, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0988, 0.09904, 0.1001, 0.1016, 0.1028, 0.1035, 0.104, 0.1044, 0.1046, 0.1047",\
                 "0.09863, 0.09885, 0.09994, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0983, 0.09846, 0.09954, 0.101, 0.1021, 0.1029, 0.1035, 0.1038, 0.104, 0.1042",\
                 "0.09792, 0.09809, 0.09893, 0.1002, 0.1013, 0.1022, 0.1028, 0.1032, 0.1035, 0.1037",\
                 "0.09789, 0.09791, 0.09849, 0.0995, 0.1006, 0.1015, 0.1022, 0.1026, 0.103, 0.1032",\
                 "0.09843, 0.09825, 0.09843, 0.09915, 0.1001, 0.101, 0.1017, 0.1022, 0.1026, 0.1029",\
                 "0.09944, 0.09889, 0.09869, 0.09915, 0.09997, 0.1008, 0.1015, 0.1021, 0.1025, 0.1028",\
                 "0.1009, 0.1001, 0.09945, 0.09954, 0.1001, 0.1009, 0.1016, 0.1022, 0.1026, 0.1029",\
                 "0.1027, 0.1015, 0.1003, 0.1002, 0.1006, 0.1012, 0.1019, 0.1025, 0.1029, 0.1033");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09867, 0.09885, 0.09997, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0988, 0.09904, 0.1001, 0.1016, 0.1028, 0.1035, 0.104, 0.1044, 0.1046, 0.1047",\
                 "0.09863, 0.09885, 0.09994, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0983, 0.09846, 0.09954, 0.101, 0.1021, 0.1029, 0.1035, 0.1038, 0.104, 0.1042",\
                 "0.09792, 0.09809, 0.09893, 0.1002, 0.1013, 0.1022, 0.1028, 0.1032, 0.1035, 0.1037",\
                 "0.09789, 0.09791, 0.09849, 0.0995, 0.1006, 0.1015, 0.1022, 0.1026, 0.103, 0.1032",\
                 "0.09843, 0.09825, 0.09843, 0.09915, 0.1001, 0.101, 0.1017, 0.1022, 0.1026, 0.1029",\
                 "0.09944, 0.09889, 0.09869, 0.09915, 0.09997, 0.1008, 0.1015, 0.1021, 0.1025, 0.1028",\
                 "0.1009, 0.1001, 0.09945, 0.09954, 0.1001, 0.1009, 0.1016, 0.1022, 0.1026, 0.1029",\
                 "0.1027, 0.1015, 0.1003, 0.1002, 0.1006, 0.1012, 0.1019, 0.1025, 0.1029, 0.1033");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09867, 0.09885, 0.09997, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0988, 0.09904, 0.1001, 0.1016, 0.1028, 0.1035, 0.104, 0.1044, 0.1046, 0.1047",\
                 "0.09863, 0.09885, 0.09994, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.09829, 0.09848, 0.09954, 0.101, 0.1021, 0.1029, 0.1035, 0.1038, 0.104, 0.1042",\
                 "0.09793, 0.09808, 0.09893, 0.1002, 0.1013, 0.1022, 0.1028, 0.1032, 0.1035, 0.1037",\
                 "0.09789, 0.09789, 0.09849, 0.09946, 0.1006, 0.1015, 0.1022, 0.1027, 0.103, 0.1032",\
                 "0.09844, 0.09819, 0.0984, 0.09917, 0.1001, 0.101, 0.1017, 0.1022, 0.1026, 0.1029",\
                 "0.09943, 0.09891, 0.09869, 0.09915, 0.09996, 0.1008, 0.1015, 0.1021, 0.1025, 0.1028",\
                 "0.1009, 0.1, 0.09943, 0.09961, 0.1002, 0.1009, 0.1016, 0.1022, 0.1026, 0.1029",\
                 "0.1027, 0.1015, 0.1003, 0.1002, 0.1006, 0.1012, 0.1019, 0.1024, 0.1029, 0.1033");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09867, 0.09885, 0.09997, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0988, 0.09904, 0.1001, 0.1016, 0.1028, 0.1035, 0.104, 0.1044, 0.1046, 0.1047",\
                 "0.09863, 0.09885, 0.09994, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.09829, 0.09848, 0.09954, 0.101, 0.1021, 0.1029, 0.1035, 0.1038, 0.104, 0.1042",\
                 "0.09793, 0.09808, 0.09893, 0.1002, 0.1013, 0.1022, 0.1028, 0.1032, 0.1035, 0.1037",\
                 "0.09789, 0.09789, 0.09849, 0.09946, 0.1006, 0.1015, 0.1022, 0.1027, 0.103, 0.1032",\
                 "0.09844, 0.09819, 0.0984, 0.09917, 0.1001, 0.101, 0.1017, 0.1022, 0.1026, 0.1029",\
                 "0.09943, 0.09891, 0.09869, 0.09915, 0.09996, 0.1008, 0.1015, 0.1021, 0.1025, 0.1028",\
                 "0.1009, 0.1, 0.09943, 0.09961, 0.1002, 0.1009, 0.1016, 0.1022, 0.1026, 0.1029",\
                 "0.1027, 0.1015, 0.1003, 0.1002, 0.1006, 0.1012, 0.1019, 0.1024, 0.1029, 0.1033");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09634, 0.09654, 0.09762, 0.0991, 0.1003, 0.101, 0.1015, 0.1018, 0.1021, 0.1022",\
                 "0.09647, 0.09668, 0.09779, 0.09928, 0.1004, 0.1012, 0.1017, 0.102, 0.1022, 0.1024",\
                 "0.09625, 0.09656, 0.09759, 0.09908, 0.1002, 0.101, 0.1015, 0.1018, 0.102, 0.1022",\
                 "0.09594, 0.09612, 0.09719, 0.09861, 0.09978, 0.1006, 0.1011, 0.1014, 0.1017, 0.1018",\
                 "0.0956, 0.09576, 0.0966, 0.09786, 0.09902, 0.09989, 0.1005, 0.1009, 0.1012, 0.1014",\
                 "0.09555, 0.0955, 0.09605, 0.09717, 0.09822, 0.09915, 0.09982, 0.1003, 0.1006, 0.1009",\
                 "0.09612, 0.09584, 0.09603, 0.09679, 0.0978, 0.09868, 0.09937, 0.0999, 0.1003, 0.1006",\
                 "0.09709, 0.09656, 0.0963, 0.09679, 0.0976, 0.09843, 0.09918, 0.09972, 0.1001, 0.1004",\
                 "0.09864, 0.09765, 0.09713, 0.09725, 0.0978, 0.09854, 0.09926, 0.09982, 0.1003, 0.1006",\
                 "0.1004, 0.09916, 0.098, 0.09786, 0.09828, 0.09894, 0.09956, 0.1001, 0.1006, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09634, 0.09654, 0.09762, 0.0991, 0.1003, 0.101, 0.1015, 0.1018, 0.1021, 0.1022",\
                 "0.09647, 0.09668, 0.09779, 0.09928, 0.1004, 0.1012, 0.1017, 0.102, 0.1022, 0.1024",\
                 "0.09625, 0.09656, 0.09759, 0.09908, 0.1002, 0.101, 0.1015, 0.1018, 0.102, 0.1022",\
                 "0.09594, 0.09612, 0.09719, 0.09861, 0.09978, 0.1006, 0.1011, 0.1014, 0.1017, 0.1018",\
                 "0.0956, 0.09576, 0.0966, 0.09786, 0.09902, 0.09989, 0.1005, 0.1009, 0.1012, 0.1014",\
                 "0.09555, 0.0955, 0.09605, 0.09717, 0.09822, 0.09915, 0.09982, 0.1003, 0.1006, 0.1009",\
                 "0.09612, 0.09584, 0.09603, 0.09679, 0.0978, 0.09868, 0.09937, 0.0999, 0.1003, 0.1006",\
                 "0.09709, 0.09656, 0.0963, 0.09679, 0.0976, 0.09843, 0.09918, 0.09972, 0.1001, 0.1004",\
                 "0.09864, 0.09765, 0.09713, 0.09725, 0.0978, 0.09854, 0.09926, 0.09982, 0.1003, 0.1006",\
                 "0.1004, 0.09916, 0.098, 0.09786, 0.09828, 0.09894, 0.09956, 0.1001, 0.1006, 0.1009");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09865, 0.09885, 0.09996, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0988, 0.09904, 0.1001, 0.1016, 0.1028, 0.1035, 0.104, 0.1044, 0.1046, 0.1047",\
                 "0.09862, 0.09884, 0.09992, 0.1014, 0.1026, 0.1033, 0.1038, 0.1042, 0.1044, 0.1045",\
                 "0.09831, 0.09852, 0.09954, 0.101, 0.1021, 0.1029, 0.1035, 0.1038, 0.104, 0.1042",\
                 "0.09791, 0.09809, 0.09893, 0.1002, 0.1013, 0.1022, 0.1028, 0.1032, 0.1035, 0.1037",\
                 "0.09791, 0.09783, 0.0984, 0.09948, 0.1006, 0.1015, 0.1022, 0.1027, 0.103, 0.1032",\
                 "0.09846, 0.0982, 0.09835, 0.09916, 0.1001, 0.101, 0.1017, 0.1022, 0.1026, 0.1029",\
                 "0.09952, 0.09894, 0.09869, 0.09915, 0.09998, 0.1008, 0.1015, 0.1021, 0.1025, 0.1028",\
                 "0.1009, 0.1, 0.09932, 0.09952, 0.1002, 0.1009, 0.1016, 0.1022, 0.1026, 0.1029",\
                 "0.1027, 0.1015, 0.1003, 0.1002, 0.1006, 0.1012, 0.1019, 0.1025, 0.1029, 0.1033");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.09865, 0.09885, 0.09996, 0.1014, 0.1026, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045",\
                 "0.0988, 0.09904, 0.1001, 0.1016, 0.1028, 0.1035, 0.104, 0.1044, 0.1046, 0.1047",\
                 "0.09862, 0.09884, 0.09992, 0.1014, 0.1026, 0.1033, 0.1038, 0.1042, 0.1044, 0.1045",\
                 "0.09831, 0.09852, 0.09954, 0.101, 0.1021, 0.1029, 0.1035, 0.1038, 0.104, 0.1042",\
                 "0.09791, 0.09809, 0.09893, 0.1002, 0.1013, 0.1022, 0.1028, 0.1032, 0.1035, 0.1037",\
                 "0.09791, 0.09783, 0.0984, 0.09948, 0.1006, 0.1015, 0.1022, 0.1027, 0.103, 0.1032",\
                 "0.09846, 0.0982, 0.09835, 0.09916, 0.1001, 0.101, 0.1017, 0.1022, 0.1026, 0.1029",\
                 "0.09952, 0.09894, 0.09869, 0.09915, 0.09998, 0.1008, 0.1015, 0.1021, 0.1025, 0.1028",\
                 "0.1009, 0.1, 0.09932, 0.09952, 0.1002, 0.1009, 0.1016, 0.1022, 0.1026, 0.1029",\
                 "0.1027, 0.1015, 0.1003, 0.1002, 0.1006, 0.1012, 0.1019, 0.1025, 0.1029, 0.1033");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1285, 0.1288, 0.1298, 0.1313, 0.1325, 0.1332, 0.1337, 0.1341, 0.1343, 0.1344",\
                 "0.1287, 0.1289, 0.13, 0.1315, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1346",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1336, 0.1339, 0.1341, 0.1343",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1333, 0.1334",\
                 "0.1278, 0.1278, 0.1283, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1288, 0.1285, 0.129, 0.1298, 0.1306, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.131, 0.1301, 0.1294, 0.1295, 0.1301, 0.1309, 0.1316, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1304, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1285, 0.1288, 0.1298, 0.1313, 0.1325, 0.1332, 0.1337, 0.1341, 0.1343, 0.1344",\
                 "0.1287, 0.1289, 0.13, 0.1315, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1346",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1336, 0.1339, 0.1341, 0.1343",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1333, 0.1334",\
                 "0.1278, 0.1278, 0.1283, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1288, 0.1285, 0.129, 0.1298, 0.1306, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.131, 0.1301, 0.1294, 0.1295, 0.1301, 0.1309, 0.1316, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1304, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1285, 0.1288, 0.1298, 0.1313, 0.1325, 0.1332, 0.1337, 0.1341, 0.1343, 0.1344",\
                 "0.1287, 0.1289, 0.13, 0.1315, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1346",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1336, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1332, 0.1335",\
                 "0.1278, 0.1277, 0.1283, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.13, 0.1309, 0.1316, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1288, 0.1285, 0.129, 0.1298, 0.1307, 0.1314, 0.132, 0.1324, 0.1327",\
                 "0.1311, 0.1301, 0.1293, 0.1295, 0.1301, 0.1308, 0.1316, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1304, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1285, 0.1288, 0.1298, 0.1313, 0.1325, 0.1332, 0.1337, 0.1341, 0.1343, 0.1344",\
                 "0.1287, 0.1289, 0.13, 0.1315, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1346",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1336, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1332, 0.1335",\
                 "0.1278, 0.1277, 0.1283, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.13, 0.1309, 0.1316, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1288, 0.1285, 0.129, 0.1298, 0.1307, 0.1314, 0.132, 0.1324, 0.1327",\
                 "0.1311, 0.1301, 0.1293, 0.1295, 0.1301, 0.1308, 0.1316, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1304, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1285, 0.1288, 0.1298, 0.1313, 0.1325, 0.1332, 0.1337, 0.1341, 0.1343, 0.1344",\
                 "0.1287, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1336, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1312, 0.132, 0.1326, 0.133, 0.1333, 0.1335",\
                 "0.1278, 0.1277, 0.1282, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1288, 0.1285, 0.129, 0.1298, 0.1306, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.1311, 0.1301, 0.1293, 0.1295, 0.1301, 0.1308, 0.1316, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1303, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1285, 0.1288, 0.1298, 0.1313, 0.1325, 0.1332, 0.1337, 0.1341, 0.1343, 0.1344",\
                 "0.1287, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1336, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1312, 0.132, 0.1326, 0.133, 0.1333, 0.1335",\
                 "0.1278, 0.1277, 0.1282, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1288, 0.1285, 0.129, 0.1298, 0.1306, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.1311, 0.1301, 0.1293, 0.1295, 0.1301, 0.1308, 0.1316, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1303, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1286, 0.1288, 0.1299, 0.1314, 0.1325, 0.1333, 0.1338, 0.1341, 0.1343, 0.1345",\
                 "0.1286, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1335, 0.1339, 0.1341, 0.1342",\
                 "0.1279, 0.1281, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1338",\
                 "0.1277, 0.1278, 0.1287, 0.1299, 0.1311, 0.132, 0.1326, 0.133, 0.1332, 0.1334",\
                 "0.1278, 0.1277, 0.1282, 0.1293, 0.1304, 0.1313, 0.132, 0.1324, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.132, 0.1324, 0.1327",\
                 "0.1295, 0.1288, 0.1286, 0.1289, 0.1298, 0.1307, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.1311, 0.1301, 0.1293, 0.1294, 0.1301, 0.1308, 0.1315, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1303, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1286, 0.1288, 0.1299, 0.1314, 0.1325, 0.1333, 0.1338, 0.1341, 0.1343, 0.1345",\
                 "0.1286, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1335, 0.1339, 0.1341, 0.1342",\
                 "0.1279, 0.1281, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1338",\
                 "0.1277, 0.1278, 0.1287, 0.1299, 0.1311, 0.132, 0.1326, 0.133, 0.1332, 0.1334",\
                 "0.1278, 0.1277, 0.1282, 0.1293, 0.1304, 0.1313, 0.132, 0.1324, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.132, 0.1324, 0.1327",\
                 "0.1295, 0.1288, 0.1286, 0.1289, 0.1298, 0.1307, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.1311, 0.1301, 0.1293, 0.1294, 0.1301, 0.1308, 0.1315, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1303, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1286, 0.1288, 0.1299, 0.1314, 0.1325, 0.1333, 0.1338, 0.1341, 0.1343, 0.1345",\
                 "0.1286, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1335, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1333, 0.1334",\
                 "0.1277, 0.1277, 0.1283, 0.1293, 0.1304, 0.1313, 0.132, 0.1324, 0.1328, 0.133",\
                 "0.1284, 0.128, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1288, 0.1285, 0.129, 0.1298, 0.1306, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.131, 0.13, 0.1293, 0.1294, 0.1301, 0.1308, 0.1315, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1304, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1286, 0.1288, 0.1299, 0.1314, 0.1325, 0.1333, 0.1338, 0.1341, 0.1343, 0.1345",\
                 "0.1286, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1335, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1333, 0.1334",\
                 "0.1277, 0.1277, 0.1283, 0.1293, 0.1304, 0.1313, 0.132, 0.1324, 0.1328, 0.133",\
                 "0.1284, 0.128, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1288, 0.1285, 0.129, 0.1298, 0.1306, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.131, 0.13, 0.1293, 0.1294, 0.1301, 0.1308, 0.1315, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1304, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1286, 0.1288, 0.1299, 0.1314, 0.1325, 0.1333, 0.1338, 0.1341, 0.1343, 0.1345",\
                 "0.1286, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1335, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1325, 0.133, 0.1332, 0.1334",\
                 "0.1278, 0.1277, 0.1282, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1283, 0.128, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1289, 0.1285, 0.1289, 0.1298, 0.1306, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.1311, 0.1301, 0.1293, 0.1295, 0.1301, 0.1308, 0.1315, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1305, 0.1304, 0.1308, 0.1314, 0.1321, 0.1326, 0.1331, 0.1334");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1286, 0.1288, 0.1299, 0.1314, 0.1325, 0.1333, 0.1338, 0.1341, 0.1343, 0.1345",\
                 "0.1286, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1335, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1325, 0.133, 0.1332, 0.1334",\
                 "0.1278, 0.1277, 0.1282, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1283, 0.128, 0.1282, 0.129, 0.1299, 0.1308, 0.1315, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1289, 0.1285, 0.1289, 0.1298, 0.1306, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.1311, 0.1301, 0.1293, 0.1295, 0.1301, 0.1308, 0.1315, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1305, 0.1304, 0.1308, 0.1314, 0.1321, 0.1326, 0.1331, 0.1334");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1285, 0.1288, 0.1298, 0.1313, 0.1325, 0.1332, 0.1337, 0.1341, 0.1343, 0.1344",\
                 "0.1287, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1336, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1333, 0.1335",\
                 "0.1277, 0.1277, 0.1282, 0.1293, 0.1304, 0.1313, 0.132, 0.1324, 0.1328, 0.1331",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.1299, 0.1308, 0.1316, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1289, 0.1285, 0.129, 0.1298, 0.1307, 0.1314, 0.132, 0.1324, 0.1327",\
                 "0.131, 0.1301, 0.1293, 0.1295, 0.1301, 0.1308, 0.1316, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1316, 0.1306, 0.1303, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1285, 0.1288, 0.1298, 0.1313, 0.1325, 0.1332, 0.1337, 0.1341, 0.1343, 0.1344",\
                 "0.1287, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1336, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1339",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1333, 0.1335",\
                 "0.1277, 0.1277, 0.1282, 0.1293, 0.1304, 0.1313, 0.132, 0.1324, 0.1328, 0.1331",\
                 "0.1284, 0.1281, 0.1282, 0.129, 0.1299, 0.1308, 0.1316, 0.1321, 0.1325, 0.1327",\
                 "0.1295, 0.1289, 0.1285, 0.129, 0.1298, 0.1307, 0.1314, 0.132, 0.1324, 0.1327",\
                 "0.131, 0.1301, 0.1293, 0.1295, 0.1301, 0.1308, 0.1316, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1316, 0.1306, 0.1303, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1286, 0.1288, 0.1299, 0.1314, 0.1325, 0.1333, 0.1338, 0.1341, 0.1343, 0.1345",\
                 "0.1286, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1335, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1338",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1332, 0.1334",\
                 "0.1277, 0.1277, 0.1283, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.1289, 0.1299, 0.1308, 0.1315, 0.1321, 0.1324, 0.1327",\
                 "0.1295, 0.1288, 0.1286, 0.129, 0.1298, 0.1307, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.131, 0.1301, 0.1293, 0.1294, 0.1301, 0.1308, 0.1315, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1303, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.1286, 0.1288, 0.1299, 0.1314, 0.1325, 0.1333, 0.1338, 0.1341, 0.1343, 0.1345",\
                 "0.1286, 0.1289, 0.1299, 0.1314, 0.1326, 0.1334, 0.1339, 0.1342, 0.1344, 0.1345",\
                 "0.1283, 0.1285, 0.1296, 0.1311, 0.1323, 0.1331, 0.1335, 0.1339, 0.1341, 0.1342",\
                 "0.128, 0.1282, 0.1292, 0.1306, 0.1318, 0.1326, 0.1331, 0.1335, 0.1337, 0.1338",\
                 "0.1277, 0.1278, 0.1287, 0.13, 0.1311, 0.132, 0.1326, 0.133, 0.1332, 0.1334",\
                 "0.1277, 0.1277, 0.1283, 0.1293, 0.1304, 0.1313, 0.132, 0.1325, 0.1328, 0.133",\
                 "0.1284, 0.1281, 0.1282, 0.1289, 0.1299, 0.1308, 0.1315, 0.1321, 0.1324, 0.1327",\
                 "0.1295, 0.1288, 0.1286, 0.129, 0.1298, 0.1307, 0.1314, 0.1319, 0.1324, 0.1327",\
                 "0.131, 0.1301, 0.1293, 0.1294, 0.1301, 0.1308, 0.1315, 0.1321, 0.1326, 0.1329",\
                 "0.1329, 0.1317, 0.1306, 0.1303, 0.1308, 0.1314, 0.1321, 0.1327, 0.1331, 0.1335");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.352, 2.428, 2.605, 2.832, 3.098, 3.418, 3.806, 4.279, 4.849, 5.526",\
                 "2.382, 2.458, 2.635, 2.861, 3.128, 3.448, 3.836, 4.309, 4.879, 5.555",\
                 "2.487, 2.562, 2.739, 2.966, 3.233, 3.552, 3.941, 4.413, 4.983, 5.66",\
                 "2.678, 2.754, 2.931, 3.158, 3.424, 3.744, 4.132, 4.605, 5.175, 5.852",\
                 "2.897, 2.973, 3.15, 3.377, 3.644, 3.963, 4.351, 4.824, 5.394, 6.071",\
                 "3.107, 3.182, 3.36, 3.586, 3.853, 4.173, 4.561, 5.034, 5.604, 6.281",\
                 "3.299, 3.375, 3.552, 3.779, 4.045, 4.365, 4.753, 5.226, 5.796, 6.473",\
                 "3.47, 3.545, 3.723, 3.949, 4.216, 4.535, 4.924, 5.396, 5.966, 6.643",\
                 "3.614, 3.689, 3.867, 4.093, 4.36, 4.68, 5.068, 5.54, 6.11, 6.787",\
                 "3.729, 3.805, 3.982, 4.208, 4.475, 4.795, 5.183, 5.656, 6.225, 6.902");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.46, 2.557, 2.806, 3.176, 3.694, 4.401, 5.325, 6.487, 7.905, 9.591",\
                 "2.49, 2.587, 2.836, 3.206, 3.724, 4.431, 5.355, 6.517, 7.934, 9.625",\
                 "2.594, 2.692, 2.94, 3.311, 3.829, 4.535, 5.46, 6.621, 8.037, 9.729",\
                 "2.781, 2.878, 3.128, 3.498, 4.016, 4.723, 5.647, 6.808, 8.225, 9.917",\
                 "2.996, 3.093, 3.342, 3.712, 4.23, 4.937, 5.861, 7.023, 8.44, 10.13",\
                 "3.201, 3.299, 3.548, 3.918, 4.436, 5.142, 6.066, 7.228, 8.646, 10.34",\
                 "3.39, 3.487, 3.736, 4.107, 4.624, 5.332, 6.256, 7.417, 8.835, 10.53",\
                 "3.558, 3.656, 3.904, 4.275, 4.793, 5.499, 6.423, 7.585, 9.002, 10.69",\
                 "3.701, 3.798, 4.047, 4.417, 4.935, 5.642, 6.566, 7.727, 9.144, 10.83",\
                 "3.815, 3.912, 4.161, 4.532, 5.049, 5.756, 6.68, 7.842, 9.259, 10.95");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2918, 0.3464, 0.488, 0.6962, 0.9954, 1.421, 2.001, 2.76, 3.715, 4.862",\
                 "0.2918, 0.3466, 0.4882, 0.6966, 0.9946, 1.419, 2, 2.761, 3.71, 4.86",\
                 "0.2916, 0.3464, 0.4884, 0.696, 0.9952, 1.419, 2.002, 2.761, 3.714, 4.856",\
                 "0.2918, 0.3466, 0.4884, 0.6964, 0.9958, 1.419, 2.002, 2.763, 3.713, 4.862",\
                 "0.2918, 0.3472, 0.4882, 0.6964, 0.995, 1.419, 2.002, 2.762, 3.709, 4.86",\
                 "0.2914, 0.346, 0.4882, 0.6962, 0.9942, 1.42, 2.002, 2.762, 3.715, 4.86",\
                 "0.2916, 0.3466, 0.488, 0.6966, 0.9942, 1.421, 2, 2.763, 3.715, 4.861",\
                 "0.2918, 0.3466, 0.488, 0.6964, 0.9946, 1.419, 1.999, 2.759, 3.713, 4.862",\
                 "0.2916, 0.3464, 0.4886, 0.6966, 0.9954, 1.419, 2.002, 2.76, 3.708, 4.854",\
                 "0.292, 0.346, 0.488, 0.696, 0.996, 1.42, 2, 2.762, 3.708, 4.852");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.3188, 0.4062, 0.6716, 1.163, 1.968, 3.151, 4.724, 6.708, 9.125, 12.04",\
                 "0.3188, 0.4064, 0.672, 1.163, 1.971, 3.147, 4.722, 6.707, 9.138, 12.02",\
                 "0.3188, 0.406, 0.6728, 1.163, 1.969, 3.149, 4.724, 6.707, 9.139, 12.02",\
                 "0.3188, 0.4062, 0.6718, 1.163, 1.971, 3.147, 4.722, 6.707, 9.139, 12.02",\
                 "0.3188, 0.4064, 0.671, 1.162, 1.97, 3.146, 4.722, 6.707, 9.139, 12.02",\
                 "0.3194, 0.4054, 0.672, 1.163, 1.971, 3.147, 4.722, 6.707, 9.14, 12.02",\
                 "0.3194, 0.4058, 0.6716, 1.163, 1.971, 3.151, 4.722, 6.71, 9.131, 12.04",\
                 "0.3192, 0.4062, 0.6716, 1.163, 1.968, 3.146, 4.722, 6.706, 9.138, 12.02",\
                 "0.3188, 0.406, 0.6712, 1.163, 1.97, 3.146, 4.714, 6.694, 9.128, 12.02",\
                 "0.32, 0.406, 0.672, 1.162, 1.97, 3.15, 4.718, 6.694, 9.114, 12");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.352, 2.428, 2.605, 2.832, 3.099, 3.418, 3.807, 4.279, 4.849, 5.526",\
                 "2.382, 2.458, 2.635, 2.861, 3.128, 3.448, 3.836, 4.309, 4.879, 5.555",\
                 "2.487, 2.562, 2.739, 2.966, 3.233, 3.552, 3.941, 4.413, 4.983, 5.66",\
                 "2.678, 2.754, 2.931, 3.158, 3.424, 3.744, 4.132, 4.605, 5.175, 5.852",\
                 "2.897, 2.973, 3.15, 3.377, 3.644, 3.963, 4.351, 4.824, 5.394, 6.071",\
                 "3.107, 3.183, 3.36, 3.586, 3.853, 4.173, 4.561, 5.034, 5.604, 6.281",\
                 "3.299, 3.375, 3.552, 3.779, 4.046, 4.365, 4.753, 5.226, 5.796, 6.473",\
                 "3.47, 3.545, 3.723, 3.949, 4.216, 4.536, 4.924, 5.396, 5.966, 6.643",\
                 "3.614, 3.69, 3.867, 4.093, 4.36, 4.68, 5.068, 5.541, 6.11, 6.788",\
                 "3.729, 3.805, 3.982, 4.208, 4.475, 4.795, 5.183, 5.656, 6.225, 6.902");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.46, 2.557, 2.806, 3.177, 3.694, 4.401, 5.326, 6.487, 7.904, 9.595",\
                 "2.49, 2.587, 2.836, 3.206, 3.724, 4.431, 5.355, 6.517, 7.934, 9.625",\
                 "2.594, 2.692, 2.94, 3.311, 3.829, 4.535, 5.46, 6.621, 8.038, 9.729",\
                 "2.781, 2.879, 3.128, 3.498, 4.016, 4.723, 5.647, 6.808, 8.225, 9.917",\
                 "2.996, 3.093, 3.342, 3.712, 4.23, 4.937, 5.861, 7.023, 8.44, 10.13",\
                 "3.202, 3.299, 3.548, 3.918, 4.436, 5.142, 6.067, 7.228, 8.647, 10.34",\
                 "3.39, 3.488, 3.737, 4.107, 4.625, 5.332, 6.256, 7.418, 8.836, 10.53",\
                 "3.558, 3.655, 3.904, 4.275, 4.793, 5.499, 6.423, 7.586, 9.002, 10.69",\
                 "3.701, 3.798, 4.047, 4.417, 4.935, 5.641, 6.566, 7.727, 9.144, 10.83",\
                 "3.814, 3.912, 4.161, 4.532, 5.049, 5.757, 6.681, 7.842, 9.259, 10.95");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2918, 0.3468, 0.4882, 0.6964, 0.9944, 1.421, 2.002, 2.761, 3.715, 4.861",\
                 "0.2916, 0.347, 0.4882, 0.6966, 0.9946, 1.421, 2.001, 2.763, 3.709, 4.86",\
                 "0.2916, 0.3462, 0.4882, 0.6966, 0.9952, 1.421, 2.001, 2.762, 3.715, 4.861",\
                 "0.2918, 0.3466, 0.4884, 0.6964, 0.9948, 1.42, 2, 2.763, 3.713, 4.862",\
                 "0.2918, 0.3466, 0.4882, 0.6964, 0.995, 1.419, 2.002, 2.762, 3.709, 4.86",\
                 "0.2914, 0.346, 0.4882, 0.6966, 0.9942, 1.42, 2.002, 2.762, 3.715, 4.86",\
                 "0.2916, 0.3466, 0.4882, 0.696, 0.9938, 1.421, 2.001, 2.762, 3.714, 4.86",\
                 "0.2916, 0.3466, 0.4882, 0.6964, 0.9946, 1.421, 2, 2.759, 3.712, 4.861",\
                 "0.2912, 0.3472, 0.4882, 0.6968, 0.9958, 1.419, 2.002, 2.76, 3.708, 4.856",\
                 "0.292, 0.346, 0.488, 0.696, 0.996, 1.422, 2, 2.762, 3.708, 4.852");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.3192, 0.4058, 0.673, 1.163, 1.97, 3.151, 4.724, 6.707, 9.139, 12.03",\
                 "0.3188, 0.4064, 0.672, 1.163, 1.971, 3.147, 4.722, 6.707, 9.138, 12.02",\
                 "0.3188, 0.406, 0.6728, 1.163, 1.969, 3.149, 4.724, 6.706, 9.139, 12.02",\
                 "0.3192, 0.4066, 0.6724, 1.163, 1.969, 3.147, 4.722, 6.707, 9.139, 12.02",\
                 "0.3188, 0.4064, 0.671, 1.162, 1.97, 3.146, 4.722, 6.707, 9.139, 12.02",\
                 "0.3188, 0.4056, 0.6712, 1.162, 1.969, 3.151, 4.724, 6.703, 9.135, 12.02",\
                 "0.3194, 0.406, 0.6724, 1.162, 1.969, 3.151, 4.721, 6.71, 9.132, 12.04",\
                 "0.3194, 0.4068, 0.6714, 1.164, 1.968, 3.146, 4.72, 6.712, 9.138, 12.02",\
                 "0.3188, 0.4064, 0.6716, 1.163, 1.969, 3.148, 4.714, 6.702, 9.13, 12.02",\
                 "0.32, 0.406, 0.67, 1.162, 1.97, 3.15, 4.72, 6.696, 9.114, 12");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.353, 2.428, 2.605, 2.831, 3.098, 3.418, 3.806, 4.279, 4.848, 5.526",\
                 "2.382, 2.458, 2.635, 2.862, 3.128, 3.448, 3.836, 4.309, 4.879, 5.555",\
                 "2.487, 2.563, 2.74, 2.966, 3.233, 3.553, 3.941, 4.414, 4.984, 5.66",\
                 "2.678, 2.754, 2.931, 3.158, 3.424, 3.744, 4.132, 4.605, 5.175, 5.852",\
                 "2.897, 2.973, 3.15, 3.377, 3.643, 3.963, 4.351, 4.824, 5.394, 6.071",\
                 "3.107, 3.182, 3.36, 3.586, 3.853, 4.173, 4.561, 5.034, 5.604, 6.281",\
                 "3.299, 3.375, 3.552, 3.779, 4.045, 4.365, 4.754, 5.226, 5.796, 6.473",\
                 "3.47, 3.546, 3.723, 3.949, 4.216, 4.536, 4.924, 5.397, 5.966, 6.643",\
                 "3.614, 3.69, 3.867, 4.094, 4.361, 4.68, 5.068, 5.541, 6.111, 6.788",\
                 "3.729, 3.804, 3.982, 4.208, 4.475, 4.795, 5.183, 5.656, 6.226, 6.903");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.46, 2.557, 2.806, 3.177, 3.694, 4.401, 5.325, 6.487, 7.904, 9.596",\
                 "2.49, 2.587, 2.836, 3.206, 3.724, 4.431, 5.355, 6.517, 7.934, 9.625",\
                 "2.594, 2.692, 2.94, 3.311, 3.829, 4.535, 5.46, 6.621, 8.038, 9.729",\
                 "2.781, 2.879, 3.128, 3.498, 4.016, 4.723, 5.647, 6.808, 8.225, 9.917",\
                 "2.995, 3.093, 3.342, 3.712, 4.23, 4.937, 5.861, 7.023, 8.441, 10.13",\
                 "3.202, 3.299, 3.548, 3.918, 4.436, 5.142, 6.067, 7.228, 8.647, 10.34",\
                 "3.391, 3.488, 3.737, 4.107, 4.625, 5.332, 6.256, 7.418, 8.834, 10.53",\
                 "3.558, 3.655, 3.904, 4.275, 4.793, 5.499, 6.423, 7.586, 9.002, 10.69",\
                 "3.7, 3.798, 4.047, 4.417, 4.935, 5.641, 6.565, 7.727, 9.144, 10.83",\
                 "3.815, 3.912, 4.161, 4.532, 5.049, 5.757, 6.681, 7.841, 9.258, 10.95");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2916, 0.3472, 0.4882, 0.696, 0.995, 1.419, 2.002, 2.762, 3.715, 4.859",\
                 "0.2918, 0.347, 0.4882, 0.697, 0.9948, 1.419, 2.002, 2.763, 3.712, 4.86",\
                 "0.2916, 0.3466, 0.4882, 0.6966, 0.9942, 1.42, 2.001, 2.763, 3.711, 4.861",\
                 "0.2916, 0.3468, 0.4884, 0.6962, 0.9948, 1.42, 2.002, 2.76, 3.711, 4.856",\
                 "0.2916, 0.3468, 0.4882, 0.6968, 0.9952, 1.42, 2.002, 2.763, 3.712, 4.861",\
                 "0.2914, 0.347, 0.488, 0.696, 0.995, 1.419, 2.002, 2.761, 3.709, 4.86",\
                 "0.2918, 0.3468, 0.4884, 0.6964, 0.9948, 1.419, 2, 2.763, 3.714, 4.862",\
                 "0.2914, 0.3468, 0.4882, 0.6964, 0.9954, 1.419, 2, 2.759, 3.712, 4.861",\
                 "0.2916, 0.3468, 0.4884, 0.6968, 0.9948, 1.419, 2, 2.762, 3.71, 4.854",\
                 "0.292, 0.348, 0.49, 0.696, 0.996, 1.42, 2.002, 2.76, 3.71, 4.86");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.319, 0.406, 0.671, 1.163, 1.971, 3.149, 4.719, 6.709, 9.141, 12.03",\
                 "0.3188, 0.4064, 0.672, 1.163, 1.971, 3.147, 4.722, 6.707, 9.138, 12.02",\
                 "0.3188, 0.406, 0.6728, 1.163, 1.969, 3.149, 4.724, 6.706, 9.139, 12.02",\
                 "0.3188, 0.4058, 0.6714, 1.162, 1.97, 3.151, 4.722, 6.707, 9.139, 12.02",\
                 "0.319, 0.4056, 0.6714, 1.162, 1.971, 3.151, 4.724, 6.705, 9.128, 12.03",\
                 "0.3192, 0.4058, 0.6712, 1.162, 1.969, 3.15, 4.724, 6.703, 9.135, 12.02",\
                 "0.3188, 0.4056, 0.6724, 1.162, 1.968, 3.15, 4.717, 6.711, 9.14, 12.03",\
                 "0.3192, 0.4058, 0.6714, 1.163, 1.968, 3.146, 4.72, 6.71, 9.134, 12.04",\
                 "0.3192, 0.4058, 0.6722, 1.161, 1.971, 3.148, 4.712, 6.702, 9.13, 12.02",\
                 "0.32, 0.406, 0.67, 1.162, 1.97, 3.15, 4.718, 6.694, 9.114, 12");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.352, 2.428, 2.605, 2.831, 3.098, 3.418, 3.806, 4.279, 4.849, 5.526",\
                 "2.382, 2.458, 2.635, 2.861, 3.128, 3.448, 3.836, 4.309, 4.879, 5.555",\
                 "2.487, 2.563, 2.74, 2.966, 3.233, 3.553, 3.941, 4.414, 4.984, 5.66",\
                 "2.678, 2.754, 2.931, 3.158, 3.424, 3.744, 4.132, 4.605, 5.175, 5.852",\
                 "2.897, 2.973, 3.15, 3.377, 3.643, 3.963, 4.351, 4.824, 5.394, 6.071",\
                 "3.107, 3.182, 3.36, 3.586, 3.853, 4.173, 4.561, 5.034, 5.603, 6.28",\
                 "3.299, 3.375, 3.552, 3.778, 4.045, 4.365, 4.753, 5.226, 5.796, 6.473",\
                 "3.47, 3.545, 3.723, 3.949, 4.216, 4.536, 4.923, 5.397, 5.966, 6.643",\
                 "3.614, 3.689, 3.867, 4.093, 4.36, 4.68, 5.068, 5.54, 6.11, 6.787",\
                 "3.729, 3.804, 3.982, 4.208, 4.475, 4.795, 5.183, 5.656, 6.226, 6.902");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.461, 2.558, 2.807, 3.177, 3.695, 4.402, 5.327, 6.489, 7.906, 9.593",\
                 "2.491, 2.588, 2.837, 3.207, 3.725, 4.432, 5.356, 6.518, 7.935, 9.625",\
                 "2.595, 2.693, 2.941, 3.312, 3.829, 4.536, 5.46, 6.622, 8.039, 9.73",\
                 "2.782, 2.879, 3.128, 3.499, 4.016, 4.723, 5.648, 6.81, 8.228, 9.913",\
                 "2.996, 3.093, 3.342, 3.712, 4.23, 4.937, 5.862, 7.023, 8.441, 10.13",\
                 "3.202, 3.299, 3.548, 3.919, 4.436, 5.143, 6.067, 7.229, 8.647, 10.33",\
                 "3.39, 3.488, 3.737, 4.107, 4.625, 5.332, 6.256, 7.417, 8.835, 10.52",\
                 "3.558, 3.655, 3.905, 4.275, 4.793, 5.499, 6.423, 7.586, 9.003, 10.69",\
                 "3.701, 3.797, 4.047, 4.417, 4.935, 5.642, 6.566, 7.728, 9.144, 10.83",\
                 "3.814, 3.912, 4.161, 4.531, 5.05, 5.757, 6.681, 7.842, 9.258, 10.94");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2916, 0.3468, 0.4882, 0.696, 0.995, 1.421, 2.001, 2.763, 3.714, 4.862",\
                 "0.2916, 0.3466, 0.4882, 0.6972, 0.9948, 1.419, 2.002, 2.761, 3.713, 4.862",\
                 "0.2916, 0.3468, 0.4882, 0.6962, 0.9958, 1.42, 2, 2.763, 3.712, 4.862",\
                 "0.2918, 0.3466, 0.4884, 0.6964, 0.9948, 1.42, 2.002, 2.76, 3.711, 4.856",\
                 "0.2918, 0.3472, 0.4882, 0.6968, 0.9948, 1.42, 2, 2.763, 3.713, 4.862",\
                 "0.2914, 0.3466, 0.4882, 0.6966, 0.9954, 1.419, 2.001, 2.761, 3.709, 4.86",\
                 "0.2914, 0.3472, 0.488, 0.6966, 0.9942, 1.421, 2.002, 2.762, 3.715, 4.86",\
                 "0.2918, 0.3468, 0.4882, 0.6966, 0.9954, 1.42, 2, 2.758, 3.71, 4.861",\
                 "0.2918, 0.3462, 0.4882, 0.696, 0.9948, 1.419, 2.002, 2.76, 3.708, 4.852",\
                 "0.292, 0.348, 0.488, 0.696, 0.996, 1.42, 2, 2.762, 3.71, 4.858");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.3188, 0.4058, 0.6732, 1.163, 1.968, 3.151, 4.724, 6.709, 9.127, 12.04",\
                 "0.3192, 0.4068, 0.671, 1.163, 1.97, 3.149, 4.723, 6.709, 9.137, 12.02",\
                 "0.319, 0.406, 0.6728, 1.163, 1.969, 3.148, 4.723, 6.708, 9.139, 12.02",\
                 "0.3192, 0.4068, 0.6712, 1.163, 1.971, 3.149, 4.723, 6.707, 9.126, 12.04",\
                 "0.3188, 0.406, 0.6716, 1.161, 1.97, 3.151, 4.724, 6.705, 9.132, 12.04",\
                 "0.319, 0.4054, 0.6722, 1.163, 1.971, 3.151, 4.724, 6.7, 9.134, 12.03",\
                 "0.3202, 0.4058, 0.672, 1.163, 1.968, 3.15, 4.724, 6.71, 9.135, 12.04",\
                 "0.3194, 0.4062, 0.6718, 1.164, 1.968, 3.146, 4.719, 6.712, 9.138, 12.02",\
                 "0.3188, 0.407, 0.6716, 1.161, 1.971, 3.148, 4.714, 6.696, 9.13, 12.02",\
                 "0.32, 0.408, 0.672, 1.162, 1.968, 3.146, 4.716, 6.696, 9.114, 12");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.353, 2.428, 2.605, 2.831, 3.098, 3.418, 3.806, 4.279, 4.848, 5.526",\
                 "2.382, 2.458, 2.635, 2.862, 3.128, 3.448, 3.836, 4.309, 4.879, 5.555",\
                 "2.487, 2.563, 2.74, 2.966, 3.233, 3.553, 3.941, 4.414, 4.984, 5.66",\
                 "2.678, 2.754, 2.931, 3.158, 3.424, 3.744, 4.132, 4.605, 5.175, 5.852",\
                 "2.897, 2.973, 3.15, 3.377, 3.643, 3.963, 4.351, 4.824, 5.394, 6.071",\
                 "3.107, 3.182, 3.36, 3.586, 3.853, 4.173, 4.561, 5.034, 5.604, 6.281",\
                 "3.299, 3.375, 3.552, 3.779, 4.045, 4.365, 4.754, 5.226, 5.796, 6.473",\
                 "3.47, 3.546, 3.723, 3.949, 4.216, 4.536, 4.924, 5.397, 5.966, 6.643",\
                 "3.614, 3.69, 3.867, 4.094, 4.361, 4.68, 5.068, 5.541, 6.111, 6.788",\
                 "3.729, 3.804, 3.982, 4.208, 4.475, 4.795, 5.183, 5.656, 6.226, 6.903");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("2.46, 2.557, 2.806, 3.177, 3.694, 4.401, 5.325, 6.487, 7.904, 9.596",\
                 "2.49, 2.587, 2.836, 3.206, 3.724, 4.431, 5.355, 6.517, 7.934, 9.625",\
                 "2.594, 2.692, 2.94, 3.311, 3.829, 4.535, 5.46, 6.621, 8.038, 9.729",\
                 "2.781, 2.879, 3.128, 3.498, 4.016, 4.723, 5.647, 6.808, 8.225, 9.917",\
                 "2.995, 3.093, 3.342, 3.712, 4.23, 4.937, 5.861, 7.023, 8.441, 10.13",\
                 "3.202, 3.299, 3.548, 3.918, 4.436, 5.142, 6.067, 7.228, 8.647, 10.34",\
                 "3.391, 3.488, 3.737, 4.107, 4.625, 5.332, 6.256, 7.418, 8.834, 10.53",\
                 "3.558, 3.655, 3.904, 4.275, 4.793, 5.499, 6.423, 7.586, 9.002, 10.69",\
                 "3.7, 3.798, 4.047, 4.417, 4.935, 5.641, 6.565, 7.727, 9.144, 10.83",\
                 "3.815, 3.912, 4.161, 4.532, 5.049, 5.757, 6.681, 7.841, 9.258, 10.95");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2916, 0.3468, 0.4882, 0.696, 0.995, 1.421, 2.001, 2.763, 3.714, 4.862",\
                 "0.2916, 0.3466, 0.4882, 0.6972, 0.9948, 1.419, 2.002, 2.761, 3.713, 4.862",\
                 "0.2916, 0.3468, 0.4882, 0.6962, 0.9958, 1.42, 2, 2.763, 3.712, 4.862",\
                 "0.2918, 0.3466, 0.4884, 0.6964, 0.9948, 1.42, 2.002, 2.76, 3.711, 4.856",\
                 "0.2918, 0.3472, 0.4882, 0.6968, 0.9948, 1.42, 2, 2.763, 3.713, 4.862",\
                 "0.2914, 0.3466, 0.4882, 0.6966, 0.9954, 1.419, 2.001, 2.761, 3.709, 4.86",\
                 "0.2914, 0.3472, 0.488, 0.6966, 0.9942, 1.421, 2.002, 2.762, 3.715, 4.86",\
                 "0.2918, 0.3468, 0.4882, 0.6966, 0.9954, 1.42, 2, 2.758, 3.71, 4.861",\
                 "0.2918, 0.3462, 0.4882, 0.696, 0.9948, 1.419, 2.002, 2.76, 3.708, 4.852",\
                 "0.292, 0.348, 0.488, 0.696, 0.996, 1.42, 2, 2.762, 3.71, 4.858");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.3188, 0.4062, 0.6716, 1.163, 1.968, 3.151, 4.724, 6.708, 9.125, 12.04",\
                 "0.3188, 0.4064, 0.672, 1.163, 1.971, 3.147, 4.722, 6.707, 9.138, 12.02",\
                 "0.3188, 0.406, 0.6728, 1.163, 1.969, 3.149, 4.724, 6.707, 9.139, 12.02",\
                 "0.3188, 0.4062, 0.6718, 1.163, 1.971, 3.147, 4.722, 6.707, 9.139, 12.02",\
                 "0.3188, 0.4064, 0.671, 1.162, 1.97, 3.146, 4.722, 6.707, 9.139, 12.02",\
                 "0.3194, 0.4054, 0.672, 1.163, 1.971, 3.147, 4.722, 6.707, 9.14, 12.02",\
                 "0.3194, 0.4058, 0.6716, 1.163, 1.971, 3.151, 4.722, 6.71, 9.131, 12.04",\
                 "0.3192, 0.4062, 0.6716, 1.163, 1.968, 3.146, 4.722, 6.706, 9.138, 12.02",\
                 "0.3188, 0.406, 0.6712, 1.163, 1.97, 3.146, 4.714, 6.694, 9.128, 12.02",\
                 "0.32, 0.406, 0.672, 1.162, 1.97, 3.15, 4.718, 6.694, 9.114, 12");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.171, 1.347, 1.575, 1.846, 2.159, 2.535, 2.999, 3.564, 4.24",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.567, 3.031, 3.597, 4.272",\
                 "1.254, 1.329, 1.505, 1.732, 2.004, 2.316, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.935, 3.399, 3.964, 4.639",\
                 "1.877, 1.953, 2.128, 2.355, 2.627, 2.939, 3.315, 3.78, 4.345, 5.02",\
                 "2.398, 2.476, 2.655, 2.884, 3.156, 3.469, 3.845, 4.309, 4.875, 5.55",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.493, 4.956, 5.521, 6.196",\
                 "3.617, 3.716, 3.941, 4.211, 4.508, 4.826, 5.201, 5.664, 6.229, 6.903",\
                 "4.277, 4.389, 4.638, 4.934, 5.25, 5.573, 5.95, 6.412, 6.976, 7.65",\
                 "4.973, 5.092, 5.368, 5.693, 6.029, 6.357, 6.733, 7.194, 7.758, 8.432");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2932, 0.3462, 0.486, 0.7044, 0.9922, 1.376, 1.939, 2.705, 3.664, 4.812",\
                 "0.2934, 0.3462, 0.486, 0.7044, 0.9922, 1.377, 1.939, 2.705, 3.664, 4.812",\
                 "0.2932, 0.346, 0.4862, 0.7044, 0.9922, 1.377, 1.939, 2.705, 3.664, 4.812",\
                 "0.293, 0.346, 0.4858, 0.7046, 0.992, 1.377, 1.938, 2.704, 3.666, 4.812",\
                 "0.293, 0.3466, 0.4862, 0.705, 0.992, 1.376, 1.938, 2.705, 3.664, 4.818",\
                 "0.3134, 0.364, 0.4988, 0.7126, 0.9954, 1.377, 1.937, 2.705, 3.663, 4.817",\
                 "0.3762, 0.4302, 0.5608, 0.7598, 1.02, 1.385, 1.94, 2.702, 3.665, 4.821",\
                 "0.4414, 0.5032, 0.644, 0.8402, 1.075, 1.409, 1.95, 2.703, 3.666, 4.819",\
                 "0.508, 0.5774, 0.7324, 0.932, 1.136, 1.436, 1.96, 2.71, 3.668, 4.814",\
                 "0.574, 0.65, 0.824, 1.032, 1.202, 1.464, 1.97, 2.716, 3.668, 4.816");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.171, 1.347, 1.575, 1.846, 2.159, 2.535, 2.999, 3.564, 4.24",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.567, 3.031, 3.597, 4.272",\
                 "1.254, 1.329, 1.505, 1.732, 2.004, 2.316, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.935, 3.399, 3.964, 4.639",\
                 "1.877, 1.953, 2.128, 2.355, 2.627, 2.939, 3.315, 3.78, 4.345, 5.02",\
                 "2.398, 2.476, 2.655, 2.884, 3.156, 3.469, 3.845, 4.309, 4.875, 5.549",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.492, 4.956, 5.522, 6.196",\
                 "3.617, 3.716, 3.941, 4.211, 4.508, 4.826, 5.201, 5.664, 6.229, 6.903",\
                 "4.277, 4.389, 4.638, 4.934, 5.249, 5.573, 5.95, 6.412, 6.976, 7.65",\
                 "4.973, 5.092, 5.368, 5.693, 6.029, 6.357, 6.732, 7.194, 7.758, 8.432");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2932, 0.3462, 0.486, 0.7044, 0.9922, 1.376, 1.939, 2.705, 3.664, 4.812",\
                 "0.2934, 0.3462, 0.486, 0.7044, 0.9922, 1.377, 1.939, 2.705, 3.664, 4.812",\
                 "0.2932, 0.346, 0.4862, 0.7044, 0.9922, 1.377, 1.939, 2.705, 3.664, 4.812",\
                 "0.293, 0.346, 0.4858, 0.7046, 0.992, 1.377, 1.938, 2.704, 3.666, 4.816",\
                 "0.293, 0.3466, 0.4862, 0.705, 0.992, 1.377, 1.938, 2.703, 3.664, 4.817",\
                 "0.3132, 0.364, 0.4988, 0.7126, 0.9954, 1.377, 1.937, 2.705, 3.664, 4.82",\
                 "0.376, 0.4302, 0.5614, 0.7598, 1.02, 1.385, 1.939, 2.705, 3.66, 4.821",\
                 "0.4414, 0.5034, 0.644, 0.8402, 1.075, 1.409, 1.95, 2.706, 3.666, 4.819",\
                 "0.508, 0.5774, 0.7324, 0.932, 1.136, 1.436, 1.96, 2.71, 3.668, 4.814",\
                 "0.574, 0.65, 0.824, 1.032, 1.202, 1.462, 1.972, 2.716, 3.668, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.171, 1.347, 1.575, 1.846, 2.159, 2.535, 2.999, 3.564, 4.24",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.567, 3.031, 3.597, 4.272",\
                 "1.254, 1.329, 1.505, 1.732, 2.004, 2.316, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.935, 3.399, 3.964, 4.639",\
                 "1.877, 1.953, 2.128, 2.355, 2.627, 2.939, 3.316, 3.78, 4.345, 5.02",\
                 "2.398, 2.476, 2.655, 2.884, 3.156, 3.469, 3.845, 4.309, 4.874, 5.55",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.492, 4.956, 5.522, 6.196",\
                 "3.617, 3.716, 3.941, 4.211, 4.508, 4.826, 5.201, 5.664, 6.229, 6.903",\
                 "4.277, 4.388, 4.638, 4.935, 5.25, 5.573, 5.95, 6.412, 6.976, 7.65",\
                 "4.973, 5.092, 5.368, 5.693, 6.03, 6.357, 6.733, 7.194, 7.758, 8.432");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2932, 0.3462, 0.486, 0.7044, 0.9922, 1.376, 1.939, 2.705, 3.664, 4.812",\
                 "0.2934, 0.3462, 0.486, 0.7044, 0.9922, 1.377, 1.939, 2.705, 3.664, 4.812",\
                 "0.2932, 0.346, 0.4862, 0.7044, 0.9922, 1.377, 1.939, 2.705, 3.664, 4.812",\
                 "0.293, 0.3464, 0.4858, 0.7046, 0.992, 1.377, 1.938, 2.704, 3.666, 4.816",\
                 "0.293, 0.3462, 0.4862, 0.705, 0.9922, 1.377, 1.938, 2.705, 3.663, 4.812",\
                 "0.3132, 0.364, 0.4986, 0.7126, 0.995, 1.377, 1.938, 2.703, 3.664, 4.812",\
                 "0.3762, 0.4302, 0.5614, 0.7598, 1.02, 1.385, 1.94, 2.705, 3.664, 4.821",\
                 "0.441, 0.503, 0.6438, 0.8404, 1.076, 1.409, 1.95, 2.706, 3.666, 4.819",\
                 "0.508, 0.5778, 0.7326, 0.932, 1.136, 1.436, 1.96, 2.71, 3.668, 4.814",\
                 "0.574, 0.652, 0.824, 1.032, 1.202, 1.464, 1.972, 2.716, 3.668, 4.816");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.172, 1.347, 1.575, 1.846, 2.159, 2.535, 2.999, 3.565, 4.24",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.568, 3.032, 3.597, 4.272",\
                 "1.253, 1.329, 1.505, 1.732, 2.004, 2.317, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.934, 3.398, 3.964, 4.639",\
                 "1.877, 1.953, 2.128, 2.355, 2.626, 2.94, 3.315, 3.78, 4.345, 5.02",\
                 "2.399, 2.476, 2.655, 2.885, 3.156, 3.469, 3.845, 4.309, 4.875, 5.55",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.492, 4.956, 5.521, 6.196",\
                 "3.617, 3.716, 3.941, 4.211, 4.508, 4.826, 5.202, 5.665, 6.229, 6.903",\
                 "4.277, 4.388, 4.638, 4.934, 5.25, 5.573, 5.949, 6.412, 6.976, 7.649",\
                 "4.972, 5.092, 5.367, 5.693, 6.029, 6.357, 6.733, 7.194, 7.758, 8.431");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2934, 0.3466, 0.4858, 0.7044, 0.9922, 1.376, 1.938, 2.702, 3.665, 4.814",\
                 "0.2932, 0.3458, 0.4856, 0.7044, 0.9924, 1.377, 1.939, 2.705, 3.664, 4.813",\
                 "0.2934, 0.3466, 0.4858, 0.7044, 0.9924, 1.377, 1.938, 2.705, 3.664, 4.812",\
                 "0.2932, 0.346, 0.4858, 0.7044, 0.992, 1.377, 1.939, 2.705, 3.664, 4.817",\
                 "0.2932, 0.347, 0.4864, 0.7052, 0.992, 1.376, 1.939, 2.705, 3.666, 4.812",\
                 "0.3134, 0.3638, 0.4986, 0.7124, 0.9948, 1.377, 1.938, 2.705, 3.666, 4.816",\
                 "0.3762, 0.4304, 0.5606, 0.7596, 1.02, 1.385, 1.939, 2.705, 3.666, 4.817",\
                 "0.4408, 0.503, 0.6438, 0.8402, 1.075, 1.409, 1.949, 2.705, 3.661, 4.819",\
                 "0.508, 0.5776, 0.7328, 0.932, 1.136, 1.438, 1.962, 2.71, 3.664, 4.814",\
                 "0.574, 0.65, 0.822, 1.032, 1.202, 1.462, 1.97, 2.714, 3.67, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.172, 1.348, 1.575, 1.846, 2.159, 2.535, 2.999, 3.565, 4.24",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.568, 3.032, 3.597, 4.272",\
                 "1.253, 1.329, 1.505, 1.732, 2.004, 2.317, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.935, 3.399, 3.964, 4.639",\
                 "1.877, 1.952, 2.128, 2.356, 2.626, 2.939, 3.315, 3.779, 4.345, 5.02",\
                 "2.399, 2.476, 2.655, 2.885, 3.156, 3.469, 3.845, 4.309, 4.875, 5.55",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.492, 4.956, 5.522, 6.197",\
                 "3.616, 3.716, 3.941, 4.211, 4.508, 4.826, 5.201, 5.665, 6.229, 6.903",\
                 "4.277, 4.388, 4.638, 4.935, 5.25, 5.573, 5.949, 6.412, 6.976, 7.649",\
                 "4.972, 5.092, 5.367, 5.693, 6.029, 6.357, 6.733, 7.195, 7.758, 8.431");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2934, 0.3466, 0.4858, 0.7044, 0.992, 1.376, 1.939, 2.704, 3.661, 4.82",\
                 "0.2932, 0.3458, 0.4856, 0.7044, 0.9924, 1.377, 1.939, 2.705, 3.664, 4.813",\
                 "0.2934, 0.3466, 0.4858, 0.7044, 0.9924, 1.377, 1.938, 2.705, 3.664, 4.812",\
                 "0.293, 0.3464, 0.486, 0.7044, 0.9924, 1.377, 1.939, 2.705, 3.662, 4.818",\
                 "0.293, 0.3462, 0.4864, 0.7048, 0.9918, 1.376, 1.938, 2.705, 3.666, 4.819",\
                 "0.3134, 0.3642, 0.4992, 0.7126, 0.995, 1.376, 1.939, 2.704, 3.662, 4.817",\
                 "0.376, 0.4304, 0.561, 0.76, 1.021, 1.385, 1.94, 2.701, 3.661, 4.813",\
                 "0.4416, 0.5024, 0.6436, 0.8402, 1.075, 1.409, 1.949, 2.705, 3.663, 4.819",\
                 "0.508, 0.5776, 0.733, 0.932, 1.136, 1.438, 1.962, 2.71, 3.664, 4.814",\
                 "0.574, 0.652, 0.824, 1.032, 1.202, 1.464, 1.972, 2.716, 3.668, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.172, 1.348, 1.575, 1.846, 2.159, 2.535, 2.999, 3.565, 4.239",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.568, 3.032, 3.597, 4.272",\
                 "1.253, 1.329, 1.505, 1.732, 2.004, 2.317, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.935, 3.398, 3.964, 4.639",\
                 "1.877, 1.952, 2.128, 2.356, 2.626, 2.939, 3.315, 3.779, 4.345, 5.02",\
                 "2.399, 2.476, 2.655, 2.885, 3.157, 3.469, 3.845, 4.309, 4.875, 5.55",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.492, 4.956, 5.521, 6.196",\
                 "3.616, 3.716, 3.941, 4.211, 4.508, 4.826, 5.202, 5.665, 6.229, 6.903",\
                 "4.277, 4.388, 4.638, 4.934, 5.25, 5.573, 5.949, 6.412, 6.976, 7.649",\
                 "4.972, 5.092, 5.367, 5.693, 6.029, 6.357, 6.733, 7.194, 7.758, 8.431");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2934, 0.3466, 0.4856, 0.7044, 0.992, 1.376, 1.938, 2.702, 3.666, 4.821",\
                 "0.2932, 0.3458, 0.4856, 0.7044, 0.9924, 1.377, 1.939, 2.705, 3.664, 4.813",\
                 "0.2934, 0.3466, 0.4858, 0.7044, 0.9924, 1.377, 1.938, 2.705, 3.664, 4.812",\
                 "0.2932, 0.346, 0.4858, 0.7044, 0.9922, 1.377, 1.938, 2.705, 3.663, 4.812",\
                 "0.2932, 0.3468, 0.4864, 0.7052, 0.9916, 1.376, 1.938, 2.704, 3.665, 4.812",\
                 "0.3134, 0.364, 0.4992, 0.7124, 0.9952, 1.377, 1.937, 2.705, 3.664, 4.817",\
                 "0.3758, 0.4304, 0.5606, 0.7598, 1.021, 1.384, 1.94, 2.705, 3.665, 4.815",\
                 "0.4414, 0.5024, 0.6436, 0.8402, 1.075, 1.409, 1.949, 2.705, 3.665, 4.821",\
                 "0.508, 0.578, 0.7334, 0.932, 1.138, 1.438, 1.962, 2.71, 3.664, 4.814",\
                 "0.574, 0.652, 0.822, 1.032, 1.202, 1.464, 1.972, 2.716, 3.668, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.171, 1.347, 1.575, 1.846, 2.159, 2.535, 2.999, 3.564, 4.24",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.567, 3.031, 3.597, 4.272",\
                 "1.254, 1.329, 1.505, 1.732, 2.004, 2.316, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.935, 3.399, 3.964, 4.639",\
                 "1.877, 1.953, 2.128, 2.355, 2.627, 2.939, 3.316, 3.779, 4.345, 5.02",\
                 "2.398, 2.476, 2.655, 2.884, 3.156, 3.469, 3.845, 4.309, 4.875, 5.549",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.492, 4.956, 5.522, 6.196",\
                 "3.617, 3.716, 3.941, 4.211, 4.508, 4.826, 5.201, 5.664, 6.229, 6.903",\
                 "4.277, 4.388, 4.638, 4.935, 5.25, 5.573, 5.95, 6.412, 6.976, 7.65",\
                 "4.973, 5.091, 5.368, 5.693, 6.03, 6.357, 6.733, 7.195, 7.758, 8.432");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2932, 0.3462, 0.486, 0.7044, 0.9922, 1.376, 1.939, 2.705, 3.664, 4.812",\
                 "0.2934, 0.3462, 0.486, 0.7044, 0.9922, 1.377, 1.939, 2.705, 3.664, 4.812",\
                 "0.2932, 0.346, 0.4862, 0.7044, 0.9922, 1.377, 1.939, 2.705, 3.664, 4.812",\
                 "0.293, 0.346, 0.4858, 0.7046, 0.992, 1.377, 1.938, 2.704, 3.666, 4.816",\
                 "0.293, 0.3462, 0.4862, 0.705, 0.9922, 1.376, 1.939, 2.705, 3.663, 4.812",\
                 "0.3132, 0.364, 0.499, 0.7126, 0.9954, 1.377, 1.938, 2.705, 3.66, 4.82",\
                 "0.376, 0.4302, 0.5614, 0.7598, 1.02, 1.385, 1.94, 2.705, 3.664, 4.821",\
                 "0.4406, 0.5028, 0.644, 0.8404, 1.075, 1.409, 1.95, 2.703, 3.666, 4.819",\
                 "0.508, 0.577, 0.7324, 0.932, 1.136, 1.436, 1.96, 2.71, 3.668, 4.814",\
                 "0.574, 0.652, 0.824, 1.032, 1.202, 1.464, 1.97, 2.72, 3.668, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.172, 1.347, 1.575, 1.846, 2.159, 2.535, 2.999, 3.565, 4.239",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.568, 3.032, 3.597, 4.272",\
                 "1.253, 1.329, 1.505, 1.732, 2.004, 2.317, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.934, 3.398, 3.964, 4.639",\
                 "1.877, 1.953, 2.128, 2.356, 2.626, 2.939, 3.315, 3.779, 4.345, 5.02",\
                 "2.399, 2.476, 2.655, 2.885, 3.156, 3.469, 3.845, 4.309, 4.875, 5.55",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.492, 4.956, 5.521, 6.196",\
                 "3.617, 3.716, 3.941, 4.211, 4.508, 4.826, 5.201, 5.665, 6.229, 6.903",\
                 "4.277, 4.388, 4.638, 4.935, 5.25, 5.574, 5.949, 6.412, 6.976, 7.649",\
                 "4.972, 5.092, 5.367, 5.693, 6.029, 6.357, 6.733, 7.194, 7.758, 8.431");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2934, 0.3466, 0.4856, 0.7044, 0.9922, 1.376, 1.938, 2.703, 3.666, 4.82",\
                 "0.2932, 0.3458, 0.4856, 0.7044, 0.9924, 1.377, 1.939, 2.705, 3.664, 4.813",\
                 "0.2934, 0.3466, 0.4858, 0.7044, 0.9924, 1.377, 1.938, 2.705, 3.664, 4.812",\
                 "0.2932, 0.346, 0.486, 0.7044, 0.992, 1.377, 1.939, 2.705, 3.664, 4.817",\
                 "0.2932, 0.3466, 0.486, 0.7048, 0.9918, 1.376, 1.939, 2.702, 3.664, 4.82",\
                 "0.3134, 0.3636, 0.4992, 0.7126, 0.995, 1.377, 1.939, 2.704, 3.661, 4.82",\
                 "0.3762, 0.4302, 0.5604, 0.7598, 1.02, 1.385, 1.94, 2.702, 3.663, 4.821",\
                 "0.4402, 0.5026, 0.644, 0.8402, 1.075, 1.409, 1.949, 2.705, 3.665, 4.817",\
                 "0.5082, 0.5774, 0.732, 0.932, 1.136, 1.436, 1.962, 2.71, 3.666, 4.812",\
                 "0.574, 0.65, 0.822, 1.032, 1.202, 1.462, 1.972, 2.718, 3.668, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.098, 1.174, 1.353, 1.581, 1.85, 2.173, 2.558, 3.024, 3.589, 4.263",\
                 "1.131, 1.207, 1.385, 1.613, 1.882, 2.206, 2.591, 3.056, 3.621, 4.295",\
                 "1.255, 1.331, 1.51, 1.738, 2.007, 2.331, 2.715, 3.18, 3.745, 4.42",\
                 "1.498, 1.574, 1.752, 1.981, 2.25, 2.573, 2.956, 3.421, 3.986, 4.66",\
                 "1.879, 1.955, 2.134, 2.362, 2.632, 2.952, 3.332, 3.797, 4.362, 5.036",\
                 "2.401, 2.48, 2.662, 2.893, 3.163, 3.476, 3.852, 4.316, 4.882, 5.556",\
                 "2.995, 3.086, 3.289, 3.536, 3.803, 4.106, 4.479, 4.943, 5.509, 6.184",\
                 "3.626, 3.727, 3.958, 4.218, 4.475, 4.775, 5.147, 5.612, 6.177, 6.853",\
                 "4.291, 4.404, 4.657, 4.904, 5.155, 5.453, 5.826, 6.291, 6.858, 7.533",\
                 "4.993, 5.117, 5.363, 5.594, 5.841, 6.139, 6.513, 6.979, 7.545, 8.221");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2956, 0.35, 0.4926, 0.7016, 1.005, 1.418, 1.972, 2.716, 3.663, 4.818",\
                 "0.2952, 0.3502, 0.4922, 0.7016, 1.004, 1.418, 1.971, 2.716, 3.664, 4.818",\
                 "0.2952, 0.3498, 0.4922, 0.7016, 1.005, 1.417, 1.971, 2.715, 3.666, 4.819",\
                 "0.2954, 0.3502, 0.4924, 0.7022, 1.004, 1.413, 1.966, 2.713, 3.667, 4.811",\
                 "0.296, 0.3516, 0.4944, 0.703, 1.002, 1.401, 1.953, 2.707, 3.661, 4.817",\
                 "0.3168, 0.3696, 0.5066, 0.7124, 0.992, 1.375, 1.938, 2.701, 3.663, 4.812",\
                 "0.3806, 0.4372, 0.5714, 0.7486, 0.9748, 1.35, 1.926, 2.7, 3.664, 4.821",\
                 "0.4454, 0.5122, 0.6554, 0.7618, 0.955, 1.341, 1.927, 2.699, 3.662, 4.813",\
                 "0.516, 0.5942, 0.6868, 0.73, 0.94, 1.34, 1.928, 2.702, 3.666, 4.812",\
                 "0.59, 0.648, 0.652, 0.702, 0.932, 1.338, 1.932, 2.708, 3.664, 4.816");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.098, 1.174, 1.353, 1.581, 1.85, 2.173, 2.558, 3.024, 3.589, 4.263",\
                 "1.131, 1.207, 1.385, 1.613, 1.882, 2.206, 2.591, 3.056, 3.621, 4.295",\
                 "1.255, 1.331, 1.51, 1.738, 2.007, 2.331, 2.715, 3.18, 3.745, 4.42",\
                 "1.498, 1.574, 1.752, 1.98, 2.25, 2.573, 2.956, 3.421, 3.986, 4.66",\
                 "1.879, 1.955, 2.134, 2.362, 2.632, 2.952, 3.332, 3.796, 4.361, 5.036",\
                 "2.401, 2.48, 2.662, 2.893, 3.163, 3.476, 3.852, 4.316, 4.882, 5.557",\
                 "2.996, 3.085, 3.289, 3.536, 3.802, 4.106, 4.479, 4.943, 5.509, 6.184",\
                 "3.626, 3.727, 3.958, 4.218, 4.475, 4.775, 5.148, 5.612, 6.177, 6.853",\
                 "4.291, 4.404, 4.657, 4.904, 5.155, 5.453, 5.826, 6.291, 6.858, 7.533",\
                 "4.993, 5.117, 5.363, 5.594, 5.841, 6.139, 6.513, 6.979, 7.546, 8.221");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2956, 0.35, 0.4926, 0.7016, 1.005, 1.418, 1.972, 2.716, 3.663, 4.818",\
                 "0.2952, 0.3502, 0.4922, 0.7016, 1.004, 1.418, 1.971, 2.716, 3.664, 4.818",\
                 "0.2952, 0.3498, 0.4922, 0.7016, 1.005, 1.417, 1.971, 2.715, 3.666, 4.819",\
                 "0.2956, 0.35, 0.4924, 0.702, 1.004, 1.413, 1.966, 2.713, 3.667, 4.811",\
                 "0.296, 0.3508, 0.4942, 0.7034, 1.002, 1.401, 1.953, 2.708, 3.662, 4.816",\
                 "0.317, 0.3698, 0.5076, 0.7122, 0.992, 1.375, 1.938, 2.701, 3.664, 4.82",\
                 "0.3806, 0.4376, 0.5714, 0.7488, 0.9748, 1.351, 1.927, 2.702, 3.664, 4.813",\
                 "0.4454, 0.5122, 0.6556, 0.762, 0.9546, 1.341, 1.926, 2.699, 3.664, 4.82",\
                 "0.5164, 0.5944, 0.6862, 0.73, 0.94, 1.34, 1.93, 2.702, 3.666, 4.812",\
                 "0.592, 0.648, 0.652, 0.702, 0.932, 1.338, 1.932, 2.708, 3.666, 4.816");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.098, 1.174, 1.353, 1.581, 1.85, 2.173, 2.558, 3.024, 3.589, 4.263",\
                 "1.131, 1.207, 1.385, 1.613, 1.882, 2.206, 2.591, 3.056, 3.621, 4.295",\
                 "1.255, 1.331, 1.51, 1.738, 2.007, 2.331, 2.715, 3.18, 3.745, 4.42",\
                 "1.498, 1.574, 1.752, 1.981, 2.25, 2.573, 2.956, 3.421, 3.986, 4.66",\
                 "1.879, 1.955, 2.134, 2.362, 2.632, 2.952, 3.332, 3.796, 4.362, 5.036",\
                 "2.401, 2.48, 2.662, 2.893, 3.163, 3.476, 3.852, 4.316, 4.882, 5.557",\
                 "2.995, 3.085, 3.289, 3.536, 3.803, 4.106, 4.479, 4.943, 5.509, 6.184",\
                 "3.626, 3.727, 3.958, 4.218, 4.475, 4.775, 5.147, 5.612, 6.177, 6.853",\
                 "4.291, 4.404, 4.657, 4.904, 5.155, 5.453, 5.826, 6.291, 6.857, 7.533",\
                 "4.993, 5.117, 5.363, 5.594, 5.841, 6.139, 6.513, 6.979, 7.545, 8.221");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2956, 0.35, 0.4926, 0.7016, 1.005, 1.418, 1.972, 2.716, 3.663, 4.818",\
                 "0.2952, 0.3498, 0.4928, 0.7016, 1.005, 1.418, 1.971, 2.715, 3.668, 4.815",\
                 "0.2952, 0.3498, 0.4922, 0.7016, 1.005, 1.417, 1.971, 2.715, 3.666, 4.819",\
                 "0.2956, 0.3502, 0.4924, 0.7022, 1.004, 1.413, 1.966, 2.712, 3.667, 4.816",\
                 "0.296, 0.3516, 0.4942, 0.7034, 1.002, 1.401, 1.953, 2.709, 3.662, 4.818",\
                 "0.317, 0.3698, 0.5068, 0.7124, 0.9922, 1.375, 1.939, 2.702, 3.66, 4.816",\
                 "0.381, 0.4374, 0.5712, 0.7486, 0.9748, 1.35, 1.927, 2.701, 3.66, 4.811",\
                 "0.4454, 0.5122, 0.6556, 0.7618, 0.9548, 1.341, 1.927, 2.699, 3.662, 4.816",\
                 "0.5164, 0.5944, 0.6868, 0.732, 0.94, 1.338, 1.926, 2.702, 3.664, 4.812",\
                 "0.59, 0.646, 0.652, 0.702, 0.932, 1.338, 1.932, 2.706, 3.666, 4.816");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.098, 1.174, 1.353, 1.581, 1.85, 2.173, 2.558, 3.024, 3.589, 4.262",\
                 "1.131, 1.207, 1.385, 1.613, 1.882, 2.206, 2.591, 3.056, 3.621, 4.295",\
                 "1.255, 1.331, 1.51, 1.738, 2.007, 2.331, 2.715, 3.18, 3.745, 4.42",\
                 "1.498, 1.574, 1.752, 1.981, 2.25, 2.573, 2.956, 3.421, 3.986, 4.66",\
                 "1.879, 1.955, 2.134, 2.362, 2.632, 2.952, 3.332, 3.796, 4.362, 5.036",\
                 "2.401, 2.48, 2.662, 2.893, 3.163, 3.476, 3.851, 4.316, 4.882, 5.556",\
                 "2.995, 3.085, 3.289, 3.536, 3.802, 4.105, 4.479, 4.943, 5.509, 6.184",\
                 "3.626, 3.727, 3.958, 4.218, 4.475, 4.774, 5.147, 5.611, 6.177, 6.852",\
                 "4.291, 4.404, 4.657, 4.904, 5.154, 5.452, 5.825, 6.29, 6.857, 7.532",\
                 "4.993, 5.117, 5.362, 5.593, 5.84, 6.138, 6.512, 6.978, 7.544, 8.22");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2952, 0.3498, 0.4926, 0.7016, 1.004, 1.419, 1.972, 2.715, 3.663, 4.819",\
                 "0.2952, 0.3496, 0.4922, 0.7016, 1.005, 1.417, 1.971, 2.716, 3.668, 4.818",\
                 "0.2954, 0.3498, 0.4924, 0.7016, 1.005, 1.417, 1.97, 2.715, 3.667, 4.816",\
                 "0.2954, 0.3498, 0.4926, 0.7022, 1.004, 1.412, 1.966, 2.711, 3.666, 4.819",\
                 "0.296, 0.3518, 0.4942, 0.7034, 1.002, 1.4, 1.953, 2.707, 3.664, 4.819",\
                 "0.317, 0.3696, 0.5068, 0.7124, 0.9916, 1.375, 1.938, 2.702, 3.662, 4.814",\
                 "0.381, 0.437, 0.5712, 0.7482, 0.9742, 1.349, 1.925, 2.7, 3.663, 4.814",\
                 "0.4454, 0.512, 0.6552, 0.7608, 0.954, 1.341, 1.926, 2.698, 3.663, 4.817",\
                 "0.5162, 0.5942, 0.6864, 0.73, 0.94, 1.338, 1.928, 2.704, 3.664, 4.814",\
                 "0.59, 0.646, 0.65, 0.702, 0.932, 1.338, 1.928, 2.708, 3.666, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.098, 1.174, 1.353, 1.581, 1.85, 2.173, 2.558, 3.024, 3.589, 4.263",\
                 "1.131, 1.207, 1.385, 1.613, 1.882, 2.206, 2.591, 3.056, 3.621, 4.295",\
                 "1.255, 1.331, 1.51, 1.738, 2.007, 2.331, 2.715, 3.18, 3.745, 4.42",\
                 "1.498, 1.574, 1.752, 1.981, 2.25, 2.573, 2.956, 3.421, 3.986, 4.66",\
                 "1.879, 1.955, 2.134, 2.362, 2.632, 2.952, 3.332, 3.796, 4.362, 5.036",\
                 "2.401, 2.48, 2.662, 2.893, 3.163, 3.476, 3.852, 4.316, 4.882, 5.556",\
                 "2.996, 3.085, 3.289, 3.535, 3.802, 4.106, 4.479, 4.943, 5.509, 6.184",\
                 "3.626, 3.727, 3.958, 4.218, 4.475, 4.774, 5.147, 5.611, 6.177, 6.852",\
                 "4.291, 4.404, 4.657, 4.904, 5.154, 5.452, 5.825, 6.29, 6.857, 7.532",\
                 "4.993, 5.117, 5.362, 5.593, 5.84, 6.139, 6.512, 6.977, 7.544, 8.219");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2952, 0.3498, 0.4926, 0.7016, 1.004, 1.418, 1.972, 2.716, 3.663, 4.819",\
                 "0.2952, 0.3496, 0.4922, 0.7016, 1.005, 1.417, 1.971, 2.716, 3.668, 4.818",\
                 "0.2954, 0.3498, 0.4924, 0.7016, 1.005, 1.417, 1.97, 2.715, 3.667, 4.816",\
                 "0.2954, 0.3498, 0.4926, 0.7022, 1.004, 1.413, 1.965, 2.712, 3.663, 4.819",\
                 "0.296, 0.3508, 0.494, 0.7032, 1.002, 1.4, 1.954, 2.708, 3.666, 4.811",\
                 "0.3174, 0.3696, 0.5068, 0.7124, 0.9916, 1.375, 1.938, 2.701, 3.662, 4.811",\
                 "0.3808, 0.437, 0.571, 0.7482, 0.9738, 1.349, 1.927, 2.702, 3.663, 4.82",\
                 "0.4454, 0.512, 0.6552, 0.761, 0.9544, 1.341, 1.925, 2.7, 3.663, 4.817",\
                 "0.516, 0.5944, 0.6862, 0.73, 0.94, 1.338, 1.926, 2.704, 3.666, 4.81",\
                 "0.59, 0.646, 0.65, 0.702, 0.932, 1.34, 1.93, 2.708, 3.666, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.098, 1.174, 1.353, 1.581, 1.85, 2.173, 2.558, 3.024, 3.589, 4.263",\
                 "1.131, 1.207, 1.385, 1.613, 1.882, 2.206, 2.591, 3.056, 3.621, 4.295",\
                 "1.255, 1.331, 1.51, 1.738, 2.007, 2.331, 2.715, 3.18, 3.745, 4.42",\
                 "1.498, 1.574, 1.752, 1.981, 2.25, 2.573, 2.956, 3.421, 3.986, 4.66",\
                 "1.879, 1.955, 2.134, 2.362, 2.632, 2.952, 3.332, 3.796, 4.362, 5.036",\
                 "2.401, 2.48, 2.662, 2.893, 3.163, 3.476, 3.851, 4.316, 4.882, 5.556",\
                 "2.995, 3.085, 3.289, 3.535, 3.802, 4.106, 4.479, 4.943, 5.509, 6.184",\
                 "3.626, 3.727, 3.958, 4.218, 4.475, 4.774, 5.147, 5.611, 6.177, 6.852",\
                 "4.291, 4.404, 4.657, 4.904, 5.154, 5.452, 5.825, 6.289, 6.857, 7.532",\
                 "4.993, 5.117, 5.362, 5.593, 5.84, 6.139, 6.512, 6.977, 7.544, 8.219");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2952, 0.3498, 0.4926, 0.7016, 1.004, 1.418, 1.972, 2.716, 3.663, 4.819",\
                 "0.2952, 0.3496, 0.4922, 0.7016, 1.005, 1.417, 1.971, 2.716, 3.668, 4.818",\
                 "0.2954, 0.3498, 0.4924, 0.7016, 1.005, 1.417, 1.97, 2.715, 3.667, 4.816",\
                 "0.2954, 0.3502, 0.4926, 0.7022, 1.004, 1.413, 1.965, 2.712, 3.663, 4.819",\
                 "0.296, 0.3518, 0.4944, 0.7032, 1.002, 1.4, 1.953, 2.708, 3.666, 4.811",\
                 "0.317, 0.3696, 0.5074, 0.7122, 0.9916, 1.375, 1.938, 2.701, 3.663, 4.811",\
                 "0.3812, 0.4372, 0.5714, 0.748, 0.9738, 1.35, 1.927, 2.702, 3.663, 4.819",\
                 "0.4454, 0.512, 0.6552, 0.7614, 0.954, 1.341, 1.925, 2.7, 3.663, 4.817",\
                 "0.516, 0.594, 0.6862, 0.73, 0.94, 1.338, 1.928, 2.702, 3.666, 4.812",\
                 "0.59, 0.646, 0.65, 0.702, 0.932, 1.34, 1.93, 2.706, 3.666, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.098, 1.174, 1.353, 1.581, 1.85, 2.173, 2.558, 3.024, 3.589, 4.263",\
                 "1.131, 1.207, 1.385, 1.613, 1.882, 2.206, 2.591, 3.056, 3.621, 4.295",\
                 "1.255, 1.331, 1.51, 1.738, 2.007, 2.331, 2.715, 3.18, 3.745, 4.42",\
                 "1.498, 1.574, 1.752, 1.981, 2.25, 2.573, 2.956, 3.421, 3.986, 4.66",\
                 "1.879, 1.955, 2.134, 2.362, 2.632, 2.952, 3.332, 3.797, 4.362, 5.037",\
                 "2.401, 2.48, 2.662, 2.893, 3.163, 3.476, 3.852, 4.316, 4.882, 5.557",\
                 "2.996, 3.086, 3.289, 3.536, 3.802, 4.106, 4.479, 4.943, 5.509, 6.185",\
                 "3.626, 3.727, 3.958, 4.218, 4.475, 4.775, 5.148, 5.612, 6.177, 6.853",\
                 "4.291, 4.404, 4.657, 4.904, 5.155, 5.453, 5.826, 6.291, 6.857, 7.532",\
                 "4.993, 5.117, 5.363, 5.594, 5.841, 6.14, 6.513, 6.978, 7.545, 8.221");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2956, 0.35, 0.4926, 0.7016, 1.005, 1.418, 1.972, 2.716, 3.663, 4.818",\
                 "0.2952, 0.3498, 0.4928, 0.7016, 1.005, 1.418, 1.971, 2.715, 3.668, 4.815",\
                 "0.2952, 0.3498, 0.4922, 0.7016, 1.005, 1.417, 1.971, 2.715, 3.666, 4.819",\
                 "0.2956, 0.3502, 0.4924, 0.7022, 1.004, 1.413, 1.965, 2.713, 3.667, 4.819",\
                 "0.296, 0.3518, 0.4944, 0.7032, 1.002, 1.401, 1.954, 2.706, 3.666, 4.816",\
                 "0.317, 0.3698, 0.5068, 0.7122, 0.992, 1.375, 1.938, 2.705, 3.661, 4.815",\
                 "0.3806, 0.4372, 0.5712, 0.7484, 0.9744, 1.351, 1.927, 2.7, 3.666, 4.817",\
                 "0.4454, 0.512, 0.6556, 0.7622, 0.9548, 1.341, 1.926, 2.699, 3.662, 4.816",\
                 "0.5162, 0.5948, 0.6864, 0.73, 0.94, 1.34, 1.928, 2.704, 3.666, 4.812",\
                 "0.59, 0.648, 0.652, 0.704, 0.932, 1.34, 1.93, 2.708, 3.67, 4.816");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.098, 1.174, 1.353, 1.581, 1.85, 2.173, 2.558, 3.024, 3.588, 4.263",\
                 "1.131, 1.207, 1.385, 1.613, 1.882, 2.206, 2.591, 3.056, 3.621, 4.295",\
                 "1.255, 1.331, 1.51, 1.738, 2.007, 2.331, 2.715, 3.18, 3.745, 4.42",\
                 "1.498, 1.574, 1.752, 1.981, 2.25, 2.573, 2.956, 3.421, 3.986, 4.66",\
                 "1.879, 1.955, 2.134, 2.362, 2.632, 2.952, 3.332, 3.797, 4.362, 5.036",\
                 "2.401, 2.48, 2.662, 2.893, 3.163, 3.476, 3.852, 4.316, 4.882, 5.557",\
                 "2.995, 3.085, 3.289, 3.536, 3.802, 4.106, 4.479, 4.943, 5.509, 6.184",\
                 "3.626, 3.727, 3.958, 4.218, 4.475, 4.774, 5.147, 5.611, 6.177, 6.852",\
                 "4.291, 4.404, 4.657, 4.903, 5.154, 5.452, 5.824, 6.29, 6.857, 7.531",\
                 "4.993, 5.117, 5.362, 5.593, 5.84, 6.139, 6.512, 6.977, 7.544, 8.219");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2952, 0.3498, 0.4926, 0.7016, 1.004, 1.419, 1.972, 2.716, 3.667, 4.819",\
                 "0.2952, 0.3496, 0.4922, 0.7016, 1.005, 1.417, 1.971, 2.716, 3.668, 4.818",\
                 "0.2954, 0.3498, 0.4924, 0.7016, 1.005, 1.417, 1.97, 2.715, 3.667, 4.816",\
                 "0.2956, 0.3502, 0.4926, 0.7022, 1.004, 1.412, 1.965, 2.711, 3.666, 4.819",\
                 "0.296, 0.3508, 0.4944, 0.7034, 1.002, 1.4, 1.953, 2.708, 3.666, 4.811",\
                 "0.3172, 0.3696, 0.5072, 0.7122, 0.9918, 1.375, 1.938, 2.701, 3.662, 4.816",\
                 "0.3806, 0.4372, 0.5714, 0.748, 0.9744, 1.351, 1.927, 2.702, 3.663, 4.814",\
                 "0.4454, 0.512, 0.6554, 0.761, 0.9538, 1.341, 1.927, 2.698, 3.661, 4.813",\
                 "0.5166, 0.5938, 0.6864, 0.73, 0.94, 1.34, 1.926, 2.706, 3.666, 4.812",\
                 "0.59, 0.646, 0.65, 0.702, 0.932, 1.34, 1.93, 2.708, 3.666, 4.814");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("1.096, 1.171, 1.347, 1.575, 1.846, 2.159, 2.535, 2.999, 3.564, 4.24",\
                 "1.129, 1.204, 1.38, 1.608, 1.879, 2.192, 2.567, 3.031, 3.597, 4.272",\
                 "1.254, 1.329, 1.505, 1.732, 2.004, 2.316, 2.692, 3.156, 3.722, 4.397",\
                 "1.496, 1.571, 1.747, 1.975, 2.246, 2.559, 2.935, 3.399, 3.964, 4.639",\
                 "1.877, 1.953, 2.128, 2.355, 2.627, 2.939, 3.315, 3.78, 4.345, 5.02",\
                 "2.398, 2.476, 2.655, 2.884, 3.156, 3.469, 3.845, 4.309, 4.875, 5.549",\
                 "2.99, 3.079, 3.278, 3.523, 3.803, 4.117, 4.492, 4.956, 5.522, 6.196",\
                 "3.617, 3.716, 3.941, 4.211, 4.508, 4.826, 5.201, 5.664, 6.229, 6.903",\
                 "4.277, 4.389, 4.638, 4.934, 5.249, 5.573, 5.95, 6.412, 6.976, 7.65",\
                 "4.973, 5.092, 5.368, 5.693, 6.029, 6.357, 6.732, 7.194, 7.758, 8.432");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.009685, 0.04017, 0.09839, 0.1891, 0.3164, 0.4838, 0.6948, 0.9524, 1.259");
          values("0.2934, 0.3466, 0.4856, 0.7044, 0.9922, 1.376, 1.938, 2.703, 3.666, 4.82",\
                 "0.2932, 0.3458, 0.4856, 0.7044, 0.9924, 1.377, 1.939, 2.705, 3.664, 4.813",\
                 "0.2934, 0.3466, 0.4858, 0.7044, 0.9924, 1.377, 1.938, 2.705, 3.664, 4.812",\
                 "0.2932, 0.346, 0.486, 0.7044, 0.992, 1.377, 1.939, 2.705, 3.664, 4.817",\
                 "0.2932, 0.3466, 0.486, 0.7048, 0.9918, 1.376, 1.939, 2.702, 3.664, 4.82",\
                 "0.3134, 0.3636, 0.4992, 0.7126, 0.995, 1.377, 1.939, 2.704, 3.661, 4.82",\
                 "0.3762, 0.4302, 0.5604, 0.7598, 1.02, 1.385, 1.94, 2.702, 3.663, 4.821",\
                 "0.4402, 0.5026, 0.644, 0.8402, 1.075, 1.409, 1.949, 2.705, 3.665, 4.817",\
                 "0.5082, 0.5774, 0.732, 0.932, 1.136, 1.436, 1.962, 2.71, 3.666, 4.812",\
                 "0.574, 0.65, 0.822, 1.032, 1.202, 1.462, 1.972, 2.718, 3.668, 4.814");
        }
      }
    }

    pin(RN) {
      capacitance : 0.008201 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 12 ;
      min_pulse_width_low : 1.372 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00881, 0.008401, 0.008311, 0.008302, 0.008305, 0.008314, 0.008314, \
                 0.008312, 0.008314, 0.008311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008307, -0.008295, -0.008291, -0.008276, -0.008307, -0.008303, \
                 -0.008299, -0.008299, -0.008299, -0.008303");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00881, 0.008401, 0.008311, 0.008302, 0.008303, 0.008318, 0.008314, \
                 0.008313, 0.008313, 0.008312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008307, -0.008295, -0.008291, -0.008276, -0.008307, -0.008303, \
                 -0.008298, -0.008298, -0.008299, -0.008303");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00881, 0.008401, 0.008311, 0.008301, 0.008302, 0.008313, 0.008313, \
                 0.008317, 0.008313, 0.008312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008307, -0.008295, -0.008292, -0.008278, -0.008307, -0.008303, \
                 -0.008297, -0.008299, -0.008299, -0.008299");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008653, 0.008162, 0.007985, 0.007942, 0.007933, 0.00793, 0.007919, \
                 0.007911, 0.007906, 0.007909");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.00782, -0.007847, -0.007933, -0.008008, -0.008084, -0.008121, \
                 -0.008135, -0.00815, -0.008162, -0.008169");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008653, 0.008162, 0.007985, 0.007942, 0.007935, 0.007928, 0.007917, \
                 0.007914, 0.007906, 0.007902");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.00782, -0.007847, -0.007933, -0.008008, -0.008084, -0.008123, \
                 -0.008135, -0.00815, -0.008163, -0.008169");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008653, 0.008162, 0.007985, 0.007942, 0.007938, 0.007929, 0.007917, \
                 0.007915, 0.007906, 0.007904");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.00782, -0.007847, -0.007933, -0.008008, -0.008084, -0.008123, \
                 -0.008135, -0.00815, -0.008163, -0.008169");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00881, 0.008401, 0.008311, 0.008301, 0.008298, 0.008314, 0.008312, \
                 0.008312, 0.008313, 0.008311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008307, -0.008295, -0.008291, -0.008276, -0.008307, -0.008303, \
                 -0.008299, -0.008298, -0.008299, -0.0083");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008653, 0.008162, 0.007996, 0.007936, 0.007933, 0.007927, 0.00792, \
                 0.007913, 0.00791, 0.007904");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.00782, -0.007847, -0.007934, -0.008008, -0.008084, -0.008122, \
                 -0.008135, -0.00815, -0.008163, -0.008169");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008965, 0.008403, 0.008313, 0.008306, 0.00831, 0.008314, 0.008317, \
                 0.008316, 0.008317, 0.008314");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008313, -0.008306, -0.008295, -0.008276, -0.008309, -0.008304, \
                 -0.008306, -0.008302, -0.0083, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008963, 0.008414, 0.008314, 0.008305, 0.008309, 0.008313, 0.008314, \
                 0.008317, 0.008313, 0.008316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008313, -0.008306, -0.008295, -0.008277, -0.008309, -0.008304, \
                 -0.008306, -0.008303, -0.008299, -0.008299");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008962, 0.008413, 0.008314, 0.008304, 0.0083, 0.008317, 0.008314, \
                 0.008315, 0.008316, 0.008316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008313, -0.008306, -0.008295, -0.00828, -0.008309, -0.008304, \
                 -0.008306, -0.008303, -0.0083, -0.0083");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008891, 0.008412, 0.008312, 0.008305, 0.008313, 0.008314, 0.008317, \
                 0.008311, 0.008316, 0.008314");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008313, -0.008306, -0.008295, -0.008277, -0.008309, -0.008304, \
                 -0.008306, -0.008302, -0.008299, -0.008299");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008891, 0.008412, 0.008312, 0.008305, 0.008316, 0.008318, 0.008315, \
                 0.00831, 0.008315, 0.008317");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008313, -0.008306, -0.008295, -0.008276, -0.008309, -0.008304, \
                 -0.008306, -0.008303, -0.008301, -0.0083");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008891, 0.008411, 0.008312, 0.008305, 0.008322, 0.008317, 0.008316, \
                 0.00831, 0.008314, 0.008316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008313, -0.008306, -0.008295, -0.008277, -0.008309, -0.008304, \
                 -0.008306, -0.008302, -0.0083, -0.0083");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008963, 0.008414, 0.008314, 0.008305, 0.008303, 0.008317, 0.008315, \
                 0.008314, 0.008316, 0.008316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008313, -0.008306, -0.008295, -0.008277, -0.008309, -0.008304, \
                 -0.008306, -0.008303, -0.0083, -0.0083");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.008891, 0.008412, 0.008312, 0.008305, 0.008317, 0.008315, 0.008312, \
                 0.008312, 0.008321, 0.008312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.008312, -0.008306, -0.008295, -0.008277, -0.008309, -0.008304, \
                 -0.008306, -0.008302, -0.008299, -0.008299");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.532, -0.562, -0.633, -0.838, -1.067, -1.277, -1.459, -1.623, -1.697, -1.805",\
                 "-0.522, -0.556, -0.657, -0.866, -1.064, -1.297, -1.457, -1.647, -1.72, -1.828",\
                 "-0.595, -0.621, -0.72, -0.932, -1.129, -1.334, -1.522, -1.676, -1.792, -1.864",\
                 "-0.635, -0.663, -0.761, -0.967, -1.162, -1.402, -1.56, -1.749, -1.831, -1.941",\
                 "-0.505, -0.544, -0.641, -0.85, -1.047, -1.279, -1.466, -1.635, -1.75, -1.872",\
                 "0.029, -0.006, -0.02, -0.265, -0.531, -0.776, -0.975, -1.17, -1.296, -1.443",\
                 "0.948, 1.001, 0.922, 0.659, 0.36, 0.077, -0.151, -0.354, -0.488, -0.65",\
                 "2.279, 2.237, 2.162, 1.869, 1.523, 1.205, 0.954, 0.744, 0.603, 0.535",\
                 "3.804, 3.745, 3.686, 3.357, 3.136, 2.608, 2.336, 2.092, 2.137, 1.909",\
                 "5.613, 5.56, 5.491, 5.124, 4.916, 4.283, 4.211, 3.716, 3.813, 3.548");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.532, -0.562, -0.633, -0.838, -1.067, -1.277, -1.459, -1.623, -1.697, -1.805",\
                 "-0.529, -0.556, -0.657, -0.866, -1.059, -1.297, -1.457, -1.647, -1.72, -1.828",\
                 "-0.595, -0.621, -0.72, -0.932, -1.13, -1.334, -1.522, -1.676, -1.792, -1.864",\
                 "-0.635, -0.663, -0.768, -0.967, -1.162, -1.402, -1.56, -1.749, -1.831, -1.941",\
                 "-0.505, -0.544, -0.641, -0.85, -1.047, -1.279, -1.466, -1.635, -1.75, -1.872",\
                 "0.029, -0.006, -0.02, -0.265, -0.531, -0.776, -0.975, -1.176, -1.296, -1.434",\
                 "0.948, 1.001, 0.922, 0.659, 0.36, 0.077, -0.151, -0.354, -0.488, -0.571",\
                 "2.287, 2.229, 2.162, 1.869, 1.65, 1.205, 0.954, 0.744, 0.734, 0.535",\
                 "3.793, 3.756, 3.686, 3.351, 3.136, 2.6, 2.336, 2.092, 2.137, 1.909",\
                 "5.599, 5.56, 5.491, 5.124, 4.916, 4.274, 4.221, 3.716, 3.813, 3.548");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.532, -0.562, -0.633, -0.838, -1.067, -1.277, -1.459, -1.623, -1.697, -1.805",\
                 "-0.529, -0.556, -0.657, -0.866, -1.059, -1.297, -1.457, -1.647, -1.72, -1.828",\
                 "-0.595, -0.621, -0.72, -0.932, -1.13, -1.334, -1.522, -1.676, -1.792, -1.864",\
                 "-0.635, -0.663, -0.768, -0.967, -1.169, -1.402, -1.56, -1.749, -1.831, -1.941",\
                 "-0.505, -0.544, -0.641, -0.85, -1.047, -1.279, -1.466, -1.635, -1.75, -1.872",\
                 "0.029, -0.006, -0.02, -0.265, -0.531, -0.776, -0.975, -1.17, -1.296, -1.434",\
                 "0.948, 1.001, 0.922, 0.659, 0.36, 0.077, -0.151, -0.354, -0.488, -0.65",\
                 "2.287, 2.237, 2.162, 1.878, 1.523, 1.194, 0.954, 0.744, 0.603, 0.535",\
                 "3.804, 3.745, 3.686, 3.357, 3.136, 2.608, 2.336, 2.092, 2.137, 1.909",\
                 "5.606, 5.56, 5.498, 5.124, 4.916, 4.274, 4.221, 3.716, 3.813, 3.548");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.521, -0.555, -0.658, -0.838, -1.067, -1.277, -1.459, -1.623, -1.697, -1.805",\
                 "-0.551, -0.548, -0.65, -0.86, -1.059, -1.297, -1.457, -1.647, -1.725, -1.828",\
                 "-0.589, -0.621, -0.72, -0.925, -1.13, -1.334, -1.522, -1.684, -1.792, -1.864",\
                 "-0.629, -0.663, -0.761, -0.967, -1.162, -1.402, -1.56, -1.749, -1.831, -1.941",\
                 "-0.505, -0.539, -0.635, -0.85, -1.047, -1.279, -1.466, -1.635, -1.75, -1.872",\
                 "0.037, 0.002, -0.089, -0.255, -0.531, -0.776, -0.975, -1.17, -1.296, -1.443",\
                 "0.954, 0.919, 0.928, 0.666, 0.36, 0.077, -0.151, -0.354, -0.488, -0.571",\
                 "2.158, 2.253, 2.179, 1.878, 1.523, 1.205, 0.954, 0.744, 0.603, 0.535",\
                 "3.815, 3.767, 3.697, 3.369, 3.149, 2.608, 2.336, 2.092, 2.137, 1.909",\
                 "5.635, 5.574, 5.528, 5.132, 4.916, 4.274, 4.221, 3.727, 3.813, 3.548");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.151, 1.18, 1.287, 1.474, 1.686, 1.897, 2.085, 2.255, 2.405, 2.525",\
                 "1.147, 1.182, 1.284, 1.47, 1.682, 1.893, 2.082, 2.253, 2.4, 2.523",\
                 "1.173, 1.205, 1.31, 1.497, 1.708, 1.912, 2.108, 2.281, 2.425, 2.546",\
                 "1.271, 1.304, 1.408, 1.59, 1.808, 2.018, 2.203, 2.374, 2.513, 2.631",\
                 "1.458, 1.484, 1.59, 1.778, 1.986, 2.193, 2.376, 2.542, 2.685, 2.796",\
                 "1.723, 1.754, 1.858, 2.043, 2.246, 2.448, 2.633, 2.791, 2.926, 3.038",\
                 "2.045, 2.077, 2.181, 2.361, 2.565, 2.758, 2.938, 3.098, 3.228, 3.331",\
                 "2.426, 2.45, 2.558, 2.733, 2.934, 3.122, 3.3, 3.453, 3.579, 3.677",\
                 "2.845, 2.874, 2.977, 3.155, 3.347, 3.536, 3.708, 3.859, 3.977, 4.069",\
                 "3.313, 3.347, 3.447, 3.617, 3.811, 3.985, 4.157, 4.298, 4.416, 4.507");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.151, 1.18, 1.287, 1.474, 1.686, 1.897, 2.085, 2.255, 2.405, 2.525",\
                 "1.147, 1.182, 1.284, 1.47, 1.682, 1.893, 2.081, 2.253, 2.4, 2.523",\
                 "1.173, 1.205, 1.311, 1.497, 1.708, 1.912, 2.108, 2.281, 2.425, 2.546",\
                 "1.271, 1.304, 1.408, 1.59, 1.808, 2.018, 2.203, 2.374, 2.513, 2.631",\
                 "1.458, 1.484, 1.59, 1.778, 1.986, 2.193, 2.376, 2.542, 2.685, 2.796",\
                 "1.723, 1.754, 1.858, 2.043, 2.246, 2.448, 2.633, 2.791, 2.926, 3.038",\
                 "2.045, 2.077, 2.181, 2.361, 2.565, 2.758, 2.938, 3.098, 3.228, 3.331",\
                 "2.426, 2.45, 2.558, 2.733, 2.934, 3.122, 3.3, 3.453, 3.579, 3.677",\
                 "2.845, 2.874, 2.977, 3.155, 3.347, 3.536, 3.708, 3.859, 3.977, 4.069",\
                 "3.313, 3.347, 3.447, 3.617, 3.811, 3.985, 4.157, 4.298, 4.416, 4.507");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.151, 1.18, 1.287, 1.474, 1.686, 1.897, 2.085, 2.255, 2.405, 2.525",\
                 "1.147, 1.182, 1.284, 1.47, 1.682, 1.893, 2.081, 2.253, 2.4, 2.523",\
                 "1.173, 1.205, 1.31, 1.497, 1.708, 1.912, 2.108, 2.281, 2.425, 2.546",\
                 "1.271, 1.304, 1.408, 1.59, 1.808, 2.018, 2.203, 2.374, 2.513, 2.631",\
                 "1.458, 1.484, 1.59, 1.778, 1.986, 2.193, 2.376, 2.542, 2.685, 2.796",\
                 "1.723, 1.754, 1.858, 2.043, 2.246, 2.448, 2.633, 2.791, 2.926, 3.038",\
                 "2.045, 2.077, 2.181, 2.361, 2.565, 2.758, 2.938, 3.098, 3.228, 3.331",\
                 "2.426, 2.45, 2.558, 2.733, 2.934, 3.122, 3.3, 3.453, 3.579, 3.677",\
                 "2.845, 2.874, 2.977, 3.155, 3.347, 3.536, 3.708, 3.859, 3.977, 4.069",\
                 "3.313, 3.347, 3.447, 3.617, 3.811, 3.985, 4.157, 4.298, 4.416, 4.507");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.151, 1.18, 1.287, 1.474, 1.686, 1.897, 2.085, 2.255, 2.405, 2.525",\
                 "1.147, 1.182, 1.284, 1.47, 1.682, 1.893, 2.081, 2.253, 2.4, 2.523",\
                 "1.173, 1.205, 1.31, 1.497, 1.708, 1.912, 2.108, 2.281, 2.425, 2.546",\
                 "1.271, 1.298, 1.408, 1.59, 1.808, 2.018, 2.203, 2.374, 2.513, 2.631",\
                 "1.458, 1.484, 1.59, 1.778, 1.986, 2.187, 2.376, 2.542, 2.685, 2.796",\
                 "1.716, 1.746, 1.849, 2.043, 2.246, 2.448, 2.633, 2.791, 2.926, 3.038",\
                 "2.045, 2.071, 2.175, 2.361, 2.565, 2.758, 2.938, 3.091, 3.228, 3.331",\
                 "2.418, 2.45, 2.558, 2.733, 2.934, 3.122, 3.3, 3.453, 3.579, 3.677",\
                 "2.845, 2.874, 2.977, 3.155, 3.347, 3.536, 3.708, 3.859, 3.977, 4.069",\
                 "3.313, 3.339, 3.439, 3.617, 3.803, 3.985, 4.157, 4.298, 4.416, 4.507");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&!SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&!SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&!SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&!SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&!SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&!SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&!SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&!SI" ;

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

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SI" ;

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

    pin(SE) {
      capacitance : 0.007595 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 12 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02348, 0.02325, 0.02288, 0.0227, 0.02267, 0.0228, 0.02304, 0.02341, \
                 0.0239, 0.02455");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00073, 0.0006456, 0.0004295, 0.0001899, 6.561e-05, 0.0001044, \
                 0.0002907, 0.0006301, 0.001106, 0.001746");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.06246, 0.06217, 0.06157, 0.06116, 0.06095, 0.06094, 0.06111, \
                 0.06144, 0.06192, 0.06261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02948, 0.02927, 0.02888, 0.0285, 0.02825, 0.02818, 0.02824, \
                 0.02853, 0.02904, 0.02977");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02349, 0.02326, 0.02289, 0.0227, 0.02267, 0.02279, 0.02305, \
                 0.0234, 0.02391, 0.02456");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.0007331, 0.0006386, 0.0004197, 0.0001785, 8.26e-05, 9.996e-05, \
                 0.0002896, 0.000631, 0.001109, 0.001745");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.06119, 0.0609, 0.0603, 0.05988, 0.05966, 0.05968, 0.05984, 0.06019, \
                 0.06068, 0.06136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.03064, 0.03041, 0.03002, 0.02965, 0.02942, 0.02931, 0.02939, \
                 0.02967, 0.03018, 0.03088");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.05266, 0.05244, 0.05204, 0.05182, 0.05174, 0.05173, 0.05189, \
                 0.05218, 0.05258, 0.05315");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04185, 0.04182, 0.04154, 0.04119, 0.04093, 0.04084, 0.04092, \
                 0.04114, 0.0415, 0.04201");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02382, 0.02356, 0.0232, 0.02303, 0.02303, 0.02315, 0.02341, \
                 0.02378, 0.02429, 0.02494");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.0004465, -0.0006032, -0.0009268, -0.001218, -0.001362, -0.001332, \
                 -0.001163, -0.0008301, -0.0003511, 0.0002849");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.05381, 0.0536, 0.05321, 0.05297, 0.05286, 0.05288, 0.05304, \
                 0.05331, 0.05374, 0.0543");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04058, 0.04053, 0.04026, 0.0399, 0.03965, 0.03958, 0.03966, \
                 0.03988, 0.04026, 0.04076");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02381, 0.02356, 0.0232, 0.02303, 0.02302, 0.02316, 0.0234, 0.02379, \
                 0.02429, 0.02496");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.0004459, -0.0006063, -0.0009301, -0.001211, -0.001366, -0.00133, \
                 -0.001154, -0.000828, -0.0003478, 0.0002829");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02343, 0.0232, 0.02284, 0.02267, 0.02265, 0.02276, 0.023, 0.02336, \
                 0.02387, 0.0245");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.0007003, 0.0006213, 0.0004029, 0.0001641, 3.858e-05, 7.919e-05, \
                 0.0002708, 0.0005982, 0.00109, 0.001728");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02357, 0.02334, 0.02295, 0.02276, 0.02274, 0.02285, 0.02307, \
                 0.02345, 0.02395, 0.02459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-4.117e-05, -0.0001853, -0.0004996, -0.0008344, -0.001024, -0.001023, \
                 -0.0008733, -0.000551, -7.208e-05, 0.0005821");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02346, 0.02324, 0.02285, 0.02267, 0.02265, 0.02277, 0.02302, \
                 0.02339, 0.02388, 0.02452");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.0006999, 0.0006181, 0.0003932, 0.0001541, 5.69e-05, 7.949e-05, \
                 0.0002745, 0.0006019, 0.001085, 0.001723");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02879, 0.02855, 0.02818, 0.02801, 0.02799, 0.02813, 0.02837, \
                 0.02875, 0.02927, 0.02994");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-3.6e-05, -0.0001934, -0.0005126, -0.0008415, -0.001006, -0.001033, \
                 -0.0008756, -0.0005517, -7.146e-05, 0.0005778");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02398, 0.02373, 0.02335, 0.02313, 0.02305, 0.02311, 0.02333, \
                 0.02366, 0.02414, 0.02476");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.001019, 0.0009326, 0.0006393, 0.0003523, 0.0001969, 0.0002279, \
                 0.0004044, 0.0007272, 0.001207, 0.001836");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02438, 0.02414, 0.02376, 0.0236, 0.02362, 0.02374, 0.02398, \
                 0.02434, 0.02485, 0.0255");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.0003438, -0.0004871, -0.0008052, -0.001094, -0.001241, -0.00121, \
                 -0.001035, -0.0007054, -0.0002327, 0.0004027");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02427, 0.02405, 0.02367, 0.02344, 0.02339, 0.02347, 0.02367, \
                 0.02403, 0.02449, 0.02512");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00464, 0.00455, 0.004251, 0.00397, 0.003828, 0.003839, 0.004022, \
                 0.004353, 0.004838, 0.005464");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02379, 0.02354, 0.02316, 0.023, 0.02301, 0.02314, 0.0234, 0.02377, \
                 0.02427, 0.02494");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.0004775, -0.0006283, -0.000948, -0.00124, -0.001374, -0.001355, \
                 -0.001177, -0.0008481, -0.0003722, 0.0002661");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.258, -0.224, -0.137, 0.024, 0.212, 0.401, 0.569, 0.708, 0.819, 0.891",\
                 "-0.286, -0.256, -0.164, -0.009, 0.176, 0.367, 0.533, 0.671, 0.784, 0.864",\
                 "-0.391, -0.357, -0.266, -0.114, 0.071, 0.256, 0.421, 0.566, 0.674, 0.751",\
                 "-0.561, -0.533, -0.436, -0.278, -0.098, 0.082, 0.242, 0.381, 0.487, 0.571",\
                 "-0.792, -0.763, -0.672, -0.51, -0.337, -0.167, -0.008, 0.131, 0.241, 0.322",\
                 "-1.06, -1.027, -0.937, -0.786, -0.61, -0.436, -0.285, -0.154, -0.044, 0.037",\
                 "-1.35, -1.323, -1.237, -1.082, -0.909, -0.744, -0.59, -0.462, -0.355, -0.27",\
                 "-1.664, -1.639, -1.548, -1.4, -1.232, -1.066, -0.914, -0.784, -0.678, -0.607",\
                 "-1.994, -1.963, -1.878, -1.735, -1.567, -1.412, -1.257, -1.138, -1.031, -0.952",\
                 "-2.323, -2.299, -2.22, -2.081, -1.921, -1.766, -1.62, -1.502, -1.399, -1.322");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.664, -0.639, -0.557, -0.473, -0.426, -0.397, -0.391, -0.41, -0.453, -0.527",\
                 "-0.686, -0.653, -0.578, -0.496, -0.447, -0.419, -0.413, -0.427, -0.478, -0.549",\
                 "-0.772, -0.742, -0.661, -0.58, -0.531, -0.503, -0.494, -0.51, -0.558, -0.629",\
                 "-0.919, -0.885, -0.804, -0.729, -0.672, -0.643, -0.632, -0.648, -0.689, -0.76",\
                 "-1.126, -1.095, -1.014, -0.935, -0.874, -0.836, -0.816, -0.828, -0.864, -0.932",\
                 "-1.354, -1.329, -1.248, -1.154, -1.094, -1.042, -1.026, -1.031, -1.058, -1.127",\
                 "-1.586, -1.556, -1.472, -1.383, -1.309, -1.253, -1.23, -1.224, -1.254, -1.308",\
                 "-1.793, -1.762, -1.684, -1.593, -1.517, -1.461, -1.426, -1.418, -1.436, -1.498",\
                 "-1.972, -1.941, -1.867, -1.777, -1.698, -1.637, -1.601, -1.587, -1.608, -1.659",\
                 "-2.114, -2.089, -2.012, -1.926, -1.855, -1.792, -1.748, -1.74, -1.756, -1.806");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-1.088, -1.061, -0.977, -0.895, -0.839, -0.801, -0.787, -0.798, -0.837, -0.902",\
                 "-1.122, -1.095, -1.006, -0.928, -0.871, -0.832, -0.822, -0.828, -0.871, -0.934",\
                 "-1.243, -1.213, -1.124, -1.047, -0.988, -0.952, -0.939, -0.945, -0.986, -1.059",\
                 "-1.479, -1.452, -1.369, -1.285, -1.225, -1.188, -1.179, -1.19, -1.225, -1.294",\
                 "-1.804, -1.779, -1.697, -1.609, -1.557, -1.517, -1.506, -1.516, -1.556, -1.617",\
                 "-2.176, -2.148, -2.059, -1.977, -1.924, -1.885, -1.868, -1.879, -1.921, -1.987",\
                 "-2.574, -2.544, -2.461, -2.38, -2.321, -2.281, -2.266, -2.276, -2.318, -2.377",\
                 "-3, -2.975, -2.888, -2.806, -2.746, -2.71, -2.694, -2.701, -2.736, -2.804",\
                 "-3.464, -3.43, -3.35, -3.266, -3.208, -3.166, -3.147, -3.159, -3.195, -3.259",\
                 "-3.957, -3.922, -3.844, -3.753, -3.694, -3.656, -3.638, -3.649, -3.688, -3.746");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.321, -0.289, -0.201, -0.034, 0.153, 0.339, 0.5, 0.635, 0.737, 0.812",\
                 "-0.351, -0.327, -0.228, -0.071, 0.12, 0.304, 0.463, 0.598, 0.706, 0.784",\
                 "-0.461, -0.429, -0.335, -0.174, 0.013, 0.196, 0.359, 0.497, 0.6, 0.677",\
                 "-0.618, -0.589, -0.496, -0.334, -0.148, 0.032, 0.194, 0.335, 0.433, 0.51",\
                 "-0.792, -0.758, -0.667, -0.503, -0.319, -0.143, 0.023, 0.151, 0.26, 0.338",\
                 "-0.936, -0.908, -0.817, -0.657, -0.472, -0.296, -0.136, 0.003, 0.108, 0.189",\
                 "-1.057, -1.031, -0.935, -0.775, -0.596, -0.42, -0.262, -0.125, -0.019, 0.067",\
                 "-1.146, -1.115, -1.027, -0.868, -0.686, -0.508, -0.347, -0.214, -0.107, -0.031",\
                 "-1.204, -1.177, -1.085, -0.921, -0.744, -0.565, -0.407, -0.268, -0.168, -0.089",\
                 "-1.222, -1.197, -1.1, -0.943, -0.758, -0.592, -0.433, -0.296, -0.186, -0.114");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("2.175, 2.144, 2.057, 1.837, 1.586, 1.343, 1.126, 0.92, 0.782, 0.643",\
                 "2.206, 2.18, 2.09, 1.865, 1.616, 1.373, 1.16, 0.951, 0.815, 0.672",\
                 "2.305, 2.276, 2.197, 1.965, 1.718, 1.478, 1.26, 1.047, 0.917, 0.777",\
                 "2.479, 2.444, 2.362, 2.137, 1.885, 1.646, 1.425, 1.217, 1.087, 0.946",\
                 "2.728, 2.699, 2.611, 2.389, 2.132, 1.894, 1.679, 1.465, 1.334, 1.196",\
                 "3.06, 3.029, 2.947, 2.722, 2.468, 2.226, 2.007, 1.798, 1.667, 1.531",\
                 "3.47, 3.443, 3.357, 3.132, 2.886, 2.643, 2.421, 2.215, 2.088, 1.951",\
                 "3.931, 3.9, 3.818, 3.596, 3.343, 3.105, 2.889, 2.677, 2.549, 2.411",\
                 "4.429, 4.398, 4.313, 4.092, 3.848, 3.608, 3.392, 3.177, 3.043, 2.909",\
                 "4.958, 4.929, 4.845, 4.628, 4.38, 4.14, 3.924, 3.71, 3.575, 3.441");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.632, 1.599, 1.498, 1.3, 1.124, 0.933, 0.85, 0.79, 0.804, 0.851",\
                 "1.66, 1.624, 1.519, 1.322, 1.147, 0.959, 0.874, 0.811, 0.826, 0.868",\
                 "1.739, 1.705, 1.616, 1.408, 1.231, 1.038, 0.957, 0.893, 0.911, 0.955",\
                 "1.884, 1.852, 1.753, 1.554, 1.375, 1.189, 1.104, 1.034, 1.051, 1.093",\
                 "2.099, 2.065, 1.963, 1.765, 1.595, 1.392, 1.31, 1.236, 1.249, 1.279",\
                 "2.362, 2.33, 2.231, 2.027, 1.853, 1.657, 1.563, 1.478, 1.479, 1.504",\
                 "2.631, 2.596, 2.498, 2.298, 2.125, 1.929, 1.825, 1.729, 1.728, 1.744",\
                 "2.895, 2.86, 2.759, 2.558, 2.384, 2.181, 2.08, 1.98, 1.969, 1.968",\
                 "3.134, 3.097, 3.001, 2.802, 2.626, 2.427, 2.32, 2.204, 2.191, 2.184",\
                 "3.353, 3.32, 3.221, 3.018, 2.846, 2.635, 2.53, 2.41, 2.393, 2.382");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("2.004, 1.97, 1.873, 1.67, 1.488, 1.305, 1.223, 1.163, 1.183, 1.226",\
                 "2.039, 2.003, 1.904, 1.699, 1.519, 1.333, 1.253, 1.197, 1.214, 1.252",\
                 "2.158, 2.119, 2.03, 1.822, 1.637, 1.452, 1.371, 1.312, 1.334, 1.378",\
                 "2.392, 2.358, 2.264, 2.056, 1.878, 1.695, 1.609, 1.557, 1.569, 1.612",\
                 "2.728, 2.688, 2.588, 2.389, 2.205, 2.019, 1.938, 1.883, 1.903, 1.939",\
                 "3.091, 3.061, 2.956, 2.762, 2.576, 2.389, 2.313, 2.251, 2.268, 2.31",\
                 "3.493, 3.46, 3.357, 3.159, 2.972, 2.791, 2.705, 2.646, 2.669, 2.703",\
                 "3.923, 3.892, 3.792, 3.587, 3.404, 3.221, 3.138, 3.08, 3.091, 3.136",\
                 "4.385, 4.348, 4.251, 4.05, 3.868, 3.68, 3.596, 3.542, 3.551, 3.591",\
                 "4.879, 4.849, 4.749, 4.543, 4.363, 4.176, 4.093, 4.031, 4.044, 4.088");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("2.593, 2.566, 2.483, 2.242, 1.959, 1.677, 1.43, 1.187, 1.024, 0.859",\
                 "2.635, 2.603, 2.518, 2.278, 1.999, 1.722, 1.464, 1.221, 1.059, 0.897",\
                 "2.737, 2.711, 2.631, 2.387, 2.1, 1.823, 1.575, 1.329, 1.168, 0.999",\
                 "2.895, 2.864, 2.784, 2.541, 2.26, 1.983, 1.732, 1.484, 1.322, 1.163",\
                 "3.042, 3.015, 2.929, 2.693, 2.414, 2.127, 1.875, 1.628, 1.472, 1.304",\
                 "3.176, 3.149, 3.06, 2.822, 2.54, 2.263, 2.017, 1.769, 1.616, 1.459",\
                 "3.292, 3.267, 3.184, 2.947, 2.674, 2.393, 2.148, 1.905, 1.753, 1.595",\
                 "3.38, 3.351, 3.263, 3.035, 2.756, 2.489, 2.248, 2.011, 1.856, 1.691",\
                 "3.425, 3.396, 3.309, 3.08, 2.809, 2.542, 2.304, 2.073, 1.916, 1.759",\
                 "3.439, 3.407, 3.325, 3.095, 2.821, 2.563, 2.322, 2.089, 1.937, 1.784");
        }
      }
    }

    pin(SI) {
      capacitance : 0.00343 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 12 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003496, 0.003485, 0.003477, 0.003474, 0.003482, 0.003481, 0.003481, \
                 0.00348, 0.003477, 0.003478");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003314, -0.003321, -0.003348, -0.003381, -0.003401, -0.003414, \
                 -0.003418, -0.003427, -0.003428, -0.003428");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04706, 0.0469, 0.04675, 0.04662, 0.04651, 0.04642, 0.04635, \
                 0.0463, 0.04627, 0.04625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02827, 0.02815, 0.02799, 0.02786, 0.02773, 0.0276, 0.02751, \
                 0.02743, 0.02739, 0.02742");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003487, 0.003479, 0.003472, 0.003475, 0.003474, 0.00348, 0.003482, \
                 0.00348, 0.003481, 0.00348");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003303, -0.00331, -0.003355, -0.00338, -0.003391, -0.003415, \
                 -0.003419, -0.003425, -0.003427, -0.00343");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04577, 0.04562, 0.04546, 0.04533, 0.04524, 0.04513, 0.04508, \
                 0.04504, 0.04502, 0.04502");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02943, 0.0293, 0.02914, 0.029, 0.02888, 0.02876, 0.02864, 0.02857, \
                 0.02854, 0.02857");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00348, 0.003477, 0.003474, 0.003472, 0.003485, 0.003481, 0.00348, \
                 0.00348, 0.00348, 0.003478");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003222, -0.003298, -0.003347, -0.00338, -0.0034, -0.003412, \
                 -0.003418, -0.003426, -0.003427, -0.003429");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04784, 0.04768, 0.04752, 0.04739, 0.04728, 0.04719, 0.04713, \
                 0.04706, 0.04702, 0.04702");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02672, 0.02661, 0.02642, 0.02629, 0.02616, 0.02602, 0.02593, \
                 0.02587, 0.02585, 0.02589");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003475, 0.003479, 0.003474, 0.003474, 0.003481, 0.003482, 0.003481, \
                 0.003479, 0.003481, 0.00348");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003219, -0.003296, -0.003349, -0.003381, -0.003403, -0.003415, \
                 -0.00342, -0.003426, -0.003428, -0.003429");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.04654, 0.04639, 0.04624, 0.0461, 0.04601, 0.04592, 0.04585, \
                 0.04579, 0.04578, 0.04575");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.02788, 0.02776, 0.02757, 0.02744, 0.02731, 0.02717, 0.02707, \
                 0.02699, 0.02698, 0.027");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00348, 0.00348, 0.003474, 0.003469, 0.003482, 0.00348, 0.003481, \
                 0.00348, 0.003477, 0.003479");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003315, -0.003321, -0.003348, -0.00338, -0.003401, -0.003413, \
                 -0.003419, -0.003425, -0.003428, -0.003429");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003506, 0.003507, 0.003504, 0.003507, 0.003509, 0.003508, 0.003509, \
                 0.003509, 0.003507, 0.003506");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.002784, -0.002844, -0.002929, -0.003006, -0.003077, -0.003136, \
                 -0.003179, -0.00321, -0.003231, -0.003248");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003469, 0.003477, 0.003475, 0.003473, 0.003475, 0.003483, 0.003478, \
                 0.003483, 0.003481, 0.003481");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003305, -0.003315, -0.003354, -0.003383, -0.003391, -0.003412, \
                 -0.003419, -0.003425, -0.003427, -0.003432");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.01095, 0.01096, 0.01095, 0.01096, 0.01095, 0.01095, 0.01095, \
                 0.01095, 0.01095, 0.01096");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.002779, -0.00284, -0.002934, -0.003008, -0.003073, -0.003133, \
                 -0.003176, -0.003209, -0.003231, -0.00325");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.00348, 0.003478, 0.003474, 0.003471, 0.00348, 0.003484, 0.00348, \
                 0.00348, 0.003477, 0.003478");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003248, -0.003305, -0.003347, -0.00338, -0.003399, -0.003413, \
                 -0.003418, -0.003425, -0.003426, -0.003429");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003504, 0.003509, 0.003506, 0.0035, 0.003505, 0.003506, 0.003506, \
                 0.003508, 0.003506, 0.003504");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.0028, -0.00286, -0.002951, -0.003041, -0.00312, -0.003174, \
                 -0.003209, -0.003236, -0.003255, -0.003272");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.003483, 0.003471, 0.003472, 0.003472, 0.003475, 0.003484, 0.00348, \
                 0.00348, 0.003481, 0.00348");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.003227, -0.003291, -0.003351, -0.003385, -0.003392, -0.003416, \
                 -0.003419, -0.003426, -0.003427, -0.003427");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("0.009045, 0.009043, 0.009036, 0.00904, 0.009034, 0.009036, 0.009025, \
                 0.009032, 0.009036, 0.009034");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.002795, -0.002856, -0.002954, -0.00304, -0.003109, -0.003169, \
                 -0.003206, -0.003236, -0.003255, -0.00327");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.361, -0.333, -0.239, -0.086, 0.094, 0.277, 0.437, 0.578, 0.682, 0.754",\
                 "-0.38, -0.353, -0.264, -0.114, 0.069, 0.248, 0.411, 0.548, 0.651, 0.733",\
                 "-0.486, -0.457, -0.365, -0.212, -0.039, 0.135, 0.297, 0.429, 0.537, 0.617",\
                 "-0.665, -0.638, -0.548, -0.39, -0.212, -0.047, 0.105, 0.243, 0.348, 0.424",\
                 "-0.91, -0.886, -0.794, -0.638, -0.464, -0.298, -0.15, -0.022, 0.084, 0.165",\
                 "-1.199, -1.17, -1.075, -0.925, -0.753, -0.591, -0.442, -0.322, -0.218, -0.142",\
                 "-1.511, -1.48, -1.392, -1.246, -1.074, -0.92, -0.779, -0.651, -0.551, -0.478",\
                 "-1.842, -1.811, -1.727, -1.584, -1.427, -1.269, -1.129, -1.006, -0.912, -0.839",\
                 "-2.197, -2.168, -2.089, -1.952, -1.79, -1.637, -1.494, -1.381, -1.29, -1.215",\
                 "-2.561, -2.538, -2.457, -2.328, -2.169, -2.025, -1.887, -1.779, -1.687, -1.614");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.767, -0.733, -0.659, -0.577, -0.525, -0.498, -0.494, -0.515, -0.563, -0.642",\
                 "-0.795, -0.759, -0.678, -0.601, -0.549, -0.523, -0.518, -0.542, -0.589, -0.665",\
                 "-0.861, -0.835, -0.749, -0.671, -0.624, -0.589, -0.593, -0.612, -0.661, -0.74",\
                 "-0.982, -0.953, -0.872, -0.789, -0.743, -0.712, -0.708, -0.721, -0.773, -0.853",\
                 "-1.145, -1.121, -1.037, -0.957, -0.902, -0.872, -0.863, -0.879, -0.923, -0.998",\
                 "-1.331, -1.297, -1.222, -1.134, -1.082, -1.042, -1.035, -1.048, -1.087, -1.163",\
                 "-1.517, -1.486, -1.41, -1.321, -1.262, -1.225, -1.208, -1.218, -1.254, -1.328",\
                 "-1.696, -1.664, -1.59, -1.501, -1.441, -1.397, -1.372, -1.378, -1.417, -1.481",\
                 "-1.856, -1.825, -1.752, -1.669, -1.6, -1.557, -1.527, -1.531, -1.56, -1.621",\
                 "-1.985, -1.958, -1.886, -1.811, -1.74, -1.685, -1.659, -1.657, -1.687, -1.742");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.24, -0.209, -0.118, 0.041, 0.232, 0.417, 0.575, 0.716, 0.819, 0.898",\
                 "-0.264, -0.239, -0.143, 0.015, 0.201, 0.383, 0.545, 0.688, 0.789, 0.864",\
                 "-0.372, -0.343, -0.247, -0.091, 0.088, 0.265, 0.427, 0.574, 0.674, 0.751",\
                 "-0.555, -0.527, -0.436, -0.268, -0.091, 0.082, 0.242, 0.381, 0.487, 0.564",\
                 "-0.792, -0.763, -0.672, -0.51, -0.337, -0.167, -0.008, 0.126, 0.228, 0.305",\
                 "-1.068, -1.035, -0.946, -0.786, -0.616, -0.451, -0.294, -0.166, -0.059, 0.019",\
                 "-1.368, -1.34, -1.256, -1.096, -0.925, -0.762, -0.618, -0.483, -0.379, -0.299",\
                 "-1.696, -1.664, -1.582, -1.428, -1.262, -1.101, -0.954, -0.824, -0.725, -0.651",\
                 "-2.032, -2.007, -1.924, -1.777, -1.613, -1.456, -1.306, -1.184, -1.09, -1.015",\
                 "-2.381, -2.357, -2.279, -2.143, -1.979, -1.828, -1.689, -1.563, -1.468, -1.393");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("-0.75, -0.719, -0.64, -0.56, -0.505, -0.483, -0.477, -0.491, -0.536, -0.614",\
                 "-0.773, -0.742, -0.664, -0.589, -0.539, -0.507, -0.5, -0.517, -0.561, -0.636",\
                 "-0.849, -0.821, -0.739, -0.656, -0.606, -0.581, -0.568, -0.587, -0.632, -0.71",\
                 "-0.971, -0.94, -0.857, -0.779, -0.729, -0.692, -0.687, -0.703, -0.749, -0.822",\
                 "-1.136, -1.11, -1.025, -0.95, -0.892, -0.86, -0.848, -0.864, -0.903, -0.973",\
                 "-1.316, -1.281, -1.205, -1.124, -1.07, -1.035, -1.016, -1.031, -1.073, -1.145",\
                 "-1.494, -1.463, -1.386, -1.308, -1.247, -1.207, -1.191, -1.204, -1.238, -1.308",\
                 "-1.656, -1.631, -1.556, -1.483, -1.421, -1.38, -1.359, -1.362, -1.398, -1.465",\
                 "-1.807, -1.781, -1.707, -1.639, -1.574, -1.528, -1.503, -1.503, -1.538, -1.602",\
                 "-1.92, -1.893, -1.819, -1.763, -1.707, -1.658, -1.63, -1.635, -1.655, -1.72");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("2.502, 2.472, 2.388, 2.155, 1.891, 1.63, 1.396, 1.171, 1.029, 0.88",\
                 "2.526, 2.497, 2.411, 2.179, 1.913, 1.659, 1.423, 1.197, 1.053, 0.904",\
                 "2.629, 2.597, 2.513, 2.289, 2.018, 1.763, 1.526, 1.303, 1.157, 1.007",\
                 "2.808, 2.777, 2.678, 2.465, 2.197, 1.943, 1.705, 1.484, 1.334, 1.186",\
                 "3.071, 3.036, 2.952, 2.722, 2.46, 2.193, 1.961, 1.735, 1.596, 1.444",\
                 "3.409, 3.387, 3.301, 3.07, 2.797, 2.537, 2.304, 2.082, 1.942, 1.791",\
                 "3.837, 3.811, 3.728, 3.494, 3.231, 2.976, 2.738, 2.512, 2.374, 2.228",\
                 "4.336, 4.302, 4.219, 3.991, 3.73, 3.471, 3.233, 3.009, 2.867, 2.721",\
                 "4.857, 4.829, 4.747, 4.521, 4.26, 3.999, 3.768, 3.542, 3.394, 3.253",\
                 "5.426, 5.4, 5.312, 5.093, 4.833, 4.57, 4.34, 4.109, 3.963, 3.818");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.74, 1.708, 1.606, 1.41, 1.232, 1.041, 0.959, 0.895, 0.914, 0.959",\
                 "1.77, 1.738, 1.633, 1.433, 1.259, 1.063, 0.985, 0.918, 0.942, 0.984",\
                 "1.84, 1.805, 1.705, 1.506, 1.33, 1.142, 1.056, 0.996, 1.014, 1.059",\
                 "1.959, 1.926, 1.828, 1.625, 1.452, 1.258, 1.179, 1.116, 1.135, 1.179",\
                 "2.128, 2.096, 1.992, 1.801, 1.622, 1.428, 1.342, 1.277, 1.295, 1.337",\
                 "2.339, 2.306, 2.206, 2.008, 1.829, 1.634, 1.544, 1.472, 1.486, 1.522",\
                 "2.562, 2.525, 2.424, 2.223, 2.054, 1.855, 1.764, 1.682, 1.687, 1.714",\
                 "2.781, 2.745, 2.64, 2.448, 2.267, 2.071, 1.972, 1.885, 1.884, 1.902",\
                 "2.986, 2.953, 2.853, 2.651, 2.476, 2.274, 2.181, 2.082, 2.072, 2.084",\
                 "3.173, 3.146, 3.043, 2.84, 2.672, 2.465, 2.361, 2.255, 2.243, 2.247");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("2.548, 2.522, 2.439, 2.196, 1.92, 1.638, 1.384, 1.138, 0.98, 0.815",\
                 "2.577, 2.55, 2.461, 2.223, 1.938, 1.659, 1.411, 1.164, 1.009, 0.839",\
                 "2.68, 2.647, 2.552, 2.326, 2.042, 1.763, 1.513, 1.269, 1.111, 0.947",\
                 "2.855, 2.827, 2.746, 2.506, 2.225, 1.943, 1.691, 1.447, 1.286, 1.124",\
                 "3.111, 3.082, 2.999, 2.764, 2.478, 2.199, 1.946, 1.7, 1.543, 1.386",\
                 "3.448, 3.419, 3.336, 3.099, 2.815, 2.537, 2.285, 2.042, 1.884, 1.728",\
                 "3.878, 3.846, 3.765, 3.528, 3.247, 2.967, 2.716, 2.478, 2.317, 2.159",\
                 "4.368, 4.343, 4.253, 4.027, 3.745, 3.465, 3.212, 2.97, 2.811, 2.654",\
                 "4.901, 4.868, 4.787, 4.557, 4.28, 3.999, 3.751, 3.504, 3.346, 3.184",\
                 "5.469, 5.436, 5.35, 5.124, 4.85, 4.579, 4.32, 4.075, 3.913, 3.754");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          values("1.712, 1.679, 1.58, 1.381, 1.203, 1.01, 0.925, 0.863, 0.887, 0.931",\
                 "1.74, 1.703, 1.605, 1.403, 1.228, 1.031, 0.95, 0.893, 0.909, 0.955",\
                 "1.815, 1.783, 1.675, 1.476, 1.301, 1.107, 1.025, 0.962, 0.98, 1.029",\
                 "1.936, 1.902, 1.798, 1.6, 1.424, 1.229, 1.152, 1.089, 1.105, 1.148",\
                 "2.109, 2.076, 1.98, 1.772, 1.595, 1.404, 1.318, 1.251, 1.269, 1.312",\
                 "2.324, 2.29, 2.188, 1.988, 1.805, 1.612, 1.526, 1.455, 1.464, 1.504",\
                 "2.545, 2.508, 2.412, 2.209, 2.031, 1.837, 1.742, 1.662, 1.663, 1.694",\
                 "2.765, 2.728, 2.631, 2.429, 2.247, 2.048, 1.952, 1.861, 1.866, 1.885",\
                 "2.97, 2.937, 2.836, 2.633, 2.463, 2.253, 2.156, 2.054, 2.05, 2.059",\
                 "3.158, 3.125, 3.021, 2.817, 2.647, 2.447, 2.342, 2.232, 2.218, 2.225");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(RN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        clear : !RN ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

