  cell(gf180mcu_fd_sc_mcu9t5v0__sdffrnq_1) {
    area : 115.718400 ;

    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 : "0.000354465" ;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    pin(CLK) {
      capacitance : 0.005112 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5.2 ;
      min_period : 1.705 ;
      min_pulse_width_high : 0.478 ;
      min_pulse_width_low : 0.855 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3534, 0.3522, 0.3535, 0.3669, 0.3951, 0.4384, 0.4987, 0.5766, \
                  0.6729, 0.7885");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2383, 0.2375, 0.238, 0.2486, 0.2714, 0.3094, 0.3625, 0.4326, \
                  0.5198, 0.6248");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3534, 0.3522, 0.3535, 0.3669, 0.3951, 0.4384, 0.4986, 0.5767, \
                  0.6729, 0.7885");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2383, 0.2375, 0.238, 0.2486, 0.2714, 0.3093, 0.3625, 0.4326, \
                  0.5198, 0.6248");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3736, 0.3722, 0.3737, 0.3871, 0.4153, 0.4586, 0.5189, 0.597, \
                  0.6933, 0.8087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2383, 0.2375, 0.238, 0.2486, 0.2714, 0.3092, 0.3625, 0.4325, \
                  0.5198, 0.6248");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.5149, 0.5135, 0.515, 0.5292, 0.5596, 0.6059, 0.67, 0.7534, 0.8556, \
                  0.9778");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.4908, 0.4899, 0.4901, 0.5024, 0.5285, 0.5704, 0.6303, 0.7079, \
                  0.8038, 0.9184");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3089, 0.3076, 0.3089, 0.3225, 0.3506, 0.394, 0.4544, 0.5322, \
                  0.6288, 0.7443");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2383, 0.2373, 0.2379, 0.2486, 0.2713, 0.3091, 0.3624, 0.4326, \
                  0.5195, 0.6248");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3089, 0.3075, 0.3089, 0.3225, 0.3506, 0.394, 0.4543, 0.5322, \
                  0.6288, 0.7444");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2383, 0.2373, 0.2379, 0.2486, 0.2713, 0.3091, 0.3624, 0.4326, \
                  0.5195, 0.6247");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3088, 0.3076, 0.3091, 0.3225, 0.3506, 0.3941, 0.4541, 0.5323, \
                  0.6287, 0.7444");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2383, 0.2374, 0.238, 0.2485, 0.2714, 0.309, 0.3626, 0.4325, \
                  0.5197, 0.6247");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3082, 0.3069, 0.3084, 0.3219, 0.3499, 0.3934, 0.4537, 0.5317, \
                  0.6281, 0.7439");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2336, 0.2328, 0.2333, 0.244, 0.2667, 0.3046, 0.3581, 0.4281, \
                  0.5152, 0.6206");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.4868, 0.4854, 0.4868, 0.501, 0.5313, 0.5776, 0.6419, 0.725, \
                  0.827, 0.949");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.4907, 0.4898, 0.4901, 0.5024, 0.5285, 0.5704, 0.6302, 0.7078, \
                  0.8037, 0.9183");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.4868, 0.4854, 0.4868, 0.501, 0.5313, 0.5775, 0.6417, 0.725, \
                  0.8269, 0.9489");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.4907, 0.4898, 0.4901, 0.5024, 0.5285, 0.5707, 0.6302, 0.708, \
                  0.8036, 0.9184");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.394, 0.3926, 0.3941, 0.4074, 0.4356, 0.4789, 0.5392, 0.6172, \
                  0.7135, 0.8292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2383, 0.2375, 0.238, 0.2486, 0.2714, 0.3094, 0.3625, 0.4325, \
                  0.5198, 0.6248");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.5001, 0.4988, 0.5002, 0.5142, 0.5446, 0.591, 0.6553, 0.7385, \
                  0.8405, 0.9629");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.4907, 0.4899, 0.49, 0.5025, 0.5287, 0.5708, 0.6305, 0.7081, \
                  0.804, 0.9187");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3084, 0.307, 0.3084, 0.322, 0.3502, 0.3937, 0.4537, 0.5315, \
                  0.6281, 0.7441");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2335, 0.2327, 0.2332, 0.2439, 0.2667, 0.3045, 0.3577, 0.428, \
                  0.5155, 0.6202");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3084, 0.307, 0.3085, 0.3219, 0.3501, 0.3937, 0.4537, 0.5315, \
                  0.6283, 0.7439");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2335, 0.2327, 0.2331, 0.2439, 0.2667, 0.3044, 0.3577, 0.428, \
                  0.5154, 0.6202");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3089, 0.3075, 0.3091, 0.3226, 0.3507, 0.3941, 0.4543, 0.5321, \
                  0.6285, 0.7444");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2383, 0.2374, 0.238, 0.2486, 0.2713, 0.3091, 0.3624, 0.4326, \
                  0.5199, 0.6247");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3082, 0.3069, 0.3083, 0.3219, 0.3499, 0.3934, 0.4536, 0.5315, \
                  0.628, 0.744");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2336, 0.2328, 0.2332, 0.244, 0.2667, 0.3046, 0.358, 0.428, 0.5152, \
                  0.6205");
        }
      }

      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("0.76");
        }

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

      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("0.76");
        }

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

      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("0.784");
        }

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

      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("0.673");
        }

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

      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("0.593");
        }

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

      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("0.593");
        }

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

      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("0.855");
        }

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

      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("0.633");
        }

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

      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("1.519");
        }
      }

      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("1.512");
        }
      }

      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("1.569");
        }
      }

      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("1.326");
        }
      }

      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("1.162");
        }
      }

      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("1.162");
        }
      }

      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("1.705");
        }
      }

      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("1.234");
        }
      }
    }

    pin(D) {
      capacitance : 0.003953 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3083, 0.3073, 0.3052, 0.3042, 0.3102, 0.3264, 0.354, 0.3944, \
                  0.4467, 0.5106");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1774, 0.1774, 0.1762, 0.1758, 0.1818, 0.1962, 0.2206, 0.2552, \
                  0.3004, 0.3557");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3083, 0.3073, 0.3052, 0.3042, 0.3102, 0.3264, 0.354, 0.3944, \
                  0.4467, 0.5105");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1774, 0.1774, 0.1763, 0.1758, 0.1818, 0.1962, 0.2206, 0.2553, \
                  0.3004, 0.3557");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02598, 0.02599, 0.026, 0.02599, 0.02591, 0.02593, 0.02593, 0.02591, \
                  0.02588, 0.02587");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02325, -0.02321, -0.02322, -0.02334, -0.02354, -0.02364, -0.02378, \
                  -0.02384, -0.02391, -0.02396");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.01202, 0.01201, 0.01199, 0.01199, 0.01201, 0.01199, 0.01203, \
                  0.01202, 0.01199, 0.01197");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.008813, -0.008808, -0.008814, -0.008811, -0.008818, -0.008825, \
                  -0.008852, -0.008862, -0.008876, -0.008882");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.296, 0.2951, 0.293, 0.2919, 0.298, 0.314, 0.3415, 0.3816, 0.4336, \
                  0.497");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1858, 0.1858, 0.1847, 0.1842, 0.1902, 0.2045, 0.229, 0.2635, \
                  0.3085, 0.364");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.296, 0.2951, 0.293, 0.2919, 0.298, 0.3141, 0.3415, 0.3815, 0.4336, \
                  0.497");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1858, 0.1857, 0.1847, 0.1842, 0.1902, 0.2045, 0.229, 0.2635, \
                  0.3086, 0.364");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02597, 0.026, 0.02599, 0.02596, 0.02593, 0.02596, 0.02594, 0.02586, \
                  0.02588, 0.02585");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02325, -0.02323, -0.02322, -0.02336, -0.02353, -0.02368, -0.02377, \
                  -0.0238, -0.0239, -0.02396");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.01201, 0.012, 0.01199, 0.012, 0.01198, 0.01199, 0.01203, 0.01202, \
                  0.012, 0.01197");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.008817, -0.008814, -0.008808, -0.008814, -0.008808, -0.008825, \
                  -0.008856, -0.008866, -0.008868, -0.008873");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02598, 0.02532, 0.02527, 0.0252, 0.02518, 0.02521, 0.02526, \
                  0.02526, 0.02526, 0.02526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02031, -0.02055, -0.02169, -0.02283, -0.02355, -0.02389, -0.02415, \
                  -0.02429, -0.02439, -0.02446");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02598, 0.02532, 0.02527, 0.0252, 0.02518, 0.02521, 0.02526, \
                  0.02527, 0.02526, 0.02527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02031, -0.02054, -0.02169, -0.02283, -0.02354, -0.02389, -0.02415, \
                  -0.02428, -0.02439, -0.02446");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02614, 0.02665, 0.0269, 0.02698, 0.02697, 0.02699, 0.02702, \
                  0.02699, 0.02696, 0.02693");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02426, -0.02424, -0.02423, -0.02427, -0.02447, -0.02461, -0.02471, \
                  -0.02476, -0.02479, -0.0248");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.01317, 0.01318, 0.01318, 0.0132, 0.01318, 0.01319, 0.01325, \
                  0.01323, 0.01323, 0.01323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.0167, -0.01583, -0.01534, -0.01519, -0.01511, -0.01512, -0.0151, \
                  -0.01508, -0.01506, -0.01506");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.04938, 0.0494, 0.04943, 0.0493, 0.04924, 0.0493, 0.04932, 0.04938, \
                  0.04935, 0.04936");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02033, -0.02055, -0.02166, -0.02284, -0.02351, -0.02392, -0.02415, \
                  -0.02428, -0.02438, -0.02444");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.04938, 0.0494, 0.04943, 0.0493, 0.04924, 0.04931, 0.04933, 0.04938, \
                  0.04936, 0.04936");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02032, -0.02055, -0.02166, -0.02284, -0.02351, -0.02392, -0.02415, \
                  -0.02428, -0.02438, -0.02444");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02524, 0.02526, 0.02525, 0.02522, 0.0252, 0.02518, 0.02518, \
                  0.02522, 0.02522, 0.02522");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02424, -0.02419, -0.02417, -0.02427, -0.02448, -0.02459, -0.02471, \
                  -0.02473, -0.02479, -0.02481");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.01121, 0.0112, 0.01121, 0.01123, 0.01125, 0.01124, 0.01125, \
                  0.01128, 0.01127, 0.01127");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.009216, -0.009231, -0.009237, -0.00925, -0.009266, -0.009244, \
                  -0.009254, -0.009276, -0.009276, -0.009271");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.046, -0.037, -0.005, 0.036, 0.08, 0.123, 0.152, 0.168, 0.178, 0.162",\
                 "-0.046, -0.042, -0.016, 0.03, 0.076, 0.116, 0.148, 0.169, 0.168, 0.161",\
                 "-0.065, -0.059, -0.036, 0.014, 0.056, 0.095, 0.127, 0.146, 0.146, 0.139",\
                 "-0.103, -0.092, -0.063, -0.016, 0.03, 0.069, 0.097, 0.112, 0.116, 0.106",\
                 "-0.141, -0.133, -0.109, -0.058, -0.009, 0.024, 0.052, 0.071, 0.073, 0.073",\
                 "-0.183, -0.177, -0.153, -0.098, -0.058, -0.021, 0.009, 0.024, 0.027, 0.025",\
                 "-0.238, -0.229, -0.207, -0.154, -0.117, -0.076, -0.045, -0.026, -0.024, -0.034",\
                 "-0.301, -0.295, -0.27, -0.221, -0.182, -0.144, -0.112, -0.091, -0.089, -0.099",\
                 "-0.375, -0.366, -0.346, -0.3, -0.267, -0.221, -0.193, -0.167, -0.171, -0.178",\
                 "-0.464, -0.458, -0.437, -0.389, -0.36, -0.32, -0.29, -0.263, -0.274, -0.275");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.263, -0.254, -0.232, -0.216, -0.219, -0.223, -0.245, -0.276, -0.317, -0.372",\
                 "-0.27, -0.261, -0.242, -0.228, -0.222, -0.23, -0.251, -0.281, -0.321, -0.376",\
                 "-0.284, -0.276, -0.259, -0.247, -0.241, -0.253, -0.27, -0.298, -0.342, -0.391",\
                 "-0.315, -0.308, -0.283, -0.27, -0.269, -0.269, -0.288, -0.314, -0.356, -0.405",\
                 "-0.353, -0.342, -0.324, -0.308, -0.296, -0.299, -0.314, -0.335, -0.372, -0.418",\
                 "-0.386, -0.377, -0.36, -0.333, -0.326, -0.327, -0.336, -0.358, -0.387, -0.436",\
                 "-0.415, -0.409, -0.385, -0.369, -0.354, -0.354, -0.361, -0.376, -0.41, -0.455",\
                 "-0.435, -0.422, -0.403, -0.379, -0.366, -0.368, -0.377, -0.394, -0.421, -0.47",\
                 "-0.435, -0.426, -0.403, -0.381, -0.372, -0.37, -0.375, -0.399, -0.429, -0.475",\
                 "-0.413, -0.407, -0.384, -0.369, -0.36, -0.352, -0.369, -0.39, -0.422, -0.469");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.046, -0.037, -0.005, 0.036, 0.08, 0.123, 0.152, 0.168, 0.178, 0.162",\
                 "-0.046, -0.042, -0.016, 0.03, 0.076, 0.116, 0.148, 0.169, 0.168, 0.161",\
                 "-0.065, -0.059, -0.036, 0.014, 0.056, 0.095, 0.127, 0.146, 0.146, 0.139",\
                 "-0.103, -0.092, -0.063, -0.021, 0.03, 0.069, 0.091, 0.112, 0.116, 0.106",\
                 "-0.141, -0.133, -0.109, -0.058, -0.009, 0.024, 0.052, 0.071, 0.073, 0.073",\
                 "-0.183, -0.177, -0.153, -0.098, -0.058, -0.021, 0.009, 0.024, 0.027, 0.025",\
                 "-0.238, -0.234, -0.207, -0.154, -0.117, -0.076, -0.045, -0.026, -0.024, -0.034",\
                 "-0.301, -0.295, -0.27, -0.221, -0.182, -0.144, -0.112, -0.091, -0.089, -0.099",\
                 "-0.375, -0.366, -0.351, -0.3, -0.267, -0.221, -0.193, -0.167, -0.171, -0.178",\
                 "-0.464, -0.458, -0.437, -0.389, -0.36, -0.32, -0.29, -0.263, -0.274, -0.275");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.263, -0.254, -0.232, -0.216, -0.219, -0.223, -0.245, -0.276, -0.317, -0.372",\
                 "-0.27, -0.261, -0.242, -0.228, -0.222, -0.23, -0.251, -0.281, -0.321, -0.376",\
                 "-0.284, -0.276, -0.259, -0.247, -0.241, -0.253, -0.27, -0.298, -0.342, -0.391",\
                 "-0.315, -0.308, -0.283, -0.27, -0.269, -0.269, -0.288, -0.314, -0.356, -0.405",\
                 "-0.353, -0.342, -0.324, -0.308, -0.296, -0.299, -0.307, -0.335, -0.372, -0.418",\
                 "-0.386, -0.377, -0.36, -0.333, -0.326, -0.327, -0.336, -0.358, -0.387, -0.436",\
                 "-0.415, -0.409, -0.385, -0.369, -0.354, -0.354, -0.361, -0.376, -0.41, -0.455",\
                 "-0.435, -0.422, -0.403, -0.379, -0.366, -0.368, -0.377, -0.394, -0.421, -0.47",\
                 "-0.435, -0.426, -0.403, -0.381, -0.372, -0.37, -0.375, -0.399, -0.429, -0.475",\
                 "-0.413, -0.407, -0.384, -0.369, -0.353, -0.352, -0.369, -0.39, -0.422, -0.469");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.595, 0.587, 0.556, 0.5, 0.446, 0.396, 0.359, 0.329, 0.317, 0.32",\
                 "0.603, 0.594, 0.562, 0.506, 0.447, 0.399, 0.361, 0.334, 0.322, 0.331",\
                 "0.625, 0.615, 0.582, 0.522, 0.467, 0.418, 0.38, 0.353, 0.342, 0.344",\
                 "0.658, 0.649, 0.624, 0.56, 0.504, 0.466, 0.421, 0.389, 0.372, 0.383",\
                 "0.727, 0.719, 0.69, 0.633, 0.582, 0.527, 0.487, 0.455, 0.442, 0.447",\
                 "0.837, 0.823, 0.798, 0.736, 0.682, 0.639, 0.597, 0.562, 0.549, 0.554",\
                 "0.98, 0.972, 0.938, 0.88, 0.829, 0.784, 0.738, 0.703, 0.687, 0.691",\
                 "1.161, 1.15, 1.119, 1.064, 1.003, 0.954, 0.909, 0.875, 0.853, 0.851",\
                 "1.365, 1.355, 1.327, 1.264, 1.209, 1.153, 1.111, 1.072, 1.05, 1.043",\
                 "1.602, 1.591, 1.555, 1.499, 1.438, 1.377, 1.332, 1.299, 1.271, 1.262");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.51, 0.504, 0.468, 0.42, 0.38, 0.366, 0.369, 0.388, 0.426, 0.468",\
                 "0.513, 0.509, 0.478, 0.43, 0.39, 0.376, 0.377, 0.394, 0.432, 0.473",\
                 "0.529, 0.53, 0.494, 0.449, 0.409, 0.393, 0.391, 0.415, 0.44, 0.489",\
                 "0.566, 0.558, 0.518, 0.472, 0.441, 0.419, 0.414, 0.431, 0.459, 0.507",\
                 "0.601, 0.598, 0.567, 0.516, 0.486, 0.455, 0.444, 0.464, 0.483, 0.527",\
                 "0.656, 0.646, 0.616, 0.567, 0.526, 0.496, 0.488, 0.489, 0.51, 0.554",\
                 "0.7, 0.688, 0.662, 0.608, 0.57, 0.54, 0.522, 0.528, 0.541, 0.577",\
                 "0.739, 0.723, 0.699, 0.646, 0.606, 0.567, 0.553, 0.558, 0.571, 0.607",\
                 "0.762, 0.746, 0.721, 0.668, 0.624, 0.59, 0.573, 0.574, 0.592, 0.619",\
                 "0.766, 0.756, 0.728, 0.678, 0.638, 0.598, 0.579, 0.576, 0.593, 0.625");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.595, 0.587, 0.556, 0.5, 0.446, 0.396, 0.359, 0.329, 0.317, 0.32",\
                 "0.603, 0.594, 0.562, 0.506, 0.447, 0.399, 0.361, 0.334, 0.322, 0.331",\
                 "0.625, 0.615, 0.582, 0.522, 0.467, 0.418, 0.38, 0.353, 0.342, 0.344",\
                 "0.658, 0.649, 0.624, 0.56, 0.504, 0.466, 0.421, 0.389, 0.372, 0.383",\
                 "0.727, 0.719, 0.69, 0.633, 0.582, 0.527, 0.487, 0.455, 0.442, 0.447",\
                 "0.837, 0.823, 0.798, 0.736, 0.682, 0.639, 0.597, 0.562, 0.549, 0.554",\
                 "0.98, 0.972, 0.938, 0.88, 0.829, 0.784, 0.738, 0.703, 0.687, 0.691",\
                 "1.161, 1.15, 1.119, 1.064, 1.003, 0.954, 0.909, 0.875, 0.853, 0.851",\
                 "1.365, 1.355, 1.327, 1.264, 1.209, 1.153, 1.111, 1.072, 1.05, 1.043",\
                 "1.602, 1.591, 1.555, 1.499, 1.438, 1.377, 1.332, 1.299, 1.271, 1.262");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.51, 0.498, 0.468, 0.42, 0.38, 0.366, 0.369, 0.388, 0.426, 0.468",\
                 "0.513, 0.509, 0.478, 0.43, 0.39, 0.376, 0.372, 0.394, 0.432, 0.473",\
                 "0.537, 0.53, 0.494, 0.449, 0.409, 0.393, 0.391, 0.415, 0.44, 0.489",\
                 "0.566, 0.551, 0.518, 0.472, 0.441, 0.419, 0.414, 0.431, 0.459, 0.507",\
                 "0.601, 0.598, 0.562, 0.516, 0.486, 0.455, 0.451, 0.464, 0.483, 0.527",\
                 "0.656, 0.646, 0.616, 0.567, 0.526, 0.496, 0.488, 0.489, 0.51, 0.554",\
                 "0.7, 0.688, 0.662, 0.615, 0.57, 0.54, 0.522, 0.528, 0.541, 0.577",\
                 "0.739, 0.723, 0.699, 0.646, 0.606, 0.567, 0.553, 0.558, 0.571, 0.607",\
                 "0.762, 0.746, 0.721, 0.668, 0.624, 0.59, 0.573, 0.574, 0.592, 0.619",\
                 "0.766, 0.756, 0.728, 0.678, 0.638, 0.598, 0.579, 0.576, 0.593, 0.625");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.4054 ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3666, 0.3627, 0.3578, 0.3551, 0.3537, 0.3529, 0.3524, 0.3521, 0.352, 0.3518",\
                 "0.3663, 0.3627, 0.3576, 0.3548, 0.3536, 0.3529, 0.3525, 0.3522, 0.352, 0.3519",\
                 "0.3664, 0.3628, 0.3577, 0.355, 0.3536, 0.353, 0.3527, 0.3523, 0.3522, 0.3521",\
                 "0.3677, 0.3641, 0.3591, 0.3564, 0.3549, 0.3543, 0.3539, 0.3536, 0.3534, 0.3532",\
                 "0.37, 0.3662, 0.3613, 0.3585, 0.3572, 0.3566, 0.3562, 0.3559, 0.3557, 0.3555",\
                 "0.3724, 0.3689, 0.3641, 0.3613, 0.3599, 0.3592, 0.3588, 0.3585, 0.3583, 0.3582",\
                 "0.3754, 0.3717, 0.3668, 0.3642, 0.3627, 0.3622, 0.3617, 0.3614, 0.3612, 0.3611",\
                 "0.3788, 0.3754, 0.3704, 0.3675, 0.3661, 0.3654, 0.365, 0.3646, 0.3645, 0.3644",\
                 "0.3825, 0.3788, 0.3738, 0.3711, 0.3698, 0.3692, 0.3686, 0.3684, 0.3682, 0.3681",\
                 "0.3861, 0.3825, 0.3775, 0.3748, 0.3736, 0.3729, 0.3725, 0.372, 0.3718, 0.3717");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3988, 0.3951, 0.3887, 0.3837, 0.3805, 0.3799, 0.3801, 0.3819, 0.3828, 0.3842",\
                 "0.3988, 0.3948, 0.3882, 0.3828, 0.3804, 0.3797, 0.3802, 0.3814, 0.3827, 0.3836",\
                 "0.3985, 0.3948, 0.3882, 0.383, 0.3802, 0.3798, 0.3798, 0.3818, 0.3831, 0.384",\
                 "0.3994, 0.3957, 0.389, 0.3836, 0.3812, 0.3801, 0.3809, 0.3819, 0.3833, 0.3851",\
                 "0.4011, 0.3972, 0.3906, 0.3856, 0.3832, 0.3821, 0.3822, 0.3835, 0.3849, 0.3862",\
                 "0.403, 0.3991, 0.3924, 0.3872, 0.3845, 0.3836, 0.3844, 0.3852, 0.387, 0.39",\
                 "0.4053, 0.4014, 0.3947, 0.3901, 0.3881, 0.386, 0.3865, 0.3888, 0.3897, 0.391",\
                 "0.4092, 0.4051, 0.3989, 0.3933, 0.3903, 0.3914, 0.3919, 0.3921, 0.393, 0.3952",\
                 "0.414, 0.4104, 0.4038, 0.3983, 0.396, 0.3937, 0.3975, 0.3987, 0.3982, 0.4",\
                 "0.4184, 0.4148, 0.4074, 0.4029, 0.3995, 0.3994, 0.3984, 0.4022, 0.4054, 0.4053");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3664, 0.3629, 0.3579, 0.3549, 0.3536, 0.353, 0.3526, 0.3523, 0.3521, 0.352",\
                 "0.3662, 0.3627, 0.3576, 0.3547, 0.3534, 0.3528, 0.3524, 0.3521, 0.3519, 0.3519",\
                 "0.3664, 0.3627, 0.3577, 0.355, 0.3536, 0.3529, 0.3526, 0.3523, 0.3521, 0.352",\
                 "0.3679, 0.3643, 0.3594, 0.3566, 0.3552, 0.3545, 0.3542, 0.3539, 0.3536, 0.3535",\
                 "0.3699, 0.3662, 0.3613, 0.3585, 0.3572, 0.3564, 0.356, 0.3557, 0.3556, 0.3554",\
                 "0.3726, 0.3691, 0.3643, 0.3616, 0.3601, 0.3593, 0.359, 0.3587, 0.3585, 0.3584",\
                 "0.3753, 0.3717, 0.3668, 0.3644, 0.363, 0.3623, 0.3617, 0.3615, 0.3612, 0.3612",\
                 "0.3789, 0.3754, 0.3705, 0.3679, 0.3664, 0.3656, 0.3653, 0.365, 0.3648, 0.3647",\
                 "0.3821, 0.3785, 0.3735, 0.3711, 0.3696, 0.3688, 0.3684, 0.3681, 0.3679, 0.3678",\
                 "0.3861, 0.3824, 0.3773, 0.3745, 0.3732, 0.3726, 0.3721, 0.3718, 0.3716, 0.3715");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3989, 0.3951, 0.3887, 0.3837, 0.3804, 0.38, 0.3801, 0.382, 0.3833, 0.3842",\
                 "0.3989, 0.3949, 0.3882, 0.3831, 0.3804, 0.3794, 0.3803, 0.3815, 0.3828, 0.3842",\
                 "0.3987, 0.395, 0.3883, 0.3831, 0.3804, 0.3799, 0.38, 0.3819, 0.3833, 0.3842",\
                 "0.3995, 0.3957, 0.3891, 0.3838, 0.3811, 0.3807, 0.3807, 0.3824, 0.3838, 0.3847",\
                 "0.401, 0.3971, 0.3906, 0.3853, 0.3831, 0.3816, 0.3825, 0.3835, 0.3853, 0.387",\
                 "0.4028, 0.3991, 0.3926, 0.387, 0.3844, 0.3836, 0.385, 0.3853, 0.3867, 0.3888",\
                 "0.4057, 0.4017, 0.3954, 0.3902, 0.3884, 0.3866, 0.3871, 0.3892, 0.3905, 0.3914",\
                 "0.4092, 0.4052, 0.3989, 0.3934, 0.3905, 0.3915, 0.3919, 0.3922, 0.3927, 0.3953",\
                 "0.4138, 0.4101, 0.4036, 0.398, 0.3957, 0.3935, 0.3967, 0.398, 0.398, 0.3993",\
                 "0.4188, 0.415, 0.4084, 0.4034, 0.3991, 0.3996, 0.3988, 0.403, 0.4052, 0.4061");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3663, 0.3629, 0.3578, 0.3551, 0.3536, 0.3529, 0.3524, 0.3522, 0.352, 0.3519",\
                 "0.3662, 0.3627, 0.3576, 0.3547, 0.3534, 0.3528, 0.3524, 0.3521, 0.3519, 0.3518",\
                 "0.3664, 0.3627, 0.3577, 0.355, 0.3536, 0.3529, 0.3526, 0.3523, 0.3521, 0.352",\
                 "0.3677, 0.3639, 0.3591, 0.3564, 0.3551, 0.3544, 0.354, 0.3537, 0.3535, 0.3534",\
                 "0.3698, 0.3662, 0.3612, 0.3586, 0.3572, 0.3565, 0.3561, 0.3559, 0.3557, 0.3555",\
                 "0.3725, 0.3687, 0.3639, 0.3613, 0.3599, 0.3591, 0.3586, 0.3583, 0.3582, 0.358",\
                 "0.3755, 0.3719, 0.3669, 0.3644, 0.3632, 0.3624, 0.3619, 0.3616, 0.3614, 0.3613",\
                 "0.3789, 0.3753, 0.3704, 0.3676, 0.3663, 0.3656, 0.3652, 0.3649, 0.3647, 0.3645",\
                 "0.3821, 0.3785, 0.3735, 0.3707, 0.3694, 0.3687, 0.3683, 0.368, 0.3679, 0.3677",\
                 "0.3861, 0.3825, 0.3775, 0.3745, 0.3733, 0.3726, 0.3722, 0.3718, 0.3717, 0.3716");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3988, 0.3951, 0.3886, 0.3837, 0.3806, 0.3801, 0.3802, 0.3819, 0.3833, 0.3842",\
                 "0.3986, 0.395, 0.3883, 0.3831, 0.3804, 0.3799, 0.3807, 0.3818, 0.3831, 0.3845",\
                 "0.3987, 0.395, 0.3884, 0.3831, 0.3804, 0.38, 0.38, 0.3819, 0.3833, 0.3842",\
                 "0.3993, 0.3956, 0.3889, 0.3836, 0.3812, 0.38, 0.3808, 0.3818, 0.3832, 0.3845",\
                 "0.401, 0.3972, 0.3907, 0.3853, 0.3834, 0.382, 0.383, 0.3839, 0.3844, 0.3862",\
                 "0.4031, 0.3993, 0.3924, 0.3873, 0.3846, 0.3834, 0.3844, 0.3852, 0.387, 0.3901",\
                 "0.4057, 0.402, 0.3952, 0.39, 0.3884, 0.3866, 0.3873, 0.3885, 0.3898, 0.3911",\
                 "0.4092, 0.4053, 0.399, 0.3936, 0.3907, 0.3916, 0.3919, 0.3928, 0.3928, 0.3963",\
                 "0.4139, 0.4098, 0.4035, 0.3984, 0.3959, 0.3935, 0.3966, 0.3982, 0.3987, 0.3986",\
                 "0.4185, 0.4149, 0.4081, 0.4035, 0.3992, 0.399, 0.3989, 0.4028, 0.4055, 0.4058");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3664, 0.3627, 0.3579, 0.3551, 0.3537, 0.353, 0.3526, 0.3523, 0.3521, 0.3519",\
                 "0.3664, 0.3627, 0.3576, 0.3548, 0.3536, 0.3529, 0.3525, 0.3523, 0.3521, 0.3519",\
                 "0.3664, 0.3628, 0.3577, 0.355, 0.3536, 0.353, 0.3527, 0.3523, 0.3522, 0.3521",\
                 "0.3677, 0.3641, 0.3591, 0.3564, 0.3551, 0.3543, 0.3539, 0.3536, 0.3534, 0.3534",\
                 "0.3699, 0.3662, 0.3613, 0.3586, 0.3572, 0.3565, 0.3561, 0.3558, 0.3557, 0.3555",\
                 "0.3724, 0.3687, 0.3641, 0.3613, 0.36, 0.3592, 0.3588, 0.3585, 0.3584, 0.3583",\
                 "0.3754, 0.3715, 0.3668, 0.3642, 0.3628, 0.362, 0.3617, 0.3614, 0.3612, 0.3611",\
                 "0.3787, 0.3752, 0.3702, 0.3674, 0.3662, 0.3654, 0.365, 0.3647, 0.3645, 0.3644",\
                 "0.3826, 0.3788, 0.3739, 0.3711, 0.3697, 0.369, 0.3686, 0.3684, 0.3682, 0.368",\
                 "0.3861, 0.3824, 0.3776, 0.3747, 0.3734, 0.3728, 0.3725, 0.3719, 0.3718, 0.3717");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3989, 0.3952, 0.3887, 0.3837, 0.3806, 0.3801, 0.3801, 0.382, 0.3829, 0.3847",\
                 "0.3988, 0.3949, 0.3882, 0.383, 0.3806, 0.3794, 0.3803, 0.3815, 0.3828, 0.3837",\
                 "0.3986, 0.3949, 0.3882, 0.383, 0.3803, 0.3798, 0.3799, 0.3818, 0.3832, 0.3841",\
                 "0.3994, 0.3955, 0.389, 0.3835, 0.3812, 0.3803, 0.3806, 0.3829, 0.3833, 0.3842",\
                 "0.401, 0.3971, 0.3906, 0.3856, 0.383, 0.3815, 0.3824, 0.3835, 0.3853, 0.3883",\
                 "0.4032, 0.3991, 0.3924, 0.3872, 0.3846, 0.3837, 0.3845, 0.3853, 0.3867, 0.3893",\
                 "0.4057, 0.4017, 0.3951, 0.3903, 0.3883, 0.3869, 0.3877, 0.3892, 0.3901, 0.3913",\
                 "0.4092, 0.4052, 0.3989, 0.3934, 0.3905, 0.3915, 0.3919, 0.3922, 0.3927, 0.3953",\
                 "0.4137, 0.4101, 0.4035, 0.398, 0.3945, 0.3935, 0.3972, 0.3975, 0.3979, 0.3983",\
                 "0.4188, 0.4151, 0.4081, 0.403, 0.3998, 0.3997, 0.3987, 0.4021, 0.4048, 0.4056");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3558, 0.3525, 0.3478, 0.3452, 0.3436, 0.3428, 0.3423, 0.3419, 0.3417, 0.3416",\
                 "0.356, 0.3525, 0.348, 0.3453, 0.3438, 0.3429, 0.3424, 0.3421, 0.3419, 0.3417",\
                 "0.357, 0.3535, 0.349, 0.3461, 0.3447, 0.344, 0.3435, 0.3432, 0.3429, 0.3428",\
                 "0.3674, 0.3633, 0.3574, 0.3539, 0.3521, 0.351, 0.3503, 0.35, 0.3498, 0.3497",\
                 "0.3964, 0.391, 0.3824, 0.376, 0.3724, 0.3704, 0.3692, 0.3685, 0.3681, 0.3677",\
                 "0.439, 0.4321, 0.4204, 0.4111, 0.4055, 0.4022, 0.4001, 0.3988, 0.398, 0.3973",\
                 "0.4966, 0.4888, 0.4734, 0.461, 0.4526, 0.4472, 0.4438, 0.4416, 0.4401, 0.4391",\
                 "0.5674, 0.5582, 0.5389, 0.5227, 0.5115, 0.504, 0.499, 0.4961, 0.4936, 0.4921",\
                 "0.6493, 0.639, 0.6158, 0.5961, 0.5818, 0.5718, 0.5648, 0.5602, 0.557, 0.5548",\
                 "0.7418, 0.7301, 0.7039, 0.6801, 0.6627, 0.6496, 0.6406, 0.6344, 0.63, 0.6269");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3558, 0.3525, 0.3478, 0.3452, 0.3436, 0.3428, 0.3423, 0.3419, 0.3417, 0.3416",\
                 "0.356, 0.3525, 0.348, 0.3453, 0.3438, 0.3429, 0.3424, 0.3421, 0.3419, 0.3417",\
                 "0.357, 0.3535, 0.349, 0.3461, 0.3447, 0.344, 0.3435, 0.3432, 0.3429, 0.3428",\
                 "0.3674, 0.3633, 0.3574, 0.3539, 0.3521, 0.351, 0.3503, 0.35, 0.3498, 0.3497",\
                 "0.3964, 0.391, 0.3824, 0.376, 0.3724, 0.3704, 0.3692, 0.3685, 0.3681, 0.3677",\
                 "0.439, 0.4321, 0.4204, 0.4111, 0.4055, 0.4022, 0.4001, 0.3988, 0.398, 0.3973",\
                 "0.4966, 0.4888, 0.4734, 0.461, 0.4526, 0.4472, 0.4438, 0.4416, 0.4401, 0.4391",\
                 "0.5674, 0.5582, 0.5389, 0.5227, 0.5115, 0.504, 0.499, 0.4961, 0.4936, 0.4921",\
                 "0.6493, 0.639, 0.6158, 0.5961, 0.5818, 0.5718, 0.5648, 0.5602, 0.557, 0.5548",\
                 "0.7418, 0.7301, 0.7039, 0.6801, 0.6627, 0.6496, 0.6406, 0.6344, 0.63, 0.6269");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3558, 0.3525, 0.3478, 0.3452, 0.3436, 0.3428, 0.3423, 0.3419, 0.3417, 0.3416",\
                 "0.356, 0.3525, 0.348, 0.3453, 0.3438, 0.3429, 0.3424, 0.3421, 0.3419, 0.3417",\
                 "0.357, 0.3535, 0.349, 0.3461, 0.3447, 0.344, 0.3435, 0.3432, 0.3429, 0.3428",\
                 "0.3674, 0.3633, 0.3574, 0.3539, 0.3521, 0.351, 0.3503, 0.35, 0.3498, 0.3497",\
                 "0.3964, 0.391, 0.3824, 0.376, 0.3724, 0.3704, 0.3692, 0.3685, 0.368, 0.3677",\
                 "0.4389, 0.4323, 0.4204, 0.4112, 0.4055, 0.4022, 0.4001, 0.3988, 0.398, 0.3973",\
                 "0.4964, 0.4887, 0.4734, 0.461, 0.4526, 0.4472, 0.4439, 0.4416, 0.4401, 0.4391",\
                 "0.5673, 0.5581, 0.5387, 0.5226, 0.5114, 0.5038, 0.4989, 0.496, 0.4935, 0.4919",\
                 "0.6493, 0.6389, 0.6158, 0.5961, 0.5819, 0.5718, 0.5648, 0.5602, 0.5569, 0.5548",\
                 "0.7417, 0.7301, 0.7039, 0.6799, 0.6627, 0.6494, 0.6404, 0.6342, 0.6299, 0.6267");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3558, 0.3525, 0.3478, 0.3452, 0.3436, 0.3428, 0.3423, 0.3419, 0.3417, 0.3416",\
                 "0.356, 0.3525, 0.348, 0.3453, 0.3438, 0.3429, 0.3424, 0.3421, 0.3419, 0.3417",\
                 "0.357, 0.3535, 0.349, 0.3461, 0.3447, 0.344, 0.3435, 0.3432, 0.3429, 0.3428",\
                 "0.3674, 0.3633, 0.3574, 0.3539, 0.3521, 0.351, 0.3503, 0.35, 0.3498, 0.3497",\
                 "0.3964, 0.391, 0.3824, 0.376, 0.3724, 0.3704, 0.3692, 0.3685, 0.368, 0.3677",\
                 "0.4389, 0.4323, 0.4204, 0.4112, 0.4055, 0.4022, 0.4001, 0.3988, 0.398, 0.3973",\
                 "0.4964, 0.4887, 0.4734, 0.461, 0.4526, 0.4472, 0.4439, 0.4416, 0.4401, 0.4391",\
                 "0.5673, 0.5581, 0.5387, 0.5226, 0.5114, 0.5038, 0.4989, 0.496, 0.4935, 0.4919",\
                 "0.6493, 0.6389, 0.6158, 0.5961, 0.5819, 0.5718, 0.5648, 0.5602, 0.5569, 0.5548",\
                 "0.7417, 0.7301, 0.7039, 0.6799, 0.6627, 0.6494, 0.6404, 0.6342, 0.6299, 0.6267");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3558, 0.3524, 0.3478, 0.3452, 0.3436, 0.3428, 0.3423, 0.3419, 0.3417, 0.3415",\
                 "0.3561, 0.3525, 0.3481, 0.3452, 0.3437, 0.3429, 0.3424, 0.342, 0.3419, 0.3417",\
                 "0.357, 0.3535, 0.349, 0.3461, 0.3447, 0.344, 0.3435, 0.3432, 0.3429, 0.3428",\
                 "0.3674, 0.3633, 0.3574, 0.3539, 0.3521, 0.351, 0.3503, 0.35, 0.3498, 0.3497",\
                 "0.3964, 0.391, 0.3824, 0.376, 0.3725, 0.3705, 0.3692, 0.3685, 0.368, 0.3678",\
                 "0.4388, 0.4321, 0.4204, 0.4114, 0.4056, 0.4021, 0.4001, 0.3988, 0.3979, 0.3972",\
                 "0.4966, 0.4887, 0.4734, 0.461, 0.4526, 0.4472, 0.4439, 0.4417, 0.4402, 0.4391",\
                 "0.5673, 0.5576, 0.5388, 0.5231, 0.5115, 0.5038, 0.4995, 0.4962, 0.4939, 0.4918",\
                 "0.6492, 0.6388, 0.6157, 0.5961, 0.5819, 0.5718, 0.565, 0.5604, 0.5572, 0.5549",\
                 "0.7418, 0.7306, 0.7036, 0.6801, 0.6626, 0.6496, 0.6404, 0.6342, 0.6298, 0.6267");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3558, 0.3524, 0.3478, 0.3452, 0.3436, 0.3428, 0.3423, 0.3419, 0.3417, 0.3415",\
                 "0.3561, 0.3525, 0.3481, 0.3452, 0.3437, 0.3429, 0.3424, 0.342, 0.3419, 0.3417",\
                 "0.357, 0.3535, 0.349, 0.3461, 0.3447, 0.344, 0.3435, 0.3432, 0.3429, 0.3428",\
                 "0.3674, 0.3633, 0.3574, 0.3539, 0.3521, 0.351, 0.3503, 0.35, 0.3498, 0.3497",\
                 "0.3964, 0.391, 0.3824, 0.376, 0.3725, 0.3705, 0.3692, 0.3685, 0.368, 0.3678",\
                 "0.4388, 0.4321, 0.4204, 0.4114, 0.4056, 0.4021, 0.4001, 0.3988, 0.3979, 0.3972",\
                 "0.4966, 0.4887, 0.4734, 0.461, 0.4526, 0.4472, 0.4439, 0.4417, 0.4402, 0.4391",\
                 "0.5673, 0.5576, 0.5388, 0.5231, 0.5115, 0.5038, 0.4995, 0.4962, 0.4939, 0.4918",\
                 "0.6492, 0.6388, 0.6157, 0.5961, 0.5819, 0.5718, 0.565, 0.5604, 0.5572, 0.5549",\
                 "0.7418, 0.7306, 0.7036, 0.6801, 0.6626, 0.6496, 0.6404, 0.6342, 0.6298, 0.6267");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3726, 0.3693, 0.3646, 0.3618, 0.3604, 0.3596, 0.3591, 0.3587, 0.3585, 0.3583",\
                 "0.3733, 0.3699, 0.3653, 0.3624, 0.361, 0.3602, 0.3597, 0.3594, 0.3592, 0.359",\
                 "0.3744, 0.3708, 0.3662, 0.3633, 0.3619, 0.3612, 0.3607, 0.3604, 0.3602, 0.3601",\
                 "0.3847, 0.3806, 0.3748, 0.3712, 0.3694, 0.3683, 0.3677, 0.3673, 0.3671, 0.367",\
                 "0.4136, 0.4084, 0.3997, 0.3933, 0.3898, 0.3879, 0.3867, 0.3859, 0.3855, 0.3851",\
                 "0.4563, 0.4496, 0.4379, 0.4287, 0.423, 0.4194, 0.4174, 0.4161, 0.4152, 0.4146",\
                 "0.5137, 0.5061, 0.4907, 0.478, 0.4699, 0.4645, 0.4611, 0.459, 0.4575, 0.4565",\
                 "0.5843, 0.5754, 0.5562, 0.5403, 0.529, 0.5216, 0.5166, 0.5132, 0.511, 0.5094",\
                 "0.6666, 0.6562, 0.6334, 0.6131, 0.5991, 0.5892, 0.5825, 0.5776, 0.5745, 0.5723",\
                 "0.7595, 0.7474, 0.7212, 0.6974, 0.6799, 0.667, 0.6579, 0.6516, 0.6473, 0.6442");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3726, 0.3693, 0.3646, 0.3618, 0.3604, 0.3596, 0.3591, 0.3587, 0.3585, 0.3583",\
                 "0.3733, 0.3699, 0.3653, 0.3624, 0.361, 0.3602, 0.3597, 0.3594, 0.3592, 0.359",\
                 "0.3744, 0.3708, 0.3662, 0.3633, 0.3619, 0.3612, 0.3607, 0.3604, 0.3602, 0.3601",\
                 "0.3847, 0.3806, 0.3748, 0.3712, 0.3694, 0.3683, 0.3677, 0.3673, 0.3671, 0.367",\
                 "0.4136, 0.4084, 0.3997, 0.3933, 0.3898, 0.3879, 0.3867, 0.3859, 0.3855, 0.3851",\
                 "0.4563, 0.4496, 0.4379, 0.4287, 0.423, 0.4194, 0.4174, 0.4161, 0.4152, 0.4146",\
                 "0.5137, 0.5061, 0.4907, 0.478, 0.4699, 0.4645, 0.4611, 0.459, 0.4575, 0.4565",\
                 "0.5843, 0.5754, 0.5562, 0.5403, 0.529, 0.5216, 0.5166, 0.5132, 0.511, 0.5094",\
                 "0.6666, 0.6562, 0.6334, 0.6131, 0.5991, 0.5892, 0.5825, 0.5776, 0.5745, 0.5723",\
                 "0.7595, 0.7474, 0.7212, 0.6974, 0.6799, 0.667, 0.6579, 0.6516, 0.6473, 0.6442");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3726, 0.3692, 0.3646, 0.3618, 0.3604, 0.3596, 0.3591, 0.3587, 0.3585, 0.3583",\
                 "0.3733, 0.3699, 0.3653, 0.3624, 0.361, 0.3602, 0.3597, 0.3594, 0.3592, 0.359",\
                 "0.3744, 0.3708, 0.3662, 0.3633, 0.3619, 0.3612, 0.3607, 0.3604, 0.3602, 0.3601",\
                 "0.3847, 0.3806, 0.3748, 0.3713, 0.3694, 0.3683, 0.3677, 0.3673, 0.3672, 0.367",\
                 "0.4135, 0.4084, 0.3997, 0.3933, 0.3898, 0.3879, 0.3867, 0.3859, 0.3854, 0.3851",\
                 "0.4561, 0.4497, 0.4378, 0.4287, 0.4229, 0.4195, 0.4173, 0.416, 0.4152, 0.4146",\
                 "0.5137, 0.5056, 0.4907, 0.478, 0.4698, 0.4645, 0.4611, 0.4589, 0.4575, 0.4566",\
                 "0.5842, 0.5755, 0.5561, 0.5404, 0.5289, 0.5213, 0.5166, 0.5132, 0.5108, 0.5093",\
                 "0.6669, 0.6562, 0.6333, 0.6136, 0.5994, 0.5891, 0.5824, 0.5776, 0.5745, 0.5724",\
                 "0.7589, 0.7474, 0.7212, 0.6974, 0.6799, 0.6669, 0.6579, 0.6516, 0.6472, 0.6442");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3726, 0.3692, 0.3646, 0.3618, 0.3604, 0.3596, 0.3591, 0.3587, 0.3585, 0.3583",\
                 "0.3733, 0.3699, 0.3653, 0.3624, 0.361, 0.3602, 0.3597, 0.3594, 0.3592, 0.359",\
                 "0.3744, 0.3708, 0.3662, 0.3633, 0.3619, 0.3612, 0.3607, 0.3604, 0.3602, 0.3601",\
                 "0.3847, 0.3806, 0.3748, 0.3713, 0.3694, 0.3683, 0.3677, 0.3673, 0.3672, 0.367",\
                 "0.4135, 0.4084, 0.3997, 0.3933, 0.3898, 0.3879, 0.3867, 0.3859, 0.3854, 0.3851",\
                 "0.4561, 0.4497, 0.4378, 0.4287, 0.4229, 0.4195, 0.4173, 0.416, 0.4152, 0.4146",\
                 "0.5137, 0.5056, 0.4907, 0.478, 0.4698, 0.4645, 0.4611, 0.4589, 0.4575, 0.4566",\
                 "0.5842, 0.5755, 0.5561, 0.5404, 0.5289, 0.5213, 0.5166, 0.5132, 0.5108, 0.5093",\
                 "0.6669, 0.6562, 0.6333, 0.6136, 0.5994, 0.5891, 0.5824, 0.5776, 0.5745, 0.5724",\
                 "0.7589, 0.7474, 0.7212, 0.6974, 0.6799, 0.6669, 0.6579, 0.6516, 0.6472, 0.6442");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3726, 0.3692, 0.3646, 0.3618, 0.3604, 0.3596, 0.3591, 0.3587, 0.3585, 0.3583",\
                 "0.3733, 0.3699, 0.3653, 0.3624, 0.361, 0.3602, 0.3597, 0.3594, 0.3592, 0.359",\
                 "0.3744, 0.3708, 0.3662, 0.3633, 0.3619, 0.3612, 0.3607, 0.3604, 0.3602, 0.3601",\
                 "0.3847, 0.3806, 0.3748, 0.3713, 0.3694, 0.3683, 0.3677, 0.3673, 0.3672, 0.367",\
                 "0.4135, 0.4083, 0.3997, 0.3932, 0.3898, 0.3878, 0.3866, 0.3859, 0.3854, 0.385",\
                 "0.4563, 0.4497, 0.4378, 0.4287, 0.4229, 0.4195, 0.4173, 0.416, 0.4152, 0.4146",\
                 "0.5138, 0.5057, 0.4907, 0.478, 0.4698, 0.4645, 0.4611, 0.459, 0.4576, 0.4566",\
                 "0.5843, 0.5754, 0.5563, 0.5403, 0.529, 0.5216, 0.5165, 0.5132, 0.5109, 0.5094",\
                 "0.6669, 0.6562, 0.6334, 0.6136, 0.5994, 0.5892, 0.5825, 0.5776, 0.5745, 0.5724",\
                 "0.7593, 0.7474, 0.721, 0.6975, 0.6799, 0.667, 0.6582, 0.6516, 0.6471, 0.6442");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3726, 0.3692, 0.3646, 0.3618, 0.3604, 0.3596, 0.3591, 0.3587, 0.3585, 0.3583",\
                 "0.3733, 0.3699, 0.3653, 0.3624, 0.361, 0.3602, 0.3597, 0.3594, 0.3592, 0.359",\
                 "0.3744, 0.3708, 0.3662, 0.3633, 0.3619, 0.3612, 0.3607, 0.3604, 0.3602, 0.3601",\
                 "0.3847, 0.3806, 0.3748, 0.3713, 0.3694, 0.3683, 0.3677, 0.3673, 0.3672, 0.367",\
                 "0.4135, 0.4083, 0.3997, 0.3932, 0.3898, 0.3878, 0.3866, 0.3859, 0.3854, 0.385",\
                 "0.4563, 0.4497, 0.4378, 0.4287, 0.4229, 0.4195, 0.4173, 0.416, 0.4152, 0.4146",\
                 "0.5138, 0.5057, 0.4907, 0.478, 0.4698, 0.4645, 0.4611, 0.459, 0.4576, 0.4566",\
                 "0.5843, 0.5754, 0.5563, 0.5403, 0.529, 0.5216, 0.5165, 0.5132, 0.5109, 0.5094",\
                 "0.6669, 0.6562, 0.6334, 0.6136, 0.5994, 0.5892, 0.5825, 0.5776, 0.5745, 0.5724",\
                 "0.7593, 0.7474, 0.721, 0.6975, 0.6799, 0.667, 0.6582, 0.6516, 0.6471, 0.6442");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3558, 0.3525, 0.3478, 0.3452, 0.3436, 0.3428, 0.3423, 0.3419, 0.3417, 0.3415",\
                 "0.3561, 0.3525, 0.3481, 0.3452, 0.3437, 0.3429, 0.3424, 0.342, 0.3419, 0.3417",\
                 "0.357, 0.3535, 0.349, 0.3461, 0.3447, 0.344, 0.3435, 0.3432, 0.3429, 0.3428",\
                 "0.3674, 0.3633, 0.3574, 0.3539, 0.3521, 0.351, 0.3503, 0.35, 0.3498, 0.3497",\
                 "0.3964, 0.391, 0.3824, 0.376, 0.3724, 0.3704, 0.3692, 0.3685, 0.3681, 0.3677",\
                 "0.4387, 0.432, 0.4204, 0.4114, 0.4055, 0.4021, 0.4, 0.3988, 0.3979, 0.3972",\
                 "0.4967, 0.4888, 0.4734, 0.4609, 0.4525, 0.4472, 0.4438, 0.4416, 0.4402, 0.4391",\
                 "0.5674, 0.5581, 0.5389, 0.5229, 0.5116, 0.5041, 0.4994, 0.4959, 0.4938, 0.492",\
                 "0.6492, 0.6387, 0.6158, 0.5961, 0.5819, 0.5718, 0.565, 0.5604, 0.5572, 0.5549",\
                 "0.7418, 0.7301, 0.7035, 0.6801, 0.6627, 0.6496, 0.6406, 0.6343, 0.63, 0.6269");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3558, 0.3525, 0.3478, 0.3452, 0.3436, 0.3428, 0.3423, 0.3419, 0.3417, 0.3415",\
                 "0.3561, 0.3525, 0.3481, 0.3452, 0.3437, 0.3429, 0.3424, 0.342, 0.3419, 0.3417",\
                 "0.357, 0.3535, 0.349, 0.3461, 0.3447, 0.344, 0.3435, 0.3432, 0.3429, 0.3428",\
                 "0.3674, 0.3633, 0.3574, 0.3539, 0.3521, 0.351, 0.3503, 0.35, 0.3498, 0.3497",\
                 "0.3964, 0.391, 0.3824, 0.376, 0.3724, 0.3704, 0.3692, 0.3685, 0.3681, 0.3677",\
                 "0.4387, 0.432, 0.4204, 0.4114, 0.4055, 0.4021, 0.4, 0.3988, 0.3979, 0.3972",\
                 "0.4967, 0.4888, 0.4734, 0.4609, 0.4525, 0.4472, 0.4438, 0.4416, 0.4402, 0.4391",\
                 "0.5674, 0.5581, 0.5389, 0.5229, 0.5116, 0.5041, 0.4994, 0.4959, 0.4938, 0.492",\
                 "0.6492, 0.6387, 0.6158, 0.5961, 0.5819, 0.5718, 0.565, 0.5604, 0.5572, 0.5549",\
                 "0.7418, 0.7301, 0.7035, 0.6801, 0.6627, 0.6496, 0.6406, 0.6343, 0.63, 0.6269");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3726, 0.3693, 0.3646, 0.3618, 0.3603, 0.3595, 0.359, 0.3587, 0.3585, 0.3583",\
                 "0.3733, 0.3699, 0.3654, 0.3624, 0.361, 0.3602, 0.3598, 0.3594, 0.3592, 0.359",\
                 "0.3744, 0.3708, 0.3662, 0.3633, 0.3619, 0.3612, 0.3607, 0.3604, 0.3602, 0.3601",\
                 "0.3847, 0.3806, 0.3748, 0.3713, 0.3694, 0.3683, 0.3677, 0.3673, 0.3671, 0.367",\
                 "0.4136, 0.4084, 0.3997, 0.3933, 0.3898, 0.3879, 0.3867, 0.3859, 0.3854, 0.3851",\
                 "0.4563, 0.4497, 0.4378, 0.4287, 0.4229, 0.4195, 0.4174, 0.4161, 0.4152, 0.4146",\
                 "0.514, 0.5061, 0.4907, 0.478, 0.4699, 0.4645, 0.4611, 0.4588, 0.4574, 0.4564",\
                 "0.5842, 0.5754, 0.5564, 0.5404, 0.5289, 0.5214, 0.5165, 0.5131, 0.511, 0.5093",\
                 "0.6665, 0.6561, 0.6333, 0.6134, 0.5991, 0.5891, 0.5825, 0.5775, 0.5744, 0.5722",\
                 "0.7594, 0.7474, 0.721, 0.6972, 0.6796, 0.6669, 0.6578, 0.6516, 0.6474, 0.6442");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.3726, 0.3693, 0.3646, 0.3618, 0.3603, 0.3595, 0.359, 0.3587, 0.3585, 0.3583",\
                 "0.3733, 0.3699, 0.3654, 0.3624, 0.361, 0.3602, 0.3598, 0.3594, 0.3592, 0.359",\
                 "0.3744, 0.3708, 0.3662, 0.3633, 0.3619, 0.3612, 0.3607, 0.3604, 0.3602, 0.3601",\
                 "0.3847, 0.3806, 0.3748, 0.3713, 0.3694, 0.3683, 0.3677, 0.3673, 0.3671, 0.367",\
                 "0.4136, 0.4084, 0.3997, 0.3933, 0.3898, 0.3879, 0.3867, 0.3859, 0.3854, 0.3851",\
                 "0.4563, 0.4497, 0.4378, 0.4287, 0.4229, 0.4195, 0.4174, 0.4161, 0.4152, 0.4146",\
                 "0.514, 0.5061, 0.4907, 0.478, 0.4699, 0.4645, 0.4611, 0.4588, 0.4574, 0.4564",\
                 "0.5842, 0.5754, 0.5564, 0.5404, 0.5289, 0.5214, 0.5165, 0.5131, 0.511, 0.5093",\
                 "0.6665, 0.6561, 0.6333, 0.6134, 0.5991, 0.5891, 0.5825, 0.5775, 0.5744, 0.5722",\
                 "0.7594, 0.7474, 0.721, 0.6972, 0.6796, 0.6669, 0.6578, 0.6516, 0.6474, 0.6442");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5787, 0.5751, 0.5702, 0.5674, 0.5657, 0.5648, 0.5643, 0.5639, 0.5636, 0.5634",\
                 "0.5794, 0.5758, 0.5709, 0.5681, 0.5664, 0.5655, 0.565, 0.5646, 0.5644, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5685, 0.567, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5942, 0.5899, 0.5838, 0.5801, 0.5781, 0.577, 0.5763, 0.576, 0.5758, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.61, 0.6088, 0.6079, 0.6074, 0.607",\
                 "0.7051, 0.6981, 0.6858, 0.6763, 0.6703, 0.6667, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8015, 0.7934, 0.7774, 0.7646, 0.756, 0.7505, 0.7469, 0.7444, 0.7429, 0.7418",\
                 "0.9215, 0.9123, 0.8927, 0.8764, 0.8647, 0.8568, 0.8518, 0.8482, 0.8458, 0.8441",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9843, 0.9769, 0.972, 0.9686, 0.9661",\
                 "1.222, 1.21, 1.184, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5787, 0.5751, 0.5702, 0.5674, 0.5657, 0.5648, 0.5643, 0.5639, 0.5636, 0.5634",\
                 "0.5794, 0.5758, 0.5709, 0.5681, 0.5664, 0.5655, 0.565, 0.5646, 0.5644, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5685, 0.567, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5942, 0.5899, 0.5838, 0.5801, 0.5781, 0.577, 0.5763, 0.576, 0.5758, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.61, 0.6088, 0.6079, 0.6074, 0.607",\
                 "0.7051, 0.6981, 0.6858, 0.6763, 0.6703, 0.6667, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8015, 0.7934, 0.7774, 0.7646, 0.756, 0.7505, 0.7469, 0.7444, 0.7429, 0.7418",\
                 "0.9215, 0.9123, 0.8927, 0.8764, 0.8647, 0.8568, 0.8518, 0.8482, 0.8458, 0.8441",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9843, 0.9769, 0.972, 0.9686, 0.9661",\
                 "1.222, 1.21, 1.184, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5788, 0.5751, 0.5702, 0.5674, 0.5657, 0.5648, 0.5643, 0.5639, 0.5636, 0.5635",\
                 "0.5794, 0.5758, 0.5709, 0.5681, 0.5664, 0.5655, 0.565, 0.5646, 0.5644, 0.5642",\
                 "0.5802, 0.5764, 0.5714, 0.5685, 0.567, 0.566, 0.5655, 0.5652, 0.565, 0.5649",\
                 "0.5942, 0.5899, 0.5838, 0.5801, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.607",\
                 "0.705, 0.6981, 0.6857, 0.6762, 0.6703, 0.6667, 0.6645, 0.6631, 0.6621, 0.6614",\
                 "0.8014, 0.7934, 0.7774, 0.7646, 0.7558, 0.7503, 0.7468, 0.7445, 0.7429, 0.7418",\
                 "0.9215, 0.9122, 0.8927, 0.8765, 0.8646, 0.8568, 0.8518, 0.8482, 0.8458, 0.8441",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9844, 0.9769, 0.972, 0.9686, 0.9661",\
                 "1.222, 1.211, 1.184, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5788, 0.5751, 0.5702, 0.5674, 0.5657, 0.5648, 0.5643, 0.5639, 0.5636, 0.5635",\
                 "0.5794, 0.5758, 0.5709, 0.5681, 0.5664, 0.5655, 0.565, 0.5646, 0.5644, 0.5642",\
                 "0.5802, 0.5764, 0.5714, 0.5685, 0.567, 0.566, 0.5655, 0.5652, 0.565, 0.5649",\
                 "0.5942, 0.5899, 0.5838, 0.5801, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.607",\
                 "0.705, 0.6981, 0.6857, 0.6762, 0.6703, 0.6667, 0.6645, 0.6631, 0.6621, 0.6614",\
                 "0.8014, 0.7934, 0.7774, 0.7646, 0.7558, 0.7503, 0.7468, 0.7445, 0.7429, 0.7418",\
                 "0.9215, 0.9122, 0.8927, 0.8765, 0.8646, 0.8568, 0.8518, 0.8482, 0.8458, 0.8441",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9844, 0.9769, 0.972, 0.9686, 0.9661",\
                 "1.222, 1.211, 1.184, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5787, 0.5751, 0.5701, 0.5674, 0.5656, 0.5647, 0.5642, 0.5639, 0.5636, 0.5634",\
                 "0.5794, 0.5757, 0.5709, 0.568, 0.5664, 0.5655, 0.5649, 0.5646, 0.5644, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5685, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5801, 0.5781, 0.577, 0.5763, 0.5759, 0.5757, 0.5755",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.607",\
                 "0.7049, 0.6982, 0.6858, 0.6763, 0.6703, 0.6667, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8015, 0.7933, 0.7774, 0.7647, 0.7559, 0.7504, 0.7469, 0.7444, 0.7428, 0.7418",\
                 "0.9217, 0.9125, 0.8928, 0.8765, 0.8647, 0.8569, 0.8518, 0.8483, 0.8459, 0.8442",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9843, 0.9768, 0.9719, 0.9686, 0.9661",\
                 "1.222, 1.21, 1.183, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.105");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5787, 0.5751, 0.5701, 0.5674, 0.5656, 0.5647, 0.5642, 0.5639, 0.5636, 0.5634",\
                 "0.5794, 0.5757, 0.5709, 0.568, 0.5664, 0.5655, 0.5649, 0.5646, 0.5644, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5685, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5801, 0.5781, 0.577, 0.5763, 0.5759, 0.5757, 0.5755",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.607",\
                 "0.7049, 0.6982, 0.6858, 0.6763, 0.6703, 0.6667, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8015, 0.7933, 0.7774, 0.7647, 0.7559, 0.7504, 0.7469, 0.7444, 0.7428, 0.7418",\
                 "0.9217, 0.9125, 0.8928, 0.8765, 0.8647, 0.8569, 0.8518, 0.8483, 0.8459, 0.8442",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9843, 0.9768, 0.9719, 0.9686, 0.9661",\
                 "1.222, 1.21, 1.183, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.105");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5788, 0.5752, 0.5703, 0.5674, 0.5657, 0.5649, 0.5643, 0.564, 0.5637, 0.5636",\
                 "0.5794, 0.5758, 0.5709, 0.568, 0.5664, 0.5655, 0.565, 0.5646, 0.5643, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5684, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5801, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.6069",\
                 "0.705, 0.6982, 0.6859, 0.6763, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8016, 0.7932, 0.7773, 0.7645, 0.7558, 0.7503, 0.7468, 0.7445, 0.7429, 0.7419",\
                 "0.9218, 0.9124, 0.8926, 0.8763, 0.8648, 0.8569, 0.8518, 0.8483, 0.8459, 0.8442",\
                 "1.063, 1.053, 1.029, 1.009, 0.9946, 0.9842, 0.9771, 0.9722, 0.9687, 0.9662",\
                 "1.222, 1.21, 1.184, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5788, 0.5752, 0.5703, 0.5674, 0.5657, 0.5649, 0.5643, 0.564, 0.5637, 0.5636",\
                 "0.5794, 0.5758, 0.5709, 0.568, 0.5664, 0.5655, 0.565, 0.5646, 0.5643, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5684, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5801, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.6069",\
                 "0.705, 0.6982, 0.6859, 0.6763, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8016, 0.7932, 0.7773, 0.7645, 0.7558, 0.7503, 0.7468, 0.7445, 0.7429, 0.7419",\
                 "0.9218, 0.9124, 0.8926, 0.8763, 0.8648, 0.8569, 0.8518, 0.8483, 0.8459, 0.8442",\
                 "1.063, 1.053, 1.029, 1.009, 0.9946, 0.9842, 0.9771, 0.9722, 0.9687, 0.9662",\
                 "1.222, 1.21, 1.184, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5789, 0.5752, 0.5703, 0.5674, 0.5658, 0.5648, 0.5643, 0.564, 0.5637, 0.5635",\
                 "0.5794, 0.5758, 0.5708, 0.568, 0.5663, 0.5654, 0.5649, 0.5645, 0.5643, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5684, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5802, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.6069",\
                 "0.7051, 0.6982, 0.6859, 0.6763, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8016, 0.7932, 0.7773, 0.7645, 0.7558, 0.7504, 0.7468, 0.7445, 0.7429, 0.7418",\
                 "0.9217, 0.9123, 0.8923, 0.8763, 0.8648, 0.8569, 0.8518, 0.8483, 0.8459, 0.8442",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9842, 0.9772, 0.9722, 0.9689, 0.9665",\
                 "1.222, 1.21, 1.184, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5789, 0.5752, 0.5703, 0.5674, 0.5658, 0.5648, 0.5643, 0.564, 0.5637, 0.5635",\
                 "0.5794, 0.5758, 0.5708, 0.568, 0.5663, 0.5654, 0.5649, 0.5645, 0.5643, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5684, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5802, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.6069",\
                 "0.7051, 0.6982, 0.6859, 0.6763, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8016, 0.7932, 0.7773, 0.7645, 0.7558, 0.7504, 0.7468, 0.7445, 0.7429, 0.7418",\
                 "0.9217, 0.9123, 0.8923, 0.8763, 0.8648, 0.8569, 0.8518, 0.8483, 0.8459, 0.8442",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9842, 0.9772, 0.9722, 0.9689, 0.9665",\
                 "1.222, 1.21, 1.184, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5789, 0.5752, 0.5703, 0.5674, 0.5658, 0.5648, 0.5643, 0.564, 0.5637, 0.5635",\
                 "0.5794, 0.5758, 0.5709, 0.568, 0.5663, 0.5654, 0.5649, 0.5645, 0.5643, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5684, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5802, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.6069",\
                 "0.7051, 0.6982, 0.6859, 0.6763, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8016, 0.7932, 0.7773, 0.7645, 0.7558, 0.7504, 0.7469, 0.7446, 0.7431, 0.7418",\
                 "0.9217, 0.9123, 0.8924, 0.8764, 0.8648, 0.857, 0.8518, 0.8483, 0.8459, 0.8442",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9842, 0.9772, 0.9723, 0.9689, 0.9665",\
                 "1.222, 1.21, 1.184, 1.16, 1.142, 1.13, 1.12, 1.114, 1.109, 1.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5789, 0.5752, 0.5703, 0.5674, 0.5658, 0.5648, 0.5643, 0.564, 0.5637, 0.5635",\
                 "0.5794, 0.5758, 0.5709, 0.568, 0.5663, 0.5654, 0.5649, 0.5645, 0.5643, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5684, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5802, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6314, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.6069",\
                 "0.7051, 0.6982, 0.6859, 0.6763, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8016, 0.7932, 0.7773, 0.7645, 0.7558, 0.7504, 0.7469, 0.7446, 0.7431, 0.7418",\
                 "0.9217, 0.9123, 0.8924, 0.8764, 0.8648, 0.857, 0.8518, 0.8483, 0.8459, 0.8442",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9842, 0.9772, 0.9723, 0.9689, 0.9665",\
                 "1.222, 1.21, 1.184, 1.16, 1.142, 1.13, 1.12, 1.114, 1.109, 1.106");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5787, 0.5751, 0.5701, 0.5674, 0.5656, 0.5647, 0.5642, 0.5639, 0.5636, 0.5634",\
                 "0.5794, 0.5757, 0.5709, 0.568, 0.5664, 0.5655, 0.5649, 0.5646, 0.5644, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5685, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5801, 0.5781, 0.5769, 0.5763, 0.5759, 0.5757, 0.5755",\
                 "0.6369, 0.6314, 0.6224, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.607",\
                 "0.7049, 0.6981, 0.6858, 0.6764, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8017, 0.7934, 0.7775, 0.7648, 0.7562, 0.7506, 0.747, 0.7446, 0.743, 0.7419",\
                 "0.9217, 0.9124, 0.8927, 0.8763, 0.8646, 0.8569, 0.8518, 0.8482, 0.8458, 0.8441",\
                 "1.063, 1.053, 1.029, 1.009, 0.9948, 0.9845, 0.9769, 0.972, 0.9686, 0.9661",\
                 "1.221, 1.21, 1.184, 1.16, 1.142, 1.129, 1.12, 1.113, 1.109, 1.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5787, 0.5751, 0.5701, 0.5674, 0.5656, 0.5647, 0.5642, 0.5639, 0.5636, 0.5634",\
                 "0.5794, 0.5757, 0.5709, 0.568, 0.5664, 0.5655, 0.5649, 0.5646, 0.5644, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5685, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5801, 0.5781, 0.5769, 0.5763, 0.5759, 0.5757, 0.5755",\
                 "0.6369, 0.6314, 0.6224, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.607",\
                 "0.7049, 0.6981, 0.6858, 0.6764, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8017, 0.7934, 0.7775, 0.7648, 0.7562, 0.7506, 0.747, 0.7446, 0.743, 0.7419",\
                 "0.9217, 0.9124, 0.8927, 0.8763, 0.8646, 0.8569, 0.8518, 0.8482, 0.8458, 0.8441",\
                 "1.063, 1.053, 1.029, 1.009, 0.9948, 0.9845, 0.9769, 0.972, 0.9686, 0.9661",\
                 "1.221, 1.21, 1.184, 1.16, 1.142, 1.129, 1.12, 1.113, 1.109, 1.106");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5789, 0.5752, 0.5703, 0.5675, 0.5658, 0.5649, 0.5643, 0.564, 0.5637, 0.5635",\
                 "0.5794, 0.5758, 0.5709, 0.568, 0.5663, 0.5654, 0.5649, 0.5645, 0.5643, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5684, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5802, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6313, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.6069",\
                 "0.7051, 0.6982, 0.6859, 0.6765, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8014, 0.7933, 0.7774, 0.7646, 0.7558, 0.7504, 0.7469, 0.7445, 0.743, 0.7419",\
                 "0.9215, 0.9126, 0.8924, 0.8764, 0.8649, 0.8569, 0.8519, 0.8483, 0.8459, 0.8443",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9842, 0.9772, 0.9721, 0.9687, 0.9662",\
                 "1.222, 1.21, 1.183, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.5789, 0.5752, 0.5703, 0.5675, 0.5658, 0.5649, 0.5643, 0.564, 0.5637, 0.5635",\
                 "0.5794, 0.5758, 0.5709, 0.568, 0.5663, 0.5654, 0.5649, 0.5645, 0.5643, 0.5642",\
                 "0.5801, 0.5764, 0.5714, 0.5684, 0.5669, 0.566, 0.5655, 0.5652, 0.565, 0.5648",\
                 "0.5941, 0.5899, 0.5838, 0.5802, 0.5781, 0.577, 0.5763, 0.576, 0.5757, 0.5756",\
                 "0.6369, 0.6313, 0.6223, 0.6159, 0.612, 0.6099, 0.6087, 0.6079, 0.6073, 0.6069",\
                 "0.7051, 0.6982, 0.6859, 0.6765, 0.6704, 0.6668, 0.6645, 0.6631, 0.6622, 0.6615",\
                 "0.8014, 0.7933, 0.7774, 0.7646, 0.7558, 0.7504, 0.7469, 0.7445, 0.743, 0.7419",\
                 "0.9215, 0.9126, 0.8924, 0.8764, 0.8649, 0.8569, 0.8519, 0.8483, 0.8459, 0.8443",\
                 "1.063, 1.053, 1.029, 1.009, 0.9947, 0.9842, 0.9772, 0.9721, 0.9687, 0.9662",\
                 "1.222, 1.21, 1.183, 1.16, 1.142, 1.129, 1.12, 1.114, 1.109, 1.106");
          /* 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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7212, 0.7455, 0.814, 0.9173, 1.058, 1.247, 1.495, 1.806, 2.187, 2.64",\
                 "0.7289, 0.753, 0.8214, 0.9247, 1.065, 1.255, 1.502, 1.814, 2.194, 2.648",\
                 "0.758, 0.7821, 0.8506, 0.9539, 1.095, 1.284, 1.531, 1.843, 2.223, 2.677",\
                 "0.8103, 0.8345, 0.9029, 1.006, 1.147, 1.336, 1.584, 1.895, 2.276, 2.729",\
                 "0.8615, 0.8858, 0.9541, 1.057, 1.198, 1.388, 1.635, 1.946, 2.327, 2.78",\
                 "0.9078, 0.9319, 1, 1.104, 1.244, 1.434, 1.681, 1.993, 2.373, 2.827",\
                 "0.9466, 0.9708, 1.039, 1.142, 1.283, 1.472, 1.72, 2.031, 2.412, 2.866",\
                 "0.9765, 1.001, 1.069, 1.172, 1.313, 1.503, 1.75, 2.062, 2.442, 2.895",\
                 "0.9947, 1.019, 1.087, 1.19, 1.331, 1.521, 1.768, 2.079, 2.46, 2.913",\
                 "1, 1.024, 1.093, 1.196, 1.337, 1.526, 1.773, 2.085, 2.465, 2.919");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7831, 0.812, 0.8992, 1.045, 1.26, 1.561, 1.957, 2.457, 3.068, 3.795",\
                 "0.7905, 0.8195, 0.9068, 1.052, 1.268, 1.568, 1.965, 2.464, 3.074, 3.803",\
                 "0.8192, 0.8481, 0.9354, 1.081, 1.296, 1.597, 1.993, 2.493, 3.104, 3.829",\
                 "0.8706, 0.8995, 0.9869, 1.132, 1.347, 1.648, 2.045, 2.544, 3.153, 3.882",\
                 "0.9215, 0.9504, 1.038, 1.183, 1.398, 1.699, 2.095, 2.595, 3.206, 3.932",\
                 "0.9672, 0.9961, 1.083, 1.229, 1.444, 1.745, 2.141, 2.641, 3.251, 3.978",\
                 "1.006, 1.034, 1.122, 1.268, 1.483, 1.784, 2.18, 2.68, 3.29, 4.016",\
                 "1.036, 1.065, 1.152, 1.298, 1.513, 1.814, 2.21, 2.709, 3.319, 4.048",\
                 "1.056, 1.085, 1.172, 1.317, 1.533, 1.833, 2.23, 2.729, 3.338, 4.065",\
                 "1.062, 1.091, 1.179, 1.324, 1.539, 1.84, 2.236, 2.735, 3.345, 4.072");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.095, 0.119, 0.1936, 0.3163, 0.515, 0.8108, 1.211, 1.719, 2.343, 3.083",\
                 "0.09486, 0.1192, 0.1936, 0.3157, 0.5147, 0.8112, 1.211, 1.72, 2.339, 3.085",\
                 "0.09486, 0.1191, 0.1937, 0.3157, 0.5142, 0.811, 1.212, 1.721, 2.34, 3.081",\
                 "0.0948, 0.119, 0.1938, 0.3162, 0.5144, 0.8106, 1.211, 1.72, 2.342, 3.082",\
                 "0.0948, 0.119, 0.1938, 0.3156, 0.5148, 0.8106, 1.211, 1.72, 2.342, 3.082",\
                 "0.0946, 0.1192, 0.1934, 0.3156, 0.5146, 0.8104, 1.211, 1.719, 2.34, 3.083",\
                 "0.0948, 0.119, 0.1936, 0.3158, 0.5144, 0.8106, 1.211, 1.72, 2.339, 3.086",\
                 "0.095, 0.1192, 0.1936, 0.3156, 0.5142, 0.8108, 1.211, 1.718, 2.34, 3.081",\
                 "0.0946, 0.119, 0.1934, 0.3156, 0.5142, 0.8106, 1.211, 1.719, 2.339, 3.078",\
                 "0.0944, 0.119, 0.1934, 0.3162, 0.5144, 0.8104, 1.211, 1.719, 2.339, 3.079");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.1161, 0.1517, 0.2716, 0.488, 0.8442, 1.359, 2.041, 2.906, 3.958, 5.213",\
                 "0.1164, 0.1518, 0.2715, 0.4881, 0.8446, 1.361, 2.044, 2.904, 3.95, 5.213",\
                 "0.1161, 0.1518, 0.2717, 0.4882, 0.844, 1.359, 2.041, 2.906, 3.952, 5.206",\
                 "0.1164, 0.1518, 0.2716, 0.4884, 0.8456, 1.361, 2.044, 2.904, 3.95, 5.213",\
                 "0.1162, 0.1516, 0.2716, 0.4882, 0.8444, 1.359, 2.042, 2.904, 3.959, 5.202",\
                 "0.1154, 0.1516, 0.2716, 0.488, 0.8442, 1.361, 2.042, 2.906, 3.956, 5.209",\
                 "0.116, 0.1518, 0.2718, 0.4884, 0.8436, 1.359, 2.04, 2.906, 3.958, 5.204",\
                 "0.1162, 0.1516, 0.2714, 0.488, 0.8452, 1.358, 2.04, 2.902, 3.953, 5.204",\
                 "0.1156, 0.1516, 0.2716, 0.4878, 0.8446, 1.359, 2.04, 2.899, 3.948, 5.205",\
                 "0.1154, 0.1514, 0.2718, 0.4878, 0.8442, 1.36, 2.042, 2.9, 3.947, 5.199");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7213, 0.7456, 0.8139, 0.9172, 1.058, 1.247, 1.495, 1.806, 2.187, 2.64",\
                 "0.7289, 0.7531, 0.8215, 0.9248, 1.065, 1.255, 1.502, 1.814, 2.194, 2.648",\
                 "0.758, 0.7821, 0.8506, 0.9539, 1.095, 1.284, 1.531, 1.843, 2.223, 2.677",\
                 "0.8103, 0.8345, 0.9029, 1.006, 1.147, 1.336, 1.584, 1.895, 2.276, 2.729",\
                 "0.8616, 0.8858, 0.9541, 1.058, 1.198, 1.388, 1.635, 1.947, 2.327, 2.781",\
                 "0.9078, 0.9321, 1.001, 1.104, 1.244, 1.434, 1.681, 1.993, 2.373, 2.827",\
                 "0.9465, 0.9708, 1.039, 1.142, 1.283, 1.472, 1.72, 2.031, 2.412, 2.865",\
                 "0.9765, 1.001, 1.069, 1.172, 1.313, 1.503, 1.75, 2.062, 2.442, 2.895",\
                 "0.9947, 1.019, 1.087, 1.19, 1.331, 1.521, 1.768, 2.08, 2.46, 2.913",\
                 "1, 1.024, 1.093, 1.196, 1.337, 1.526, 1.774, 2.085, 2.466, 2.919");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7831, 0.812, 0.8994, 1.045, 1.26, 1.561, 1.957, 2.457, 3.068, 3.793",\
                 "0.7907, 0.8195, 0.9069, 1.052, 1.268, 1.568, 1.965, 2.464, 3.075, 3.801",\
                 "0.8192, 0.8481, 0.9354, 1.081, 1.296, 1.597, 1.993, 2.493, 3.104, 3.829",\
                 "0.8706, 0.8994, 0.9868, 1.132, 1.347, 1.648, 2.045, 2.544, 3.153, 3.882",\
                 "0.9215, 0.9503, 1.038, 1.183, 1.398, 1.699, 2.096, 2.595, 3.206, 3.932",\
                 "0.9672, 0.996, 1.083, 1.229, 1.444, 1.745, 2.141, 2.64, 3.251, 3.979",\
                 "1.006, 1.034, 1.122, 1.267, 1.483, 1.784, 2.18, 2.68, 3.29, 4.016",\
                 "1.036, 1.065, 1.152, 1.298, 1.513, 1.814, 2.21, 2.709, 3.319, 4.048",\
                 "1.056, 1.085, 1.172, 1.317, 1.533, 1.833, 2.23, 2.729, 3.338, 4.065",\
                 "1.062, 1.091, 1.179, 1.324, 1.539, 1.84, 2.236, 2.736, 3.346, 4.072");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09488, 0.119, 0.1937, 0.3156, 0.5146, 0.811, 1.212, 1.719, 2.34, 3.082",\
                 "0.09484, 0.119, 0.1936, 0.3159, 0.5148, 0.8106, 1.211, 1.72, 2.342, 3.082",\
                 "0.09486, 0.1191, 0.1937, 0.3159, 0.5142, 0.811, 1.212, 1.721, 2.34, 3.081",\
                 "0.0948, 0.119, 0.1938, 0.3162, 0.515, 0.8106, 1.211, 1.72, 2.342, 3.086",\
                 "0.0946, 0.119, 0.1936, 0.3156, 0.5144, 0.8106, 1.212, 1.719, 2.342, 3.082",\
                 "0.0944, 0.1188, 0.1934, 0.3158, 0.515, 0.8104, 1.211, 1.719, 2.34, 3.084",\
                 "0.0946, 0.119, 0.1936, 0.3162, 0.5142, 0.8106, 1.211, 1.719, 2.342, 3.084",\
                 "0.095, 0.1192, 0.1936, 0.3156, 0.5142, 0.8112, 1.211, 1.719, 2.34, 3.08",\
                 "0.0948, 0.1192, 0.1938, 0.316, 0.5146, 0.8108, 1.211, 1.719, 2.339, 3.079",\
                 "0.0948, 0.119, 0.1936, 0.3154, 0.5142, 0.8108, 1.212, 1.72, 2.34, 3.08");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.116, 0.1518, 0.2719, 0.4881, 0.844, 1.359, 2.04, 2.906, 3.958, 5.206",\
                 "0.116, 0.1519, 0.2719, 0.4877, 0.8454, 1.361, 2.044, 2.902, 3.959, 5.202",\
                 "0.1161, 0.1518, 0.2717, 0.4882, 0.844, 1.359, 2.041, 2.906, 3.952, 5.206",\
                 "0.1164, 0.1518, 0.272, 0.4882, 0.8454, 1.361, 2.041, 2.906, 3.951, 5.213",\
                 "0.116, 0.1518, 0.272, 0.488, 0.8448, 1.361, 2.043, 2.905, 3.955, 5.208",\
                 "0.1156, 0.1516, 0.2716, 0.4876, 0.8442, 1.361, 2.042, 2.901, 3.953, 5.204",\
                 "0.116, 0.1518, 0.2716, 0.488, 0.8442, 1.359, 2.04, 2.906, 3.958, 5.204",\
                 "0.1162, 0.1516, 0.2714, 0.488, 0.8452, 1.358, 2.039, 2.902, 3.952, 5.204",\
                 "0.1156, 0.1516, 0.2718, 0.488, 0.8444, 1.359, 2.04, 2.899, 3.953, 5.202",\
                 "0.1158, 0.1514, 0.2716, 0.488, 0.8442, 1.36, 2.041, 2.901, 3.947, 5.203");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7214, 0.7456, 0.8141, 0.9174, 1.058, 1.248, 1.495, 1.807, 2.187, 2.64",\
                 "0.7289, 0.753, 0.8215, 0.9248, 1.065, 1.255, 1.502, 1.814, 2.194, 2.648",\
                 "0.758, 0.7822, 0.8507, 0.954, 1.095, 1.284, 1.531, 1.843, 2.223, 2.677",\
                 "0.8103, 0.8346, 0.903, 1.006, 1.147, 1.336, 1.584, 1.895, 2.276, 2.729",\
                 "0.8616, 0.8857, 0.9542, 1.058, 1.198, 1.388, 1.635, 1.947, 2.327, 2.78",\
                 "0.9079, 0.9322, 1, 1.104, 1.245, 1.434, 1.681, 1.993, 2.373, 2.826",\
                 "0.9468, 0.9711, 1.039, 1.143, 1.283, 1.473, 1.72, 2.032, 2.412, 2.866",\
                 "0.9766, 1.001, 1.069, 1.172, 1.313, 1.503, 1.75, 2.062, 2.442, 2.895",\
                 "0.9947, 1.019, 1.087, 1.191, 1.331, 1.521, 1.768, 2.08, 2.46, 2.913",\
                 "0.9999, 1.024, 1.093, 1.196, 1.337, 1.526, 1.773, 2.085, 2.466, 2.919");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7831, 0.812, 0.8994, 1.045, 1.26, 1.561, 1.957, 2.457, 3.068, 3.793",\
                 "0.7906, 0.8194, 0.9068, 1.052, 1.268, 1.568, 1.965, 2.464, 3.074, 3.802",\
                 "0.8192, 0.8481, 0.9354, 1.081, 1.296, 1.597, 1.993, 2.493, 3.104, 3.829",\
                 "0.8706, 0.8995, 0.9869, 1.132, 1.348, 1.648, 2.045, 2.544, 3.155, 3.881",\
                 "0.9215, 0.9503, 1.038, 1.183, 1.398, 1.699, 2.096, 2.595, 3.206, 3.932",\
                 "0.9672, 0.996, 1.083, 1.229, 1.444, 1.745, 2.141, 2.641, 3.251, 3.978",\
                 "1.006, 1.034, 1.122, 1.267, 1.483, 1.783, 2.18, 2.679, 3.29, 4.016",\
                 "1.036, 1.065, 1.152, 1.298, 1.513, 1.814, 2.21, 2.709, 3.319, 4.048",\
                 "1.056, 1.085, 1.172, 1.317, 1.532, 1.833, 2.229, 2.729, 3.338, 4.065",\
                 "1.062, 1.091, 1.179, 1.324, 1.539, 1.84, 2.236, 2.735, 3.345, 4.072");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0949, 0.1193, 0.1935, 0.3162, 0.5143, 0.8104, 1.211, 1.721, 2.34, 3.085",\
                 "0.09486, 0.1191, 0.1936, 0.3157, 0.5141, 0.8112, 1.212, 1.72, 2.34, 3.084",\
                 "0.09486, 0.1191, 0.1938, 0.3158, 0.5142, 0.8112, 1.212, 1.721, 2.34, 3.084",\
                 "0.095, 0.1194, 0.1936, 0.3158, 0.5142, 0.8104, 1.211, 1.721, 2.34, 3.085",\
                 "0.0948, 0.1192, 0.1936, 0.3156, 0.5154, 0.8108, 1.211, 1.72, 2.342, 3.082",\
                 "0.0948, 0.1192, 0.1934, 0.3156, 0.5144, 0.8104, 1.211, 1.719, 2.34, 3.084",\
                 "0.0948, 0.1192, 0.1936, 0.3156, 0.5144, 0.8108, 1.211, 1.721, 2.339, 3.084",\
                 "0.0948, 0.119, 0.1936, 0.3156, 0.515, 0.811, 1.211, 1.719, 2.339, 3.082",\
                 "0.0946, 0.1192, 0.1936, 0.3156, 0.5144, 0.8106, 1.211, 1.719, 2.339, 3.079",\
                 "0.0948, 0.1192, 0.1936, 0.3156, 0.5142, 0.8118, 1.211, 1.719, 2.34, 3.08");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.1162, 0.1517, 0.2717, 0.4881, 0.8442, 1.359, 2.041, 2.905, 3.952, 5.205",\
                 "0.1168, 0.1517, 0.2715, 0.4881, 0.8438, 1.36, 2.044, 2.903, 3.95, 5.213",\
                 "0.1161, 0.1518, 0.2717, 0.4882, 0.844, 1.359, 2.041, 2.906, 3.952, 5.206",\
                 "0.1164, 0.1518, 0.272, 0.4878, 0.844, 1.359, 2.041, 2.905, 3.952, 5.205",\
                 "0.116, 0.1518, 0.272, 0.488, 0.8448, 1.361, 2.043, 2.905, 3.956, 5.208",\
                 "0.1158, 0.1516, 0.2716, 0.4882, 0.8448, 1.362, 2.043, 2.906, 3.957, 5.207",\
                 "0.116, 0.1518, 0.2714, 0.488, 0.8444, 1.359, 2.041, 2.906, 3.952, 5.203",\
                 "0.1162, 0.1516, 0.2714, 0.488, 0.8452, 1.358, 2.039, 2.902, 3.952, 5.204",\
                 "0.1156, 0.1516, 0.2716, 0.4882, 0.8448, 1.359, 2.039, 2.899, 3.953, 5.207",\
                 "0.1158, 0.1516, 0.2714, 0.4882, 0.8434, 1.36, 2.041, 2.898, 3.947, 5.204");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7213, 0.7455, 0.814, 0.9173, 1.058, 1.247, 1.495, 1.806, 2.187, 2.64",\
                 "0.7288, 0.753, 0.8214, 0.9247, 1.065, 1.255, 1.502, 1.814, 2.194, 2.648",\
                 "0.758, 0.7821, 0.8506, 0.9539, 1.095, 1.284, 1.531, 1.843, 2.223, 2.677",\
                 "0.8103, 0.8345, 0.9029, 1.006, 1.147, 1.336, 1.584, 1.895, 2.276, 2.729",\
                 "0.8616, 0.8858, 0.9541, 1.058, 1.198, 1.388, 1.635, 1.946, 2.327, 2.781",\
                 "0.9079, 0.9321, 1, 1.104, 1.244, 1.434, 1.681, 1.993, 2.373, 2.827",\
                 "0.9467, 0.9709, 1.039, 1.143, 1.283, 1.473, 1.72, 2.032, 2.412, 2.866",\
                 "0.9766, 1.001, 1.069, 1.173, 1.313, 1.503, 1.75, 2.062, 2.442, 2.895",\
                 "0.9946, 1.019, 1.087, 1.19, 1.331, 1.521, 1.768, 2.079, 2.46, 2.913",\
                 "0.9999, 1.024, 1.093, 1.196, 1.337, 1.526, 1.773, 2.085, 2.466, 2.919");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7831, 0.812, 0.8994, 1.045, 1.26, 1.561, 1.957, 2.457, 3.068, 3.793",\
                 "0.7904, 0.8193, 0.9068, 1.052, 1.268, 1.568, 1.965, 2.464, 3.075, 3.801",\
                 "0.8192, 0.8481, 0.9354, 1.081, 1.296, 1.597, 1.993, 2.493, 3.104, 3.829",\
                 "0.8705, 0.8994, 0.9869, 1.132, 1.347, 1.648, 2.045, 2.544, 3.154, 3.881",\
                 "0.9216, 0.9505, 1.038, 1.183, 1.398, 1.699, 2.096, 2.595, 3.206, 3.931",\
                 "0.9672, 0.9961, 1.083, 1.229, 1.444, 1.745, 2.141, 2.641, 3.251, 3.978",\
                 "1.006, 1.035, 1.122, 1.268, 1.483, 1.784, 2.18, 2.68, 3.289, 4.017",\
                 "1.036, 1.065, 1.152, 1.298, 1.513, 1.814, 2.21, 2.709, 3.319, 4.048",\
                 "1.055, 1.084, 1.172, 1.317, 1.532, 1.833, 2.229, 2.728, 3.338, 4.065",\
                 "1.062, 1.091, 1.179, 1.324, 1.539, 1.84, 2.236, 2.736, 3.345, 4.072");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0948, 0.1194, 0.1936, 0.3162, 0.5141, 0.8106, 1.211, 1.719, 2.341, 3.082",\
                 "0.09484, 0.1191, 0.1936, 0.3156, 0.5142, 0.8112, 1.212, 1.72, 2.339, 3.086",\
                 "0.09486, 0.1191, 0.1937, 0.3159, 0.5142, 0.811, 1.212, 1.721, 2.34, 3.082",\
                 "0.0948, 0.119, 0.1934, 0.3158, 0.5144, 0.8104, 1.212, 1.721, 2.341, 3.086",\
                 "0.0948, 0.119, 0.1936, 0.316, 0.5144, 0.8116, 1.211, 1.719, 2.342, 3.082",\
                 "0.095, 0.119, 0.1936, 0.3156, 0.5144, 0.8104, 1.211, 1.719, 2.34, 3.081",\
                 "0.0946, 0.1192, 0.1936, 0.316, 0.5142, 0.8102, 1.211, 1.719, 2.339, 3.085",\
                 "0.0948, 0.119, 0.1938, 0.3154, 0.514, 0.8106, 1.211, 1.719, 2.34, 3.081",\
                 "0.0948, 0.1194, 0.1936, 0.3154, 0.5142, 0.8108, 1.211, 1.719, 2.339, 3.079",\
                 "0.0948, 0.1194, 0.1938, 0.3154, 0.5142, 0.8116, 1.211, 1.72, 2.34, 3.079");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.1162, 0.1517, 0.2716, 0.4882, 0.8438, 1.359, 2.041, 2.906, 3.953, 5.206",\
                 "0.1167, 0.1517, 0.2715, 0.4885, 0.844, 1.359, 2.04, 2.906, 3.957, 5.208",\
                 "0.1161, 0.1517, 0.2716, 0.4882, 0.844, 1.359, 2.041, 2.906, 3.952, 5.206",\
                 "0.1166, 0.1518, 0.2716, 0.488, 0.8454, 1.361, 2.044, 2.902, 3.952, 5.202",\
                 "0.1162, 0.1518, 0.2714, 0.4882, 0.844, 1.361, 2.04, 2.906, 3.959, 5.204",\
                 "0.1154, 0.1514, 0.2716, 0.488, 0.845, 1.361, 2.042, 2.905, 3.955, 5.209",\
                 "0.1162, 0.1516, 0.2716, 0.488, 0.8446, 1.359, 2.042, 2.905, 3.952, 5.206",\
                 "0.1156, 0.1516, 0.2714, 0.4882, 0.8452, 1.358, 2.04, 2.902, 3.95, 5.208",\
                 "0.1158, 0.1516, 0.2716, 0.4882, 0.8446, 1.359, 2.04, 2.898, 3.952, 5.202",\
                 "0.1164, 0.1518, 0.2718, 0.488, 0.8446, 1.36, 2.042, 2.898, 3.947, 5.201");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7213, 0.7456, 0.8139, 0.9172, 1.058, 1.247, 1.495, 1.806, 2.187, 2.64",\
                 "0.7289, 0.7531, 0.8215, 0.9248, 1.065, 1.255, 1.502, 1.814, 2.194, 2.648",\
                 "0.758, 0.7821, 0.8506, 0.9539, 1.095, 1.284, 1.531, 1.843, 2.223, 2.677",\
                 "0.8103, 0.8345, 0.9029, 1.006, 1.147, 1.336, 1.584, 1.895, 2.276, 2.729",\
                 "0.8616, 0.8858, 0.9541, 1.058, 1.198, 1.388, 1.635, 1.947, 2.327, 2.781",\
                 "0.9078, 0.9321, 1.001, 1.104, 1.244, 1.434, 1.681, 1.993, 2.373, 2.827",\
                 "0.9465, 0.9708, 1.039, 1.142, 1.283, 1.472, 1.72, 2.031, 2.412, 2.865",\
                 "0.9765, 1.001, 1.069, 1.172, 1.313, 1.503, 1.75, 2.062, 2.442, 2.895",\
                 "0.9947, 1.019, 1.087, 1.19, 1.331, 1.521, 1.768, 2.08, 2.46, 2.913",\
                 "1, 1.024, 1.093, 1.196, 1.337, 1.526, 1.774, 2.085, 2.466, 2.919");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.7831, 0.812, 0.8994, 1.045, 1.26, 1.561, 1.957, 2.457, 3.068, 3.793",\
                 "0.7904, 0.8193, 0.9068, 1.052, 1.268, 1.568, 1.965, 2.464, 3.075, 3.801",\
                 "0.8192, 0.8481, 0.9354, 1.081, 1.296, 1.597, 1.993, 2.493, 3.104, 3.829",\
                 "0.8705, 0.8994, 0.9869, 1.132, 1.347, 1.648, 2.045, 2.544, 3.154, 3.881",\
                 "0.9216, 0.9505, 1.038, 1.183, 1.398, 1.699, 2.096, 2.595, 3.206, 3.931",\
                 "0.9672, 0.9961, 1.083, 1.229, 1.444, 1.745, 2.141, 2.641, 3.251, 3.978",\
                 "1.006, 1.035, 1.122, 1.268, 1.483, 1.784, 2.18, 2.68, 3.289, 4.017",\
                 "1.036, 1.065, 1.152, 1.298, 1.513, 1.814, 2.21, 2.709, 3.319, 4.048",\
                 "1.055, 1.084, 1.172, 1.317, 1.532, 1.833, 2.229, 2.728, 3.338, 4.065",\
                 "1.062, 1.091, 1.179, 1.324, 1.539, 1.84, 2.236, 2.736, 3.345, 4.072");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.095, 0.119, 0.1936, 0.3163, 0.515, 0.8108, 1.211, 1.719, 2.343, 3.083",\
                 "0.09486, 0.1192, 0.1936, 0.3157, 0.5147, 0.8112, 1.211, 1.72, 2.339, 3.085",\
                 "0.09486, 0.1191, 0.1937, 0.3157, 0.5142, 0.811, 1.212, 1.721, 2.34, 3.081",\
                 "0.0948, 0.119, 0.1938, 0.3162, 0.5144, 0.8106, 1.211, 1.72, 2.342, 3.082",\
                 "0.0948, 0.119, 0.1938, 0.3156, 0.5148, 0.8106, 1.211, 1.72, 2.342, 3.082",\
                 "0.0946, 0.1192, 0.1934, 0.3156, 0.5146, 0.8104, 1.211, 1.719, 2.34, 3.083",\
                 "0.0948, 0.119, 0.1936, 0.3158, 0.5144, 0.8106, 1.211, 1.72, 2.339, 3.086",\
                 "0.095, 0.1192, 0.1936, 0.3156, 0.5142, 0.8108, 1.211, 1.718, 2.34, 3.081",\
                 "0.0946, 0.119, 0.1934, 0.3156, 0.5142, 0.8106, 1.211, 1.719, 2.339, 3.078",\
                 "0.0944, 0.119, 0.1934, 0.3162, 0.5144, 0.8104, 1.211, 1.719, 2.339, 3.079");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.1162, 0.1517, 0.2717, 0.4881, 0.8442, 1.359, 2.041, 2.905, 3.952, 5.205",\
                 "0.1168, 0.1517, 0.2715, 0.4881, 0.8438, 1.36, 2.044, 2.903, 3.95, 5.213",\
                 "0.1161, 0.1518, 0.2717, 0.4882, 0.844, 1.359, 2.041, 2.906, 3.952, 5.206",\
                 "0.1164, 0.1518, 0.272, 0.4878, 0.844, 1.359, 2.041, 2.905, 3.952, 5.205",\
                 "0.116, 0.1518, 0.272, 0.488, 0.8448, 1.361, 2.043, 2.905, 3.956, 5.208",\
                 "0.1158, 0.1516, 0.2716, 0.4882, 0.8448, 1.362, 2.043, 2.906, 3.957, 5.207",\
                 "0.116, 0.1518, 0.2714, 0.488, 0.8444, 1.359, 2.041, 2.906, 3.952, 5.203",\
                 "0.1162, 0.1516, 0.2714, 0.488, 0.8452, 1.358, 2.039, 2.902, 3.952, 5.204",\
                 "0.1156, 0.1516, 0.2716, 0.4882, 0.8448, 1.359, 2.039, 2.899, 3.953, 5.207",\
                 "0.1158, 0.1516, 0.2714, 0.4882, 0.8434, 1.36, 2.041, 2.898, 3.947, 5.204");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2753, 0.2999, 0.3681, 0.4717, 0.6125, 0.8014, 1.048, 1.36, 1.74, 2.194",\
                 "0.2846, 0.3094, 0.3775, 0.481, 0.6219, 0.8107, 1.058, 1.369, 1.749, 2.203",\
                 "0.322, 0.3466, 0.4146, 0.5181, 0.659, 0.8478, 1.095, 1.406, 1.786, 2.24",\
                 "0.3984, 0.4229, 0.4906, 0.5939, 0.7345, 0.9233, 1.17, 1.481, 1.862, 2.315",\
                 "0.5024, 0.5286, 0.599, 0.7038, 0.8442, 1.032, 1.279, 1.59, 1.97, 2.424",\
                 "0.6202, 0.6486, 0.7231, 0.8313, 0.9727, 1.16, 1.406, 1.717, 2.097, 2.55",\
                 "0.7537, 0.7841, 0.8632, 0.9756, 1.118, 1.304, 1.55, 1.86, 2.24, 2.693",\
                 "0.9014, 0.9342, 1.019, 1.135, 1.278, 1.464, 1.709, 2.018, 2.398, 2.85",\
                 "1.064, 1.099, 1.189, 1.311, 1.455, 1.64, 1.883, 2.192, 2.571, 3.023",\
                 "1.24, 1.277, 1.373, 1.502, 1.648, 1.831, 2.073, 2.381, 2.759, 3.211");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09728, 0.1207, 0.1928, 0.3163, 0.5128, 0.8074, 1.208, 1.717, 2.337, 3.077",\
                 "0.09696, 0.1207, 0.1928, 0.3162, 0.5131, 0.8074, 1.207, 1.716, 2.341, 3.076",\
                 "0.09702, 0.1204, 0.1927, 0.3164, 0.5129, 0.8072, 1.208, 1.717, 2.337, 3.077",\
                 "0.09848, 0.1221, 0.1936, 0.317, 0.5132, 0.8073, 1.207, 1.715, 2.337, 3.076",\
                 "0.1126, 0.1357, 0.205, 0.3228, 0.5146, 0.8076, 1.207, 1.715, 2.338, 3.077",\
                 "0.1286, 0.152, 0.2208, 0.3356, 0.5194, 0.8088, 1.207, 1.717, 2.341, 3.077",\
                 "0.1466, 0.1724, 0.2398, 0.3494, 0.5246, 0.8106, 1.208, 1.716, 2.336, 3.076",\
                 "0.1644, 0.1918, 0.2612, 0.3658, 0.531, 0.8112, 1.209, 1.716, 2.337, 3.077",\
                 "0.1834, 0.2128, 0.2856, 0.385, 0.5382, 0.8128, 1.209, 1.716, 2.337, 3.076",\
                 "0.2042, 0.2356, 0.3122, 0.4064, 0.547, 0.8142, 1.209, 1.718, 2.337, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2753, 0.2999, 0.3681, 0.4717, 0.6125, 0.8014, 1.048, 1.36, 1.74, 2.194",\
                 "0.2846, 0.3094, 0.3775, 0.481, 0.6219, 0.8107, 1.058, 1.369, 1.749, 2.203",\
                 "0.322, 0.3466, 0.4146, 0.5181, 0.659, 0.8478, 1.095, 1.406, 1.786, 2.24",\
                 "0.3984, 0.4229, 0.4906, 0.5939, 0.7345, 0.9233, 1.17, 1.481, 1.862, 2.315",\
                 "0.5024, 0.5286, 0.599, 0.7038, 0.8442, 1.032, 1.279, 1.59, 1.97, 2.424",\
                 "0.6202, 0.6487, 0.7231, 0.8313, 0.9728, 1.16, 1.406, 1.717, 2.097, 2.55",\
                 "0.7537, 0.7841, 0.8632, 0.9756, 1.118, 1.304, 1.55, 1.86, 2.24, 2.693",\
                 "0.9014, 0.9343, 1.019, 1.136, 1.278, 1.464, 1.709, 2.018, 2.397, 2.85",\
                 "1.064, 1.098, 1.189, 1.311, 1.455, 1.64, 1.883, 2.192, 2.571, 3.023",\
                 "1.24, 1.277, 1.373, 1.502, 1.648, 1.831, 2.073, 2.381, 2.759, 3.211");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09728, 0.1207, 0.1928, 0.3163, 0.5128, 0.8074, 1.208, 1.717, 2.337, 3.077",\
                 "0.09696, 0.1207, 0.1928, 0.3162, 0.5131, 0.8074, 1.207, 1.716, 2.341, 3.076",\
                 "0.09702, 0.1204, 0.1927, 0.3164, 0.5129, 0.8072, 1.208, 1.717, 2.337, 3.077",\
                 "0.09848, 0.1221, 0.1936, 0.317, 0.5132, 0.8073, 1.207, 1.715, 2.337, 3.076",\
                 "0.1126, 0.1357, 0.205, 0.3228, 0.5146, 0.8076, 1.207, 1.715, 2.338, 3.077",\
                 "0.1282, 0.1518, 0.2208, 0.3358, 0.5194, 0.8088, 1.207, 1.717, 2.341, 3.077",\
                 "0.1466, 0.1724, 0.2398, 0.3494, 0.5246, 0.8106, 1.208, 1.716, 2.336, 3.076",\
                 "0.1644, 0.1916, 0.2616, 0.366, 0.5306, 0.8114, 1.209, 1.716, 2.337, 3.078",\
                 "0.1834, 0.2136, 0.2856, 0.385, 0.5382, 0.8128, 1.209, 1.716, 2.337, 3.076",\
                 "0.2036, 0.2358, 0.3122, 0.406, 0.5468, 0.8142, 1.209, 1.717, 2.339, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2753, 0.2999, 0.3681, 0.4717, 0.6125, 0.8014, 1.048, 1.36, 1.74, 2.194",\
                 "0.2846, 0.3094, 0.3775, 0.4811, 0.6219, 0.8107, 1.058, 1.369, 1.749, 2.203",\
                 "0.322, 0.3466, 0.4146, 0.5181, 0.659, 0.8478, 1.095, 1.406, 1.786, 2.24",\
                 "0.3984, 0.4229, 0.4906, 0.5939, 0.7345, 0.9233, 1.17, 1.481, 1.862, 2.315",\
                 "0.5024, 0.5286, 0.5989, 0.7038, 0.8442, 1.032, 1.279, 1.59, 1.97, 2.424",\
                 "0.6203, 0.6485, 0.7231, 0.8316, 0.9729, 1.161, 1.406, 1.717, 2.097, 2.55",\
                 "0.7537, 0.7841, 0.8632, 0.9756, 1.118, 1.304, 1.55, 1.86, 2.24, 2.693",\
                 "0.9013, 0.9343, 1.019, 1.136, 1.278, 1.464, 1.709, 2.018, 2.398, 2.85",\
                 "1.064, 1.098, 1.189, 1.311, 1.455, 1.64, 1.883, 2.192, 2.571, 3.023",\
                 "1.24, 1.278, 1.373, 1.502, 1.647, 1.831, 2.073, 2.381, 2.759, 3.211");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09728, 0.1207, 0.1928, 0.3163, 0.5128, 0.8074, 1.208, 1.717, 2.337, 3.077",\
                 "0.09682, 0.1204, 0.1928, 0.3162, 0.513, 0.8074, 1.207, 1.718, 2.336, 3.077",\
                 "0.09702, 0.1204, 0.1927, 0.3164, 0.5129, 0.8072, 1.208, 1.717, 2.337, 3.077",\
                 "0.09848, 0.1221, 0.1936, 0.317, 0.5132, 0.8073, 1.207, 1.715, 2.337, 3.076",\
                 "0.1126, 0.1359, 0.205, 0.323, 0.5146, 0.8074, 1.209, 1.718, 2.337, 3.077",\
                 "0.1278, 0.1522, 0.2208, 0.3358, 0.5194, 0.8086, 1.208, 1.715, 2.338, 3.076",\
                 "0.1466, 0.1724, 0.2398, 0.3494, 0.5246, 0.8106, 1.208, 1.716, 2.336, 3.076",\
                 "0.1644, 0.1914, 0.2616, 0.3658, 0.5306, 0.8112, 1.209, 1.716, 2.337, 3.077",\
                 "0.1842, 0.2134, 0.2856, 0.385, 0.5382, 0.8128, 1.209, 1.716, 2.337, 3.076",\
                 "0.2042, 0.2354, 0.3116, 0.4062, 0.5468, 0.8144, 1.21, 1.717, 2.339, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2754, 0.2999, 0.3682, 0.4717, 0.6125, 0.8013, 1.048, 1.36, 1.74, 2.194",\
                 "0.2847, 0.3093, 0.3775, 0.481, 0.6219, 0.8107, 1.058, 1.369, 1.749, 2.203",\
                 "0.3219, 0.3466, 0.4146, 0.5182, 0.659, 0.8478, 1.095, 1.406, 1.786, 2.24",\
                 "0.3984, 0.4229, 0.4906, 0.5938, 0.7345, 0.9233, 1.17, 1.481, 1.862, 2.315",\
                 "0.5023, 0.5285, 0.599, 0.7038, 0.8442, 1.032, 1.279, 1.59, 1.97, 2.423",\
                 "0.6203, 0.6485, 0.723, 0.8316, 0.9729, 1.16, 1.406, 1.717, 2.097, 2.55",\
                 "0.7538, 0.7843, 0.8634, 0.9756, 1.118, 1.305, 1.55, 1.86, 2.24, 2.692",\
                 "0.9012, 0.9343, 1.019, 1.136, 1.279, 1.465, 1.709, 2.019, 2.398, 2.85",\
                 "1.063, 1.098, 1.188, 1.311, 1.455, 1.64, 1.883, 2.192, 2.571, 3.023",\
                 "1.24, 1.277, 1.373, 1.502, 1.648, 1.831, 2.073, 2.381, 2.759, 3.211");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09688, 0.1206, 0.1928, 0.3162, 0.5128, 0.8072, 1.208, 1.717, 2.337, 3.077",\
                 "0.09678, 0.1206, 0.1928, 0.3162, 0.513, 0.8074, 1.208, 1.717, 2.341, 3.076",\
                 "0.09702, 0.1206, 0.1928, 0.3163, 0.513, 0.8074, 1.208, 1.718, 2.337, 3.077",\
                 "0.09854, 0.1219, 0.1939, 0.317, 0.5129, 0.8073, 1.207, 1.718, 2.337, 3.077",\
                 "0.1131, 0.1358, 0.205, 0.323, 0.5144, 0.8076, 1.207, 1.715, 2.34, 3.079",\
                 "0.128, 0.1522, 0.221, 0.3356, 0.5196, 0.8084, 1.207, 1.716, 2.336, 3.076",\
                 "0.1464, 0.1714, 0.2396, 0.3492, 0.5246, 0.81, 1.208, 1.717, 2.339, 3.08",\
                 "0.1644, 0.1922, 0.262, 0.3658, 0.5308, 0.811, 1.209, 1.716, 2.337, 3.078",\
                 "0.1836, 0.2132, 0.286, 0.3852, 0.538, 0.8122, 1.209, 1.717, 2.337, 3.076",\
                 "0.2038, 0.2358, 0.312, 0.4062, 0.547, 0.8144, 1.209, 1.717, 2.338, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2753, 0.2999, 0.3682, 0.4717, 0.6125, 0.8013, 1.048, 1.36, 1.74, 2.194",\
                 "0.2847, 0.3093, 0.3775, 0.481, 0.6219, 0.8107, 1.058, 1.369, 1.749, 2.203",\
                 "0.3219, 0.3466, 0.4146, 0.5182, 0.659, 0.8478, 1.095, 1.406, 1.786, 2.24",\
                 "0.3984, 0.4229, 0.4906, 0.5938, 0.7345, 0.9233, 1.17, 1.481, 1.862, 2.315",\
                 "0.5023, 0.5285, 0.599, 0.7038, 0.8442, 1.032, 1.279, 1.59, 1.97, 2.424",\
                 "0.6204, 0.6484, 0.7229, 0.8312, 0.9726, 1.16, 1.406, 1.717, 2.097, 2.55",\
                 "0.7538, 0.7846, 0.8634, 0.9755, 1.118, 1.305, 1.55, 1.86, 2.24, 2.692",\
                 "0.9012, 0.9343, 1.019, 1.136, 1.279, 1.465, 1.709, 2.019, 2.398, 2.85",\
                 "1.063, 1.099, 1.189, 1.311, 1.455, 1.64, 1.883, 2.192, 2.571, 3.023",\
                 "1.24, 1.278, 1.373, 1.502, 1.648, 1.831, 2.073, 2.381, 2.759, 3.211");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0969, 0.1206, 0.1928, 0.3162, 0.5128, 0.8074, 1.208, 1.717, 2.337, 3.076",\
                 "0.09678, 0.1206, 0.1928, 0.3162, 0.513, 0.8074, 1.208, 1.717, 2.341, 3.076",\
                 "0.09702, 0.1206, 0.1928, 0.3163, 0.513, 0.8074, 1.208, 1.718, 2.337, 3.077",\
                 "0.09854, 0.1219, 0.1939, 0.317, 0.5129, 0.8073, 1.207, 1.718, 2.337, 3.077",\
                 "0.1131, 0.1358, 0.205, 0.323, 0.5144, 0.8076, 1.208, 1.715, 2.339, 3.077",\
                 "0.128, 0.153, 0.2208, 0.3358, 0.5194, 0.8086, 1.208, 1.717, 2.337, 3.077",\
                 "0.1464, 0.1708, 0.2396, 0.3496, 0.5248, 0.8106, 1.208, 1.717, 2.34, 3.081",\
                 "0.1648, 0.1922, 0.2618, 0.366, 0.5306, 0.8112, 1.209, 1.716, 2.337, 3.076",\
                 "0.1842, 0.2124, 0.285, 0.385, 0.538, 0.8126, 1.209, 1.717, 2.336, 3.076",\
                 "0.204, 0.235, 0.312, 0.4062, 0.547, 0.814, 1.209, 1.717, 2.337, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2753, 0.2999, 0.3682, 0.4717, 0.6125, 0.8013, 1.048, 1.36, 1.74, 2.194",\
                 "0.2847, 0.3093, 0.3775, 0.481, 0.6219, 0.8107, 1.058, 1.369, 1.749, 2.203",\
                 "0.3219, 0.3466, 0.4146, 0.5182, 0.659, 0.8478, 1.095, 1.406, 1.786, 2.24",\
                 "0.3984, 0.4229, 0.4906, 0.5938, 0.7345, 0.9233, 1.17, 1.481, 1.862, 2.315",\
                 "0.5023, 0.5285, 0.599, 0.7038, 0.8442, 1.032, 1.279, 1.59, 1.97, 2.424",\
                 "0.6203, 0.6484, 0.7229, 0.8312, 0.9726, 1.16, 1.406, 1.717, 2.097, 2.55",\
                 "0.7538, 0.7845, 0.8634, 0.9756, 1.118, 1.305, 1.55, 1.86, 2.24, 2.692",\
                 "0.9012, 0.9343, 1.019, 1.136, 1.279, 1.465, 1.709, 2.019, 2.398, 2.85",\
                 "1.063, 1.098, 1.188, 1.311, 1.455, 1.64, 1.883, 2.192, 2.571, 3.023",\
                 "1.24, 1.277, 1.373, 1.502, 1.648, 1.831, 2.073, 2.381, 2.759, 3.211");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0969, 0.1206, 0.1928, 0.3162, 0.5128, 0.8074, 1.208, 1.717, 2.337, 3.076",\
                 "0.09678, 0.1206, 0.1928, 0.3162, 0.513, 0.8074, 1.208, 1.717, 2.341, 3.076",\
                 "0.09702, 0.1206, 0.1928, 0.3163, 0.513, 0.8074, 1.208, 1.718, 2.337, 3.077",\
                 "0.09854, 0.1219, 0.1939, 0.317, 0.5129, 0.8073, 1.207, 1.718, 2.337, 3.077",\
                 "0.1131, 0.1358, 0.205, 0.323, 0.5144, 0.8076, 1.208, 1.715, 2.339, 3.077",\
                 "0.128, 0.153, 0.2208, 0.3358, 0.5194, 0.8086, 1.208, 1.717, 2.338, 3.077",\
                 "0.1464, 0.1708, 0.2396, 0.3492, 0.5248, 0.8106, 1.208, 1.717, 2.34, 3.081",\
                 "0.1644, 0.1922, 0.2614, 0.3658, 0.5308, 0.811, 1.209, 1.716, 2.336, 3.08",\
                 "0.1836, 0.2132, 0.2862, 0.3848, 0.538, 0.8126, 1.209, 1.716, 2.336, 3.076",\
                 "0.2036, 0.2354, 0.312, 0.4062, 0.547, 0.8142, 1.209, 1.717, 2.339, 3.078");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2753, 0.2999, 0.3681, 0.4717, 0.6125, 0.8014, 1.048, 1.36, 1.74, 2.194",\
                 "0.2846, 0.3094, 0.3775, 0.4811, 0.6219, 0.8107, 1.058, 1.369, 1.749, 2.203",\
                 "0.322, 0.3466, 0.4146, 0.5181, 0.659, 0.8478, 1.095, 1.406, 1.786, 2.24",\
                 "0.3984, 0.4229, 0.4906, 0.5939, 0.7345, 0.9233, 1.17, 1.481, 1.862, 2.315",\
                 "0.5024, 0.5285, 0.599, 0.7038, 0.8442, 1.032, 1.279, 1.59, 1.97, 2.424",\
                 "0.6203, 0.6485, 0.7231, 0.8316, 0.9729, 1.161, 1.406, 1.717, 2.097, 2.55",\
                 "0.7537, 0.7841, 0.8632, 0.9756, 1.118, 1.304, 1.55, 1.86, 2.24, 2.693",\
                 "0.9014, 0.9342, 1.019, 1.136, 1.278, 1.464, 1.709, 2.018, 2.397, 2.85",\
                 "1.064, 1.098, 1.189, 1.311, 1.455, 1.64, 1.883, 2.192, 2.571, 3.023",\
                 "1.24, 1.277, 1.373, 1.502, 1.648, 1.831, 2.073, 2.381, 2.759, 3.211");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09728, 0.1207, 0.1928, 0.3163, 0.5128, 0.8074, 1.208, 1.717, 2.337, 3.077",\
                 "0.09682, 0.1204, 0.1928, 0.3162, 0.513, 0.8074, 1.207, 1.718, 2.336, 3.077",\
                 "0.09702, 0.1204, 0.1927, 0.3164, 0.5129, 0.8072, 1.208, 1.717, 2.337, 3.077",\
                 "0.09848, 0.1221, 0.1936, 0.317, 0.5132, 0.8073, 1.207, 1.715, 2.337, 3.076",\
                 "0.1126, 0.1357, 0.205, 0.3228, 0.5146, 0.8076, 1.207, 1.715, 2.338, 3.077",\
                 "0.1278, 0.1524, 0.2208, 0.3358, 0.5194, 0.8086, 1.208, 1.715, 2.337, 3.076",\
                 "0.1466, 0.1724, 0.2398, 0.3494, 0.5246, 0.8106, 1.208, 1.716, 2.336, 3.076",\
                 "0.1644, 0.1916, 0.2618, 0.3656, 0.5306, 0.811, 1.209, 1.716, 2.337, 3.08",\
                 "0.1842, 0.213, 0.2856, 0.385, 0.5382, 0.8128, 1.209, 1.716, 2.337, 3.076",\
                 "0.2038, 0.2358, 0.3114, 0.4062, 0.5468, 0.8142, 1.209, 1.716, 2.337, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2754, 0.2999, 0.3682, 0.4717, 0.6125, 0.8013, 1.048, 1.36, 1.74, 2.194",\
                 "0.2847, 0.3093, 0.3775, 0.481, 0.6219, 0.8107, 1.058, 1.369, 1.749, 2.203",\
                 "0.3219, 0.3466, 0.4146, 0.5182, 0.659, 0.8478, 1.095, 1.406, 1.786, 2.24",\
                 "0.3984, 0.4229, 0.4906, 0.5938, 0.7345, 0.9233, 1.17, 1.481, 1.862, 2.315",\
                 "0.5023, 0.5285, 0.599, 0.7039, 0.8442, 1.032, 1.279, 1.59, 1.97, 2.424",\
                 "0.6203, 0.6484, 0.7229, 0.8312, 0.9726, 1.16, 1.406, 1.717, 2.097, 2.55",\
                 "0.7538, 0.7843, 0.8634, 0.9756, 1.118, 1.305, 1.55, 1.86, 2.24, 2.692",\
                 "0.9014, 0.9343, 1.019, 1.136, 1.279, 1.465, 1.709, 2.019, 2.398, 2.85",\
                 "1.063, 1.098, 1.188, 1.311, 1.455, 1.64, 1.883, 2.192, 2.571, 3.023",\
                 "1.24, 1.277, 1.373, 1.501, 1.647, 1.831, 2.073, 2.381, 2.759, 3.211");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09688, 0.1206, 0.1928, 0.3162, 0.5128, 0.8072, 1.208, 1.717, 2.337, 3.077",\
                 "0.09678, 0.1206, 0.1928, 0.3162, 0.513, 0.8074, 1.208, 1.717, 2.341, 3.076",\
                 "0.09702, 0.1206, 0.1928, 0.3163, 0.513, 0.8074, 1.208, 1.718, 2.337, 3.077",\
                 "0.09854, 0.1219, 0.1939, 0.317, 0.5129, 0.8073, 1.207, 1.718, 2.337, 3.077",\
                 "0.1131, 0.1358, 0.205, 0.3228, 0.5144, 0.8074, 1.209, 1.715, 2.338, 3.077",\
                 "0.128, 0.1532, 0.2208, 0.3358, 0.5194, 0.8086, 1.208, 1.717, 2.337, 3.077",\
                 "0.1462, 0.1714, 0.2396, 0.3492, 0.5246, 0.81, 1.208, 1.717, 2.339, 3.077",\
                 "0.165, 0.1922, 0.2618, 0.3658, 0.5308, 0.8114, 1.209, 1.716, 2.337, 3.08",\
                 "0.1836, 0.2132, 0.286, 0.3848, 0.538, 0.8122, 1.209, 1.717, 2.336, 3.076",\
                 "0.2038, 0.2354, 0.312, 0.4062, 0.547, 0.814, 1.209, 1.717, 2.337, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3704, 0.4746, 0.6161, 0.8072, 1.055, 1.366, 1.746, 2.2",\
                 "0.2852, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5295, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.429",\
                 "0.6214, 0.65, 0.7265, 0.8365, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7557, 0.7868, 0.8681, 0.9822, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9043, 0.9374, 1.025, 1.144, 1.288, 1.475, 1.72, 2.029, 2.408, 2.861",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.283, 1.381, 1.512, 1.66, 1.844, 2.087, 2.394, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0972, 0.1222, 0.1962, 0.3177, 0.5181, 0.8143, 1.21, 1.716, 2.336, 3.08",\
                 "0.09714, 0.1222, 0.1961, 0.3177, 0.5181, 0.8143, 1.211, 1.716, 2.336, 3.076",\
                 "0.09728, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.338, 3.078",\
                 "0.09914, 0.1238, 0.1974, 0.3188, 0.518, 0.8128, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.138, 0.2086, 0.3254, 0.5192, 0.8114, 1.208, 1.717, 2.336, 3.076",\
                 "0.1298, 0.1552, 0.2258, 0.34, 0.5244, 0.8114, 1.209, 1.715, 2.339, 3.081",\
                 "0.1474, 0.1746, 0.2456, 0.3544, 0.5298, 0.8122, 1.208, 1.716, 2.336, 3.076",\
                 "0.1662, 0.196, 0.2688, 0.3716, 0.5354, 0.8132, 1.209, 1.716, 2.337, 3.078",\
                 "0.1866, 0.218, 0.2946, 0.3916, 0.5426, 0.8144, 1.209, 1.716, 2.337, 3.076",\
                 "0.2062, 0.2394, 0.3216, 0.4122, 0.5508, 0.8158, 1.209, 1.716, 2.337, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3704, 0.4746, 0.6161, 0.8072, 1.055, 1.366, 1.746, 2.2",\
                 "0.2852, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5295, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.429",\
                 "0.6214, 0.65, 0.7265, 0.8365, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7557, 0.7868, 0.8682, 0.9822, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9043, 0.9374, 1.025, 1.144, 1.288, 1.475, 1.72, 2.029, 2.408, 2.861",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.282, 1.381, 1.512, 1.66, 1.844, 2.087, 2.394, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0972, 0.1222, 0.1962, 0.3177, 0.5181, 0.8143, 1.21, 1.716, 2.336, 3.08",\
                 "0.09714, 0.1222, 0.1961, 0.3177, 0.5181, 0.8143, 1.211, 1.716, 2.336, 3.076",\
                 "0.09728, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.338, 3.078",\
                 "0.09914, 0.1238, 0.1974, 0.3188, 0.518, 0.8128, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.138, 0.2086, 0.3254, 0.5192, 0.8114, 1.208, 1.717, 2.336, 3.076",\
                 "0.1298, 0.1552, 0.2258, 0.34, 0.5246, 0.8114, 1.209, 1.715, 2.339, 3.076",\
                 "0.1474, 0.1746, 0.2456, 0.3544, 0.5294, 0.813, 1.208, 1.716, 2.339, 3.076",\
                 "0.1662, 0.196, 0.2688, 0.3716, 0.5354, 0.8132, 1.209, 1.716, 2.337, 3.077",\
                 "0.1866, 0.218, 0.2946, 0.3916, 0.5426, 0.8144, 1.209, 1.716, 2.337, 3.076",\
                 "0.2062, 0.24, 0.3216, 0.4122, 0.5508, 0.816, 1.209, 1.716, 2.337, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3704, 0.4746, 0.6161, 0.8072, 1.055, 1.366, 1.746, 2.2",\
                 "0.2852, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5295, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.429",\
                 "0.6215, 0.65, 0.7265, 0.8365, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7557, 0.7867, 0.8681, 0.9822, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9043, 0.9372, 1.025, 1.144, 1.288, 1.475, 1.72, 2.029, 2.408, 2.86",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.282, 1.381, 1.512, 1.66, 1.844, 2.087, 2.394, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0972, 0.1222, 0.1962, 0.3177, 0.518, 0.8143, 1.21, 1.716, 2.336, 3.08",\
                 "0.09712, 0.1222, 0.1961, 0.3177, 0.5181, 0.8143, 1.211, 1.716, 2.336, 3.076",\
                 "0.09728, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.338, 3.078",\
                 "0.09914, 0.1238, 0.1974, 0.3188, 0.518, 0.8128, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.138, 0.2086, 0.3254, 0.5192, 0.8114, 1.208, 1.717, 2.336, 3.076",\
                 "0.129, 0.1552, 0.2258, 0.3398, 0.5244, 0.8116, 1.208, 1.715, 2.339, 3.081",\
                 "0.1474, 0.1744, 0.2456, 0.3546, 0.5298, 0.8122, 1.208, 1.716, 2.336, 3.076",\
                 "0.1662, 0.196, 0.2692, 0.3716, 0.5354, 0.8132, 1.209, 1.716, 2.337, 3.078",\
                 "0.1868, 0.218, 0.2948, 0.3916, 0.5426, 0.8144, 1.209, 1.717, 2.337, 3.076",\
                 "0.2066, 0.24, 0.3216, 0.4122, 0.5508, 0.816, 1.21, 1.717, 2.339, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3703, 0.4746, 0.6161, 0.8073, 1.055, 1.366, 1.746, 2.2",\
                 "0.2851, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5296, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.429",\
                 "0.6214, 0.6501, 0.7266, 0.8365, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7558, 0.7868, 0.8681, 0.9822, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9043, 0.9372, 1.025, 1.144, 1.288, 1.475, 1.719, 2.029, 2.408, 2.861",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.282, 1.382, 1.512, 1.66, 1.844, 2.087, 2.394, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09718, 0.1222, 0.1962, 0.3177, 0.518, 0.8143, 1.211, 1.717, 2.336, 3.081",\
                 "0.09714, 0.1222, 0.1962, 0.3178, 0.518, 0.8143, 1.21, 1.716, 2.336, 3.079",\
                 "0.09722, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.337, 3.077",\
                 "0.09906, 0.1237, 0.1974, 0.3188, 0.5181, 0.8126, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.1378, 0.2086, 0.3254, 0.5192, 0.8112, 1.208, 1.717, 2.336, 3.076",\
                 "0.13, 0.1552, 0.2262, 0.3398, 0.5244, 0.8118, 1.209, 1.715, 2.336, 3.076",\
                 "0.1478, 0.1742, 0.2454, 0.3544, 0.5294, 0.8124, 1.208, 1.716, 2.339, 3.076",\
                 "0.1664, 0.1958, 0.2688, 0.3718, 0.5352, 0.8132, 1.209, 1.716, 2.337, 3.078",\
                 "0.1864, 0.218, 0.2946, 0.3916, 0.5426, 0.8142, 1.209, 1.716, 2.337, 3.077",\
                 "0.2064, 0.2404, 0.3216, 0.4122, 0.5512, 0.816, 1.209, 1.716, 2.338, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3704, 0.4745, 0.6161, 0.8073, 1.055, 1.366, 1.746, 2.2",\
                 "0.2851, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5296, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.429",\
                 "0.6214, 0.6501, 0.7266, 0.8365, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7558, 0.7868, 0.8681, 0.9822, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9043, 0.9372, 1.024, 1.144, 1.288, 1.475, 1.719, 2.029, 2.408, 2.861",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.282, 1.382, 1.512, 1.66, 1.844, 2.087, 2.395, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09722, 0.1222, 0.1962, 0.3178, 0.5181, 0.8143, 1.211, 1.716, 2.336, 3.078",\
                 "0.09714, 0.1222, 0.1962, 0.3178, 0.518, 0.8143, 1.21, 1.716, 2.336, 3.079",\
                 "0.09722, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.337, 3.077",\
                 "0.09906, 0.1237, 0.1974, 0.3188, 0.5181, 0.8126, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.1378, 0.2086, 0.3254, 0.5192, 0.8112, 1.208, 1.717, 2.336, 3.076",\
                 "0.13, 0.1552, 0.2262, 0.3398, 0.5244, 0.8114, 1.209, 1.715, 2.336, 3.076",\
                 "0.1478, 0.1742, 0.2454, 0.3544, 0.5296, 0.8124, 1.208, 1.715, 2.339, 3.076",\
                 "0.1664, 0.1958, 0.269, 0.3718, 0.5352, 0.8132, 1.209, 1.716, 2.337, 3.078",\
                 "0.1864, 0.218, 0.2946, 0.3914, 0.5426, 0.8142, 1.209, 1.717, 2.337, 3.076",\
                 "0.206, 0.2404, 0.3212, 0.4122, 0.551, 0.8158, 1.209, 1.716, 2.337, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3704, 0.4745, 0.6161, 0.8073, 1.055, 1.366, 1.746, 2.2",\
                 "0.2851, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5296, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.429",\
                 "0.6214, 0.6501, 0.7266, 0.8365, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7558, 0.7868, 0.8681, 0.9822, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9043, 0.9372, 1.024, 1.144, 1.288, 1.475, 1.719, 2.029, 2.408, 2.861",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.282, 1.382, 1.512, 1.66, 1.844, 2.087, 2.395, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.09722, 0.1222, 0.1962, 0.3178, 0.5181, 0.8143, 1.211, 1.716, 2.336, 3.078",\
                 "0.09714, 0.1222, 0.1962, 0.3178, 0.518, 0.8143, 1.21, 1.716, 2.336, 3.079",\
                 "0.09722, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.337, 3.077",\
                 "0.09906, 0.1237, 0.1974, 0.3188, 0.5181, 0.8126, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.1378, 0.2086, 0.3254, 0.5192, 0.8112, 1.208, 1.717, 2.336, 3.076",\
                 "0.13, 0.1552, 0.2262, 0.3398, 0.5244, 0.8118, 1.209, 1.715, 2.336, 3.076",\
                 "0.1478, 0.1742, 0.2454, 0.3544, 0.5294, 0.8124, 1.208, 1.715, 2.338, 3.078",\
                 "0.1664, 0.1958, 0.269, 0.3718, 0.5352, 0.8132, 1.209, 1.716, 2.337, 3.078",\
                 "0.1864, 0.218, 0.2946, 0.3914, 0.5426, 0.8142, 1.209, 1.716, 2.337, 3.076",\
                 "0.2064, 0.2404, 0.3212, 0.4122, 0.5508, 0.8158, 1.209, 1.716, 2.338, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3704, 0.4746, 0.6161, 0.8072, 1.055, 1.366, 1.746, 2.2",\
                 "0.2852, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5295, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.43",\
                 "0.6215, 0.65, 0.7265, 0.8365, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7558, 0.7866, 0.8681, 0.9821, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9043, 0.9373, 1.025, 1.144, 1.288, 1.475, 1.719, 2.029, 2.408, 2.86",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.282, 1.382, 1.512, 1.66, 1.844, 2.086, 2.395, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0972, 0.1222, 0.1962, 0.3177, 0.518, 0.8143, 1.21, 1.716, 2.336, 3.08",\
                 "0.09712, 0.1222, 0.1961, 0.3177, 0.5181, 0.8143, 1.211, 1.716, 2.336, 3.076",\
                 "0.09728, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.338, 3.078",\
                 "0.09914, 0.1238, 0.1973, 0.3188, 0.518, 0.8129, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.138, 0.2086, 0.3254, 0.5192, 0.8114, 1.209, 1.717, 2.336, 3.076",\
                 "0.129, 0.1552, 0.2258, 0.3398, 0.5244, 0.8114, 1.209, 1.715, 2.339, 3.076",\
                 "0.147, 0.175, 0.2454, 0.3544, 0.5294, 0.8122, 1.208, 1.716, 2.336, 3.076",\
                 "0.1662, 0.1962, 0.2692, 0.3718, 0.5354, 0.8132, 1.209, 1.716, 2.337, 3.077",\
                 "0.1866, 0.218, 0.2948, 0.3916, 0.5426, 0.8142, 1.209, 1.717, 2.337, 3.076",\
                 "0.2068, 0.24, 0.3214, 0.4122, 0.551, 0.816, 1.21, 1.717, 2.339, 3.077");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3704, 0.4746, 0.6161, 0.8072, 1.055, 1.366, 1.746, 2.2",\
                 "0.2851, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5296, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.429",\
                 "0.6214, 0.6501, 0.7266, 0.8366, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7557, 0.7867, 0.8681, 0.9822, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9041, 0.9374, 1.025, 1.144, 1.288, 1.475, 1.719, 2.029, 2.408, 2.861",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.282, 1.381, 1.512, 1.66, 1.844, 2.087, 2.395, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0972, 0.1222, 0.1962, 0.3176, 0.518, 0.8143, 1.21, 1.716, 2.336, 3.08",\
                 "0.09714, 0.1222, 0.1962, 0.3178, 0.518, 0.8143, 1.21, 1.716, 2.336, 3.079",\
                 "0.09722, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.337, 3.077",\
                 "0.09906, 0.1237, 0.1974, 0.3188, 0.5181, 0.8126, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.1378, 0.2086, 0.3254, 0.5192, 0.8112, 1.208, 1.717, 2.336, 3.076",\
                 "0.13, 0.1552, 0.2262, 0.3398, 0.5244, 0.8116, 1.209, 1.715, 2.338, 3.081",\
                 "0.1474, 0.1742, 0.2454, 0.3544, 0.5294, 0.8124, 1.208, 1.716, 2.339, 3.076",\
                 "0.1662, 0.1958, 0.2688, 0.3718, 0.5352, 0.8132, 1.209, 1.716, 2.337, 3.077",\
                 "0.1862, 0.2172, 0.2946, 0.3916, 0.5428, 0.8144, 1.209, 1.716, 2.337, 3.076",\
                 "0.2062, 0.2404, 0.3216, 0.4122, 0.5508, 0.8164, 1.209, 1.716, 2.337, 3.077");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.2758, 0.3006, 0.3704, 0.4746, 0.6161, 0.8072, 1.055, 1.366, 1.746, 2.2",\
                 "0.2852, 0.31, 0.3797, 0.4839, 0.6254, 0.8166, 1.064, 1.376, 1.756, 2.209",\
                 "0.3224, 0.3472, 0.4168, 0.521, 0.6626, 0.8537, 1.101, 1.413, 1.793, 2.246",\
                 "0.3988, 0.4236, 0.4928, 0.5969, 0.7384, 0.9291, 1.176, 1.488, 1.868, 2.321",\
                 "0.5032, 0.5295, 0.6017, 0.7076, 0.8489, 1.039, 1.285, 1.596, 1.976, 2.429",\
                 "0.6214, 0.65, 0.7265, 0.8365, 0.9792, 1.168, 1.414, 1.725, 2.104, 2.557",\
                 "0.7557, 0.7868, 0.8682, 0.9822, 1.126, 1.313, 1.559, 1.869, 2.249, 2.701",\
                 "0.9043, 0.9374, 1.025, 1.144, 1.288, 1.475, 1.72, 2.029, 2.408, 2.861",\
                 "1.067, 1.103, 1.196, 1.321, 1.466, 1.652, 1.895, 2.204, 2.583, 3.035",\
                 "1.244, 1.282, 1.381, 1.512, 1.66, 1.844, 2.087, 2.394, 2.772, 3.224");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003791, 0.01359, 0.0323, 0.06145, 0.1024, 0.1562, 0.224, 0.3068, 0.4054");
          values("0.0972, 0.1222, 0.1962, 0.3177, 0.5181, 0.8143, 1.21, 1.716, 2.336, 3.08",\
                 "0.09714, 0.1222, 0.1961, 0.3177, 0.5181, 0.8143, 1.211, 1.716, 2.336, 3.076",\
                 "0.09728, 0.1223, 0.1962, 0.3179, 0.518, 0.8138, 1.21, 1.715, 2.338, 3.078",\
                 "0.09914, 0.1238, 0.1974, 0.3188, 0.518, 0.8128, 1.21, 1.716, 2.336, 3.076",\
                 "0.1135, 0.138, 0.2086, 0.3254, 0.5192, 0.8114, 1.208, 1.717, 2.336, 3.076",\
                 "0.1298, 0.1552, 0.2258, 0.34, 0.5244, 0.8114, 1.209, 1.715, 2.339, 3.081",\
                 "0.1474, 0.1746, 0.2456, 0.3544, 0.5298, 0.8122, 1.208, 1.716, 2.336, 3.076",\
                 "0.1662, 0.196, 0.2688, 0.3716, 0.5354, 0.8132, 1.209, 1.716, 2.337, 3.078",\
                 "0.1866, 0.218, 0.2946, 0.3916, 0.5426, 0.8144, 1.209, 1.716, 2.337, 3.076",\
                 "0.2062, 0.2394, 0.3216, 0.4122, 0.5508, 0.8158, 1.209, 1.716, 2.337, 3.077");
        }
      }
    }

    pin(RN) {
      capacitance : 0.008159 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5.2 ;
      min_pulse_width_low : 0.44 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05224, 0.05095, 0.05038, 0.05034, 0.0503, 0.0504, 0.05045, 0.05037, \
                  0.05046, 0.05046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05047, -0.05039, -0.05028, -0.05023, -0.05026, -0.05024, -0.0504, \
                  -0.05036, -0.05035, -0.05029");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05224, 0.05095, 0.05038, 0.05034, 0.05033, 0.0504, 0.05045, \
                  0.05043, 0.05046, 0.05045");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05047, -0.05039, -0.05028, -0.05023, -0.05026, -0.05024, -0.0504, \
                  -0.05036, -0.05035, -0.05035");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05224, 0.05095, 0.05039, 0.05034, 0.0503, 0.05043, 0.05045, \
                  0.05046, 0.05048, 0.05047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05047, -0.05039, -0.05028, -0.05023, -0.05026, -0.05023, -0.05038, \
                  -0.05036, -0.05035, -0.05036");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05095, 0.04912, 0.04806, 0.04773, 0.04765, 0.04764, 0.04771, \
                  0.04771, 0.04765, 0.04767");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.04706, -0.04759, -0.04846, -0.04897, -0.04927, -0.04938, -0.04969, \
                  -0.04969, -0.04978, -0.04988");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05095, 0.04912, 0.04806, 0.04772, 0.04766, 0.04763, 0.04771, \
                  0.0477, 0.04767, 0.04769");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.04706, -0.04759, -0.04846, -0.04897, -0.04927, -0.04939, -0.04969, \
                  -0.04969, -0.04974, -0.04988");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05095, 0.04912, 0.04806, 0.04772, 0.04769, 0.04763, 0.04768, \
                  0.04771, 0.04767, 0.04768");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.04706, -0.04759, -0.04846, -0.04897, -0.04927, -0.04939, -0.04969, \
                  -0.04969, -0.04981, -0.04988");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05223, 0.05095, 0.05039, 0.05034, 0.0503, 0.05043, 0.05046, \
                  0.05037, 0.05047, 0.05047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05047, -0.05039, -0.05028, -0.05023, -0.05026, -0.05023, -0.05039, \
                  -0.05035, -0.05035, -0.05035");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05099, 0.04911, 0.04806, 0.04773, 0.04766, 0.04762, 0.0477, \
                  0.0477, 0.04771, 0.04768");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.04706, -0.04759, -0.04846, -0.04897, -0.04927, -0.04939, -0.04969, \
                  -0.04969, -0.04978, -0.04987");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.0535, 0.05123, 0.05043, 0.05032, 0.05031, 0.05044, 0.05049, \
                  0.05046, 0.05045, 0.05044");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05048, -0.05043, -0.05033, -0.0502, -0.05021, -0.05017, -0.05038, \
                  -0.05037, -0.05036, -0.05036");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.0535, 0.05123, 0.05043, 0.05032, 0.05034, 0.05047, 0.05051, \
                  0.05045, 0.05044, 0.05044");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05048, -0.05043, -0.05033, -0.0502, -0.05021, -0.05017, -0.05038, \
                  -0.05037, -0.05036, -0.05035");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05349, 0.05123, 0.05042, 0.05035, 0.05033, 0.05037, 0.05049, \
                  0.05037, 0.05044, 0.0505");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05048, -0.05043, -0.05033, -0.0502, -0.05021, -0.05017, -0.05037, \
                  -0.05037, -0.05036, -0.05035");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05337, 0.05114, 0.05041, 0.05033, 0.05035, 0.05048, 0.05049, \
                  0.05044, 0.05046, 0.05044");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05048, -0.05042, -0.05031, -0.05023, -0.05017, -0.05023, -0.05038, \
                  -0.0504, -0.05038, -0.05036");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05337, 0.05117, 0.05041, 0.05032, 0.05037, 0.05047, 0.05045, \
                  0.05042, 0.05045, 0.05048");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05048, -0.05043, -0.05033, -0.0502, -0.05021, -0.05017, -0.05038, \
                  -0.05037, -0.05036, -0.05036");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05337, 0.05117, 0.05041, 0.05032, 0.05037, 0.05047, 0.05045, \
                  0.05039, 0.05044, 0.05047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05048, -0.05043, -0.05033, -0.0502, -0.05021, -0.05017, -0.05038, \
                  -0.05037, -0.05036, -0.05037");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.0535, 0.05123, 0.05042, 0.05035, 0.05032, 0.05043, 0.05031, \
                  0.05046, 0.05043, 0.0505");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05048, -0.05043, -0.05033, -0.0502, -0.05021, -0.05017, -0.05037, \
                  -0.05037, -0.05036, -0.05035");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.05337, 0.05117, 0.05041, 0.05032, 0.05037, 0.05048, 0.05045, \
                  0.05041, 0.05042, 0.05048");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.05048, -0.05043, -0.05033, -0.0502, -0.05021, -0.05017, -0.05037, \
                  -0.05037, -0.05036, -0.05036");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.258, -0.269, -0.293, -0.341, -0.394, -0.431, -0.464, -0.479, -0.484, -0.471",\
                 "-0.261, -0.268, -0.295, -0.343, -0.389, -0.438, -0.463, -0.482, -0.486, -0.471",\
                 "-0.267, -0.27, -0.306, -0.348, -0.4, -0.442, -0.477, -0.488, -0.505, -0.49",\
                 "-0.249, -0.256, -0.287, -0.338, -0.378, -0.427, -0.463, -0.479, -0.495, -0.479",\
                 "-0.143, -0.154, -0.177, -0.227, -0.279, -0.331, -0.369, -0.385, -0.407, -0.397",\
                 "0.07, 0.055, 0.037, -0.015, -0.076, -0.136, -0.177, -0.206, -0.221, -0.209",\
                 "0.373, 0.377, 0.328, 0.268, 0.211, 0.152, 0.096, 0.075, 0.047, 0.052",\
                 "0.791, 0.761, 0.738, 0.663, 0.588, 0.505, 0.451, 0.424, 0.389, 0.402",\
                 "1.286, 1.265, 1.184, 1.129, 1.057, 0.959, 0.886, 0.865, 0.821, 0.834",\
                 "1.872, 1.837, 1.826, 1.706, 1.607, 1.504, 1.411, 1.397, 1.348, 1.356");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.258, -0.269, -0.293, -0.341, -0.394, -0.431, -0.464, -0.479, -0.484, -0.471",\
                 "-0.261, -0.268, -0.295, -0.343, -0.389, -0.438, -0.463, -0.482, -0.486, -0.471",\
                 "-0.267, -0.27, -0.306, -0.348, -0.4, -0.442, -0.477, -0.488, -0.505, -0.49",\
                 "-0.249, -0.256, -0.287, -0.338, -0.378, -0.427, -0.463, -0.479, -0.495, -0.479",\
                 "-0.143, -0.154, -0.177, -0.227, -0.279, -0.331, -0.369, -0.385, -0.407, -0.397",\
                 "0.07, 0.055, 0.037, -0.015, -0.076, -0.136, -0.177, -0.206, -0.221, -0.209",\
                 "0.389, 0.366, 0.328, 0.274, 0.211, 0.152, 0.096, 0.075, 0.047, 0.052",\
                 "0.769, 0.761, 0.738, 0.663, 0.588, 0.505, 0.445, 0.424, 0.389, 0.402",\
                 "1.286, 1.265, 1.225, 1.129, 1.051, 0.959, 0.886, 0.865, 0.821, 0.856",\
                 "1.872, 1.837, 1.826, 1.706, 1.607, 1.504, 1.411, 1.397, 1.348, 1.356");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.258, -0.269, -0.293, -0.341, -0.394, -0.431, -0.464, -0.479, -0.484, -0.471",\
                 "-0.261, -0.268, -0.295, -0.343, -0.389, -0.438, -0.463, -0.482, -0.486, -0.471",\
                 "-0.267, -0.27, -0.306, -0.348, -0.4, -0.442, -0.477, -0.488, -0.505, -0.49",\
                 "-0.249, -0.256, -0.287, -0.338, -0.378, -0.427, -0.463, -0.479, -0.495, -0.479",\
                 "-0.143, -0.154, -0.177, -0.227, -0.279, -0.331, -0.369, -0.385, -0.407, -0.397",\
                 "0.07, 0.055, 0.037, -0.015, -0.076, -0.136, -0.177, -0.206, -0.221, -0.209",\
                 "0.373, 0.366, 0.328, 0.274, 0.211, 0.152, 0.096, 0.075, 0.047, 0.052",\
                 "0.769, 0.761, 0.738, 0.663, 0.588, 0.505, 0.445, 0.424, 0.389, 0.421",\
                 "1.286, 1.265, 1.22, 1.129, 1.057, 0.959, 0.886, 0.865, 0.821, 0.834",\
                 "1.872, 1.837, 1.826, 1.699, 1.629, 1.504, 1.411, 1.397, 1.348, 1.356");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.258, -0.269, -0.293, -0.341, -0.394, -0.431, -0.464, -0.479, -0.484, -0.471",\
                 "-0.261, -0.268, -0.295, -0.343, -0.395, -0.438, -0.469, -0.482, -0.486, -0.478",\
                 "-0.267, -0.27, -0.306, -0.348, -0.394, -0.442, -0.477, -0.496, -0.505, -0.49",\
                 "-0.242, -0.256, -0.287, -0.338, -0.378, -0.427, -0.463, -0.479, -0.495, -0.486",\
                 "-0.143, -0.154, -0.177, -0.227, -0.279, -0.331, -0.369, -0.385, -0.407, -0.397",\
                 "0.07, 0.055, 0.037, -0.015, -0.076, -0.136, -0.177, -0.206, -0.221, -0.209",\
                 "0.373, 0.366, 0.328, 0.28, 0.211, 0.144, 0.096, 0.069, 0.047, 0.052",\
                 "0.769, 0.746, 0.707, 0.663, 0.588, 0.505, 0.445, 0.424, 0.389, 0.421",\
                 "1.286, 1.265, 1.225, 1.14, 1.057, 0.959, 0.886, 0.865, 0.821, 0.834",\
                 "1.872, 1.837, 1.826, 1.706, 1.607, 1.504, 1.411, 1.397, 1.337, 1.356");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.412, 0.423, 0.45, 0.5, 0.55, 0.604, 0.641, 0.672, 0.692, 0.702",\
                 "0.415, 0.424, 0.455, 0.503, 0.551, 0.6, 0.644, 0.678, 0.696, 0.704",\
                 "0.433, 0.44, 0.465, 0.518, 0.567, 0.616, 0.656, 0.683, 0.706, 0.714",\
                 "0.467, 0.471, 0.498, 0.55, 0.599, 0.652, 0.684, 0.722, 0.739, 0.747",\
                 "0.527, 0.536, 0.56, 0.615, 0.66, 0.71, 0.75, 0.781, 0.794, 0.8",\
                 "0.614, 0.622, 0.65, 0.701, 0.75, 0.796, 0.834, 0.86, 0.881, 0.892",\
                 "0.719, 0.727, 0.753, 0.806, 0.853, 0.9, 0.933, 0.964, 0.987, 0.999",\
                 "0.84, 0.851, 0.874, 0.923, 0.971, 1.016, 1.053, 1.086, 1.105, 1.114",\
                 "0.98, 0.991, 1.015, 1.06, 1.109, 1.15, 1.189, 1.218, 1.24, 1.254",\
                 "1.136, 1.146, 1.171, 1.218, 1.261, 1.302, 1.339, 1.369, 1.396, 1.406");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.412, 0.423, 0.45, 0.5, 0.55, 0.604, 0.641, 0.672, 0.692, 0.702",\
                 "0.415, 0.424, 0.455, 0.503, 0.551, 0.6, 0.644, 0.678, 0.696, 0.704",\
                 "0.433, 0.44, 0.465, 0.518, 0.567, 0.616, 0.656, 0.683, 0.706, 0.714",\
                 "0.467, 0.471, 0.498, 0.55, 0.599, 0.652, 0.684, 0.722, 0.739, 0.747",\
                 "0.527, 0.536, 0.56, 0.615, 0.66, 0.71, 0.75, 0.781, 0.794, 0.8",\
                 "0.614, 0.622, 0.65, 0.701, 0.75, 0.796, 0.834, 0.86, 0.881, 0.892",\
                 "0.719, 0.727, 0.753, 0.806, 0.853, 0.9, 0.933, 0.964, 0.987, 0.99",\
                 "0.84, 0.851, 0.874, 0.923, 0.971, 1.016, 1.053, 1.086, 1.105, 1.114",\
                 "0.98, 0.991, 1.015, 1.06, 1.109, 1.15, 1.189, 1.218, 1.24, 1.254",\
                 "1.136, 1.146, 1.171, 1.218, 1.261, 1.302, 1.339, 1.369, 1.396, 1.406");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.412, 0.423, 0.45, 0.5, 0.55, 0.604, 0.641, 0.672, 0.692, 0.702",\
                 "0.415, 0.424, 0.455, 0.503, 0.551, 0.6, 0.644, 0.678, 0.696, 0.704",\
                 "0.433, 0.44, 0.465, 0.518, 0.567, 0.616, 0.656, 0.683, 0.706, 0.714",\
                 "0.467, 0.471, 0.498, 0.55, 0.599, 0.652, 0.684, 0.722, 0.739, 0.747",\
                 "0.527, 0.536, 0.56, 0.615, 0.66, 0.71, 0.75, 0.781, 0.794, 0.8",\
                 "0.614, 0.622, 0.65, 0.701, 0.75, 0.796, 0.834, 0.86, 0.881, 0.892",\
                 "0.719, 0.727, 0.753, 0.806, 0.853, 0.9, 0.933, 0.964, 0.987, 0.99",\
                 "0.84, 0.851, 0.874, 0.923, 0.971, 1.016, 1.053, 1.086, 1.105, 1.114",\
                 "0.98, 0.991, 1.015, 1.06, 1.109, 1.15, 1.189, 1.218, 1.24, 1.254",\
                 "1.136, 1.146, 1.171, 1.218, 1.261, 1.302, 1.339, 1.369, 1.396, 1.406");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.412, 0.423, 0.45, 0.5, 0.55, 0.604, 0.641, 0.672, 0.692, 0.702",\
                 "0.415, 0.424, 0.455, 0.503, 0.557, 0.6, 0.644, 0.678, 0.696, 0.704",\
                 "0.433, 0.44, 0.465, 0.518, 0.567, 0.616, 0.656, 0.683, 0.706, 0.714",\
                 "0.46, 0.471, 0.498, 0.55, 0.599, 0.652, 0.69, 0.722, 0.739, 0.747",\
                 "0.527, 0.531, 0.56, 0.615, 0.66, 0.71, 0.75, 0.781, 0.794, 0.807",\
                 "0.614, 0.622, 0.65, 0.701, 0.75, 0.796, 0.834, 0.86, 0.881, 0.892",\
                 "0.719, 0.727, 0.753, 0.806, 0.853, 0.9, 0.933, 0.964, 0.987, 0.999",\
                 "0.84, 0.851, 0.874, 0.923, 0.971, 1.016, 1.053, 1.086, 1.105, 1.114",\
                 "0.98, 0.991, 1.015, 1.06, 1.109, 1.15, 1.189, 1.218, 1.24, 1.254",\
                 "1.136, 1.14, 1.171, 1.218, 1.261, 1.302, 1.339, 1.369, 1.396, 1.406");
        }
      }

      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("0.401");
        }
      }

      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("0.401");
        }
      }

      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("0.401");
        }
      }

      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("0.401");
        }
      }

      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("0.401");
        }
      }

      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("0.401");
        }
      }

      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("0.401");
        }
      }

      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("0.401");
        }
      }

      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("0.44");
        }
      }

      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("0.44");
        }
      }

      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("0.44");
        }
      }

      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("0.44");
        }
      }

      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("0.44");
        }
      }

      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("0.44");
        }
      }

      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("0.44");
        }
      }

      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("0.44");
        }
      }
    }

    pin(SE) {
      capacitance : 0.00852 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1563, 0.1551, 0.1569, 0.1668, 0.1861, 0.2159, 0.2571, 0.31, \
                  0.3757, 0.4546");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.0008507, 7.788e-05, 0.0007967, 0.007596, 0.02311, 0.04857, 0.08453, \
                  0.1317, 0.1905, 0.2617");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.4563, 0.4541, 0.4541, 0.4631, 0.4883, 0.5348, 0.6052, 0.7027, \
                  0.8271, 0.9781");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2013, 0.1992, 0.1983, 0.2048, 0.2269, 0.2681, 0.3313, 0.4177, \
                  0.5279, 0.6631");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1562, 0.155, 0.1569, 0.1668, 0.1862, 0.2161, 0.2571, 0.31, 0.3756, \
                  0.4545");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.0008309, 8.211e-05, 0.0007913, 0.007543, 0.0231, 0.04852, 0.08457, \
                  0.1318, 0.1906, 0.2617");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.444, 0.4419, 0.4419, 0.4508, 0.4759, 0.5224, 0.5928, 0.6901, \
                  0.8139, 0.9645");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2096, 0.2075, 0.2065, 0.2131, 0.2352, 0.2762, 0.3396, 0.426, \
                  0.5361, 0.6713");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3588, 0.3576, 0.3592, 0.3687, 0.3876, 0.417, 0.4584, 0.5123, \
                  0.5795, 0.6606");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.322, 0.3213, 0.3218, 0.3271, 0.3416, 0.3656, 0.4008, 0.4475, \
                  0.5066, 0.5785");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1584, 0.1571, 0.1593, 0.1694, 0.1894, 0.2195, 0.2609, 0.3143, \
                  0.38, 0.4592");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.009667, -0.0114, -0.01206, -0.005493, 0.009966, 0.03553, 0.07145, \
                  0.1188, 0.1777, 0.249");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3672, 0.3659, 0.3676, 0.3771, 0.3958, 0.4254, 0.4668, 0.5207, \
                  0.588, 0.669");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3096, 0.3087, 0.3092, 0.3148, 0.3291, 0.3531, 0.3884, 0.4351, \
                  0.4941, 0.566");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1584, 0.1571, 0.1593, 0.1696, 0.1893, 0.2195, 0.2609, 0.3142, \
                  0.38, 0.4591");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.009643, -0.0114, -0.01204, -0.005511, 0.009976, 0.03546, 0.07151, \
                  0.1188, 0.1777, 0.249");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1592, 0.1582, 0.1602, 0.1702, 0.1899, 0.2197, 0.2608, 0.3139, \
                  0.3796, 0.4584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.0001589, -0.000928, -0.0001829, 0.00667, 0.02214, 0.04764, \
                  0.0836, 0.1308, 0.1897, 0.2609");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1567, 0.1548, 0.1565, 0.1665, 0.1859, 0.2157, 0.2568, 0.3099, \
                  0.3754, 0.4543");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.006937, -0.008387, -0.008677, -0.002449, 0.01347, 0.04058, \
                  0.07938, 0.1294, 0.1899, 0.2617");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1556, 0.1543, 0.1561, 0.166, 0.1854, 0.2153, 0.2563, 0.3093, \
                  0.375, 0.4538");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.0001867, -0.0009436, -0.0001713, 0.006604, 0.02217, 0.04753, \
                  0.08363, 0.1309, 0.1897, 0.2609");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1978, 0.1965, 0.1986, 0.2092, 0.2309, 0.2633, 0.3074, 0.3635, \
                  0.4321, 0.5129");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.006857, -0.008356, -0.008677, -0.002545, 0.01346, 0.04042, \
                  0.07931, 0.1293, 0.1898, 0.2616");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.159, 0.1577, 0.1595, 0.169, 0.1881, 0.2175, 0.2583, 0.3112, \
                  0.3766, 0.4553");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.0008453, 0.0001331, 0.0008636, 0.007371, 0.0228, 0.04825, 0.0841, \
                  0.1313, 0.1902, 0.2613");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1619, 0.1607, 0.1625, 0.1725, 0.192, 0.2219, 0.263, 0.3161, \
                  0.3817, 0.4608");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.009859, -0.01113, -0.01106, -0.004475, 0.01098, 0.03645, 0.07233, \
                  0.1196, 0.1785, 0.2496");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1608, 0.1595, 0.1614, 0.1711, 0.1901, 0.2196, 0.2604, 0.3133, \
                  0.3785, 0.4573");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02702, 0.02617, 0.02691, 0.03352, 0.0489, 0.07437, 0.1104, 0.1575, \
                  0.2163, 0.2875");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1579, 0.1567, 0.1588, 0.169, 0.189, 0.219, 0.2604, 0.3139, 0.3796, \
                  0.4587");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.0117, -0.01306, -0.0131, -0.006548, 0.008925, 0.03445, 0.07061, \
                  0.1177, 0.1768, 0.248");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.057, -0.05, -0.022, 0.023, 0.064, 0.108, 0.136, 0.154, 0.158, 0.149",\
                 "-0.065, -0.056, -0.025, 0.016, 0.06, 0.101, 0.131, 0.146, 0.158, 0.142",\
                 "-0.074, -0.069, -0.047, 0.006, 0.05, 0.086, 0.115, 0.13, 0.136, 0.125",\
                 "-0.103, -0.092, -0.063, -0.016, 0.03, 0.069, 0.097, 0.112, 0.116, 0.106",\
                 "-0.126, -0.117, -0.091, -0.038, -0, 0.041, 0.067, 0.09, 0.085, 0.081",\
                 "-0.153, -0.139, -0.12, -0.07, -0.03, 0.007, 0.035, 0.05, 0.053, 0.041",\
                 "-0.173, -0.163, -0.138, -0.091, -0.052, -0.017, 0.01, 0.028, 0.027, 0.018",\
                 "-0.183, -0.175, -0.153, -0.104, -0.062, -0.034, -0.009, 0.007, 0.002, -0.001",\
                 "-0.187, -0.177, -0.161, -0.116, -0.079, -0.046, -0.019, -0.001, -0.009, -0.024",\
                 "-0.201, -0.193, -0.172, -0.127, -0.096, -0.066, -0.036, -0.019, -0.037, -0.044");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.275, -0.267, -0.25, -0.235, -0.239, -0.253, -0.272, -0.306, -0.347, -0.404",\
                 "-0.282, -0.275, -0.251, -0.242, -0.243, -0.253, -0.278, -0.311, -0.351, -0.408",\
                 "-0.293, -0.295, -0.271, -0.263, -0.258, -0.269, -0.293, -0.321, -0.368, -0.424",\
                 "-0.328, -0.322, -0.299, -0.291, -0.29, -0.297, -0.313, -0.339, -0.383, -0.439",\
                 "-0.374, -0.363, -0.347, -0.329, -0.322, -0.327, -0.343, -0.362, -0.407, -0.455",\
                 "-0.416, -0.408, -0.384, -0.371, -0.365, -0.361, -0.369, -0.394, -0.432, -0.475",\
                 "-0.458, -0.452, -0.431, -0.413, -0.398, -0.396, -0.411, -0.43, -0.461, -0.507",\
                 "-0.494, -0.482, -0.465, -0.446, -0.431, -0.431, -0.444, -0.465, -0.495, -0.538",\
                 "-0.514, -0.506, -0.49, -0.468, -0.46, -0.46, -0.47, -0.491, -0.524, -0.569",\
                 "-0.528, -0.523, -0.503, -0.486, -0.478, -0.479, -0.482, -0.507, -0.549, -0.594");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.401, -0.389, -0.372, -0.355, -0.356, -0.366, -0.385, -0.41, -0.455, -0.507",\
                 "-0.404, -0.402, -0.383, -0.367, -0.364, -0.376, -0.393, -0.423, -0.461, -0.518",\
                 "-0.441, -0.436, -0.418, -0.401, -0.404, -0.41, -0.431, -0.462, -0.501, -0.556",\
                 "-0.513, -0.503, -0.486, -0.468, -0.47, -0.476, -0.496, -0.522, -0.567, -0.619",\
                 "-0.596, -0.588, -0.568, -0.551, -0.548, -0.561, -0.573, -0.602, -0.647, -0.697",\
                 "-0.686, -0.684, -0.666, -0.643, -0.649, -0.653, -0.672, -0.703, -0.742, -0.793",\
                 "-0.802, -0.796, -0.777, -0.76, -0.757, -0.767, -0.782, -0.81, -0.853, -0.901",\
                 "-0.931, -0.925, -0.901, -0.889, -0.883, -0.891, -0.908, -0.937, -0.977, -1.027",\
                 "-1.068, -1.065, -1.045, -1.031, -1.028, -1.03, -1.045, -1.071, -1.115, -1.164",\
                 "-1.229, -1.222, -1.205, -1.183, -1.182, -1.187, -1.201, -1.231, -1.265, -1.319");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.115, -0.107, -0.084, -0.037, 0.009, 0.047, 0.072, 0.094, 0.099, 0.085",\
                 "-0.129, -0.12, -0.091, -0.047, -0.003, 0.039, 0.066, 0.079, 0.088, 0.077",\
                 "-0.153, -0.144, -0.124, -0.076, -0.032, 0.012, 0.035, 0.052, 0.054, 0.046",\
                 "-0.189, -0.183, -0.153, -0.109, -0.067, -0.025, 0.002, 0.02, 0.024, 0.016",\
                 "-0.222, -0.217, -0.19, -0.142, -0.096, -0.065, -0.034, -0.012, -0.014, -0.022",\
                 "-0.251, -0.239, -0.211, -0.164, -0.125, -0.089, -0.058, -0.039, -0.037, -0.046",\
                 "-0.259, -0.25, -0.224, -0.179, -0.132, -0.093, -0.07, -0.05, -0.046, -0.052",\
                 "-0.257, -0.25, -0.224, -0.171, -0.126, -0.097, -0.064, -0.049, -0.048, -0.05",\
                 "-0.237, -0.227, -0.202, -0.159, -0.114, -0.079, -0.048, -0.026, -0.028, -0.035",\
                 "-0.207, -0.2, -0.172, -0.127, -0.082, -0.042, -0.018, 0.001, 0.002, -0.007");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.607, 0.6, 0.573, 0.513, 0.461, 0.411, 0.369, 0.343, 0.337, 0.333",\
                 "0.615, 0.608, 0.581, 0.52, 0.468, 0.422, 0.377, 0.349, 0.342, 0.344",\
                 "0.634, 0.625, 0.594, 0.531, 0.479, 0.434, 0.391, 0.368, 0.347, 0.357",\
                 "0.658, 0.649, 0.615, 0.56, 0.504, 0.456, 0.414, 0.389, 0.372, 0.383",\
                 "0.702, 0.693, 0.661, 0.606, 0.556, 0.505, 0.465, 0.436, 0.413, 0.425",\
                 "0.784, 0.777, 0.748, 0.689, 0.632, 0.585, 0.538, 0.51, 0.497, 0.499",\
                 "0.889, 0.879, 0.851, 0.792, 0.735, 0.691, 0.642, 0.612, 0.592, 0.595",\
                 "1.013, 1.008, 0.979, 0.914, 0.855, 0.803, 0.758, 0.727, 0.704, 0.705",\
                 "1.157, 1.145, 1.117, 1.053, 0.993, 0.939, 0.893, 0.856, 0.83, 0.823",\
                 "1.319, 1.306, 1.277, 1.209, 1.144, 1.091, 1.043, 1.006, 0.973, 0.968");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.544, 0.53, 0.503, 0.453, 0.416, 0.396, 0.402, 0.425, 0.456, 0.507",\
                 "0.545, 0.537, 0.506, 0.457, 0.421, 0.399, 0.405, 0.424, 0.462, 0.512",\
                 "0.564, 0.559, 0.524, 0.474, 0.438, 0.418, 0.42, 0.446, 0.476, 0.522",\
                 "0.592, 0.586, 0.559, 0.503, 0.462, 0.447, 0.446, 0.464, 0.496, 0.542",\
                 "0.641, 0.63, 0.597, 0.55, 0.512, 0.488, 0.48, 0.501, 0.524, 0.564",\
                 "0.694, 0.685, 0.657, 0.605, 0.565, 0.537, 0.53, 0.536, 0.562, 0.602",\
                 "0.749, 0.742, 0.713, 0.665, 0.627, 0.59, 0.577, 0.582, 0.6, 0.638",\
                 "0.806, 0.798, 0.769, 0.722, 0.68, 0.64, 0.626, 0.628, 0.646, 0.685",\
                 "0.851, 0.846, 0.814, 0.766, 0.723, 0.687, 0.667, 0.674, 0.687, 0.724",\
                 "0.894, 0.886, 0.853, 0.809, 0.763, 0.725, 0.71, 0.713, 0.725, 0.756");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.647, 0.639, 0.608, 0.559, 0.522, 0.509, 0.509, 0.529, 0.555, 0.603",\
                 "0.66, 0.651, 0.619, 0.569, 0.531, 0.514, 0.514, 0.537, 0.572, 0.616",\
                 "0.695, 0.69, 0.653, 0.604, 0.566, 0.55, 0.552, 0.571, 0.604, 0.655",\
                 "0.758, 0.753, 0.721, 0.669, 0.636, 0.616, 0.623, 0.639, 0.67, 0.714",\
                 "0.839, 0.834, 0.8, 0.758, 0.721, 0.7, 0.702, 0.722, 0.752, 0.799",\
                 "0.942, 0.931, 0.897, 0.849, 0.815, 0.796, 0.799, 0.813, 0.846, 0.896",\
                 "1.055, 1.043, 1.013, 0.962, 0.929, 0.91, 0.908, 0.926, 0.956, 1.006",\
                 "1.176, 1.173, 1.143, 1.088, 1.058, 1.032, 1.036, 1.051, 1.085, 1.125",\
                 "1.326, 1.315, 1.286, 1.232, 1.197, 1.179, 1.177, 1.197, 1.221, 1.269",\
                 "1.479, 1.474, 1.442, 1.389, 1.357, 1.337, 1.332, 1.348, 1.375, 1.418");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.761, 0.754, 0.722, 0.652, 0.593, 0.539, 0.488, 0.462, 0.446, 0.442",\
                 "0.769, 0.764, 0.732, 0.666, 0.604, 0.545, 0.503, 0.469, 0.452, 0.454",\
                 "0.8, 0.794, 0.759, 0.693, 0.63, 0.575, 0.529, 0.493, 0.471, 0.476",\
                 "0.831, 0.823, 0.786, 0.726, 0.663, 0.607, 0.56, 0.531, 0.507, 0.514",\
                 "0.854, 0.844, 0.812, 0.752, 0.686, 0.633, 0.587, 0.556, 0.535, 0.535",\
                 "0.882, 0.869, 0.839, 0.774, 0.715, 0.66, 0.614, 0.583, 0.562, 0.57",\
                 "0.894, 0.884, 0.857, 0.792, 0.728, 0.674, 0.627, 0.594, 0.578, 0.586",\
                 "0.895, 0.888, 0.855, 0.797, 0.735, 0.677, 0.632, 0.6, 0.579, 0.587",\
                 "0.88, 0.866, 0.839, 0.777, 0.717, 0.661, 0.616, 0.583, 0.563, 0.569",\
                 "0.849, 0.84, 0.807, 0.747, 0.69, 0.638, 0.588, 0.556, 0.538, 0.543");
        }
      }
    }

    pin(SI) {
      capacitance : 0.00394 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02536, 0.02524, 0.02513, 0.02514, 0.02521, 0.02519, 0.02522, \
                  0.02521, 0.02519, 0.02521");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02462, -0.02458, -0.02459, -0.0247, -0.02475, -0.02481, -0.02492, \
                  -0.02496, -0.02494, -0.02499");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3658, 0.3648, 0.3638, 0.3631, 0.3673, 0.3819, 0.4105, 0.4565, \
                  0.519, 0.5969");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2006, 0.1995, 0.198, 0.1974, 0.2023, 0.2159, 0.2416, 0.2807, \
                  0.3332, 0.3998");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02532, 0.02519, 0.02509, 0.0252, 0.02515, 0.02526, 0.0252, 0.02519, \
                  0.02522, 0.02522");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02462, -0.02459, -0.02457, -0.02469, -0.02477, -0.02488, -0.02495, \
                  -0.02491, -0.02497, -0.02498");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3534, 0.3525, 0.3513, 0.3507, 0.3549, 0.3694, 0.3978, 0.4434, \
                  0.5057, 0.583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.2089, 0.2078, 0.2064, 0.2057, 0.2106, 0.2241, 0.2498, 0.2888, \
                  0.3415, 0.4078");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02521, 0.02521, 0.02513, 0.02514, 0.02521, 0.02518, 0.02522, \
                  0.02523, 0.02521, 0.02522");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.0232, -0.02375, -0.02455, -0.0247, -0.02475, -0.02486, -0.02492, \
                  -0.02496, -0.02494, -0.02499");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3715, 0.3709, 0.3697, 0.369, 0.3735, 0.3895, 0.4196, 0.467, \
                  0.5305, 0.6086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1872, 0.186, 0.1844, 0.1838, 0.1887, 0.2023, 0.2284, 0.2683, \
                  0.322, 0.3892");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.0252, 0.02518, 0.02506, 0.02515, 0.02518, 0.02518, 0.02522, \
                  0.02521, 0.02522, 0.02522");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.0232, -0.02376, -0.02455, -0.0247, -0.02474, -0.02484, -0.02495, \
                  -0.02496, -0.02497, -0.02498");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.3591, 0.3583, 0.3572, 0.3565, 0.361, 0.3768, 0.4069, 0.454, \
                  0.5172, 0.5948");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.1956, 0.1943, 0.1927, 0.1921, 0.197, 0.2106, 0.2367, 0.2766, \
                  0.3301, 0.3974");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02521, 0.02522, 0.02513, 0.02514, 0.02522, 0.02519, 0.02522, \
                  0.02521, 0.0252, 0.02521");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02462, -0.02458, -0.02459, -0.0247, -0.02475, -0.02481, -0.02493, \
                  -0.02496, -0.02494, -0.02499");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02527, 0.02524, 0.0252, 0.02524, 0.0252, 0.02525, 0.02526, 0.02526, \
                  0.02529, 0.02527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02018, -0.02077, -0.02166, -0.02243, -0.02304, -0.02346, -0.02377, \
                  -0.02394, -0.02409, -0.0242");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02522, 0.0252, 0.02518, 0.02514, 0.02516, 0.02522, 0.02525, \
                  0.02523, 0.0252, 0.02522");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02465, -0.02459, -0.02454, -0.02472, -0.02477, -0.02489, -0.02492, \
                  -0.02496, -0.02497, -0.02497");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.08576, 0.08575, 0.08573, 0.08563, 0.08555, 0.08552, 0.08556, \
                  0.08563, 0.08564, 0.08565");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02018, -0.02079, -0.02166, -0.02245, -0.02304, -0.02348, -0.02378, \
                  -0.02389, -0.02409, -0.02419");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02521, 0.02521, 0.02513, 0.02514, 0.02523, 0.02518, 0.02521, \
                  0.02522, 0.02521, 0.02521");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02376, -0.02406, -0.02457, -0.0247, -0.02474, -0.02485, -0.02492, \
                  -0.02495, -0.02495, -0.02499");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.02528, 0.02528, 0.02524, 0.02522, 0.02523, 0.02521, 0.02527, \
                  0.02528, 0.02528, 0.02529");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02032, -0.02095, -0.02192, -0.02275, -0.02331, -0.02368, -0.02395, \
                  -0.02412, -0.0242, -0.02429");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.0252, 0.02516, 0.02514, 0.02514, 0.02521, 0.0252, 0.02522, 0.02522, \
                  0.02522, 0.02522");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02342, -0.02384, -0.02452, -0.0247, -0.02474, -0.02485, -0.02488, \
                  -0.02492, -0.02495, -0.02499");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.06857, 0.06853, 0.06853, 0.06838, 0.06835, 0.06839, 0.0684, \
                  0.06844, 0.06849, 0.06844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.02032, -0.02094, -0.02192, -0.02277, -0.02331, -0.02368, -0.02385, \
                  -0.02409, -0.0242, -0.0243");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.097, -0.088, -0.057, -0.017, 0.024, 0.062, 0.093, 0.109, 0.118, 0.104",\
                 "-0.103, -0.091, -0.063, -0.026, 0.018, 0.055, 0.088, 0.109, 0.108, 0.096",\
                 "-0.118, -0.106, -0.089, -0.043, 0.003, 0.037, 0.069, 0.091, 0.089, 0.079",\
                 "-0.149, -0.141, -0.112, -0.068, -0.026, 0.013, 0.046, 0.062, 0.062, 0.057",\
                 "-0.176, -0.164, -0.138, -0.093, -0.053, -0.015, 0.016, 0.034, 0.032, 0.022",\
                 "-0.198, -0.185, -0.161, -0.117, -0.075, -0.041, -0.016, 0.003, 0.001, -0.006",\
                 "-0.211, -0.207, -0.178, -0.135, -0.096, -0.06, -0.035, -0.02, -0.024, -0.034",\
                 "-0.22, -0.213, -0.192, -0.146, -0.108, -0.076, -0.052, -0.035, -0.039, -0.05",\
                 "-0.227, -0.217, -0.197, -0.154, -0.12, -0.092, -0.063, -0.051, -0.057, -0.068",\
                 "-0.239, -0.232, -0.212, -0.169, -0.14, -0.113, -0.088, -0.068, -0.086, -0.094");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.332, -0.325, -0.302, -0.288, -0.295, -0.306, -0.331, -0.365, -0.406, -0.468",\
                 "-0.333, -0.325, -0.308, -0.297, -0.296, -0.307, -0.333, -0.363, -0.411, -0.473",\
                 "-0.345, -0.332, -0.318, -0.304, -0.305, -0.319, -0.345, -0.376, -0.424, -0.483",\
                 "-0.361, -0.35, -0.332, -0.322, -0.317, -0.325, -0.351, -0.389, -0.431, -0.488",\
                 "-0.379, -0.374, -0.353, -0.336, -0.339, -0.344, -0.365, -0.399, -0.442, -0.491",\
                 "-0.401, -0.392, -0.368, -0.361, -0.354, -0.361, -0.378, -0.405, -0.445, -0.499",\
                 "-0.415, -0.409, -0.391, -0.375, -0.369, -0.371, -0.391, -0.418, -0.453, -0.507",\
                 "-0.42, -0.415, -0.395, -0.379, -0.376, -0.384, -0.395, -0.423, -0.462, -0.509",\
                 "-0.415, -0.406, -0.387, -0.376, -0.372, -0.376, -0.39, -0.416, -0.457, -0.509",\
                 "-0.393, -0.387, -0.364, -0.355, -0.353, -0.352, -0.369, -0.4, -0.444, -0.494");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.057, -0.05, -0.022, 0.023, 0.064, 0.1, 0.125, 0.146, 0.148, 0.142",\
                 "-0.065, -0.056, -0.025, 0.016, 0.055, 0.093, 0.12, 0.139, 0.148, 0.135",\
                 "-0.083, -0.069, -0.047, -0.003, 0.038, 0.078, 0.104, 0.123, 0.125, 0.119",\
                 "-0.109, -0.099, -0.071, -0.026, 0.016, 0.051, 0.078, 0.095, 0.099, 0.092",\
                 "-0.131, -0.123, -0.097, -0.051, -0.009, 0.024, 0.052, 0.071, 0.073, 0.066",\
                 "-0.145, -0.139, -0.111, -0.07, -0.03, 0.007, 0.035, 0.05, 0.053, 0.041",\
                 "-0.157, -0.147, -0.127, -0.078, -0.038, -0.001, 0.015, 0.04, 0.034, 0.027",\
                 "-0.161, -0.153, -0.13, -0.087, -0.043, -0.013, 0.009, 0.029, 0.027, 0.019",\
                 "-0.167, -0.157, -0.141, -0.094, -0.062, -0.027, -0.004, 0.015, 0.01, 0.009",\
                 "-0.175, -0.167, -0.146, -0.107, -0.074, -0.042, -0.027, 0.001, -0.009, -0.013");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.321, -0.312, -0.294, -0.282, -0.28, -0.291, -0.315, -0.343, -0.386, -0.449",\
                 "-0.321, -0.317, -0.299, -0.283, -0.285, -0.291, -0.316, -0.348, -0.391, -0.447",\
                 "-0.336, -0.323, -0.306, -0.295, -0.293, -0.303, -0.328, -0.36, -0.404, -0.463",\
                 "-0.348, -0.343, -0.323, -0.312, -0.31, -0.316, -0.339, -0.372, -0.415, -0.474",\
                 "-0.369, -0.363, -0.341, -0.329, -0.331, -0.338, -0.35, -0.381, -0.424, -0.477",\
                 "-0.386, -0.385, -0.36, -0.342, -0.342, -0.347, -0.361, -0.394, -0.432, -0.483",\
                 "-0.405, -0.398, -0.38, -0.362, -0.362, -0.363, -0.381, -0.406, -0.439, -0.49",\
                 "-0.405, -0.4, -0.379, -0.371, -0.366, -0.368, -0.383, -0.409, -0.446, -0.499",\
                 "-0.395, -0.396, -0.372, -0.359, -0.36, -0.363, -0.383, -0.408, -0.448, -0.492",\
                 "-0.374, -0.368, -0.344, -0.334, -0.338, -0.344, -0.36, -0.39, -0.428, -0.482");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.698, 0.69, 0.661, 0.599, 0.542, 0.494, 0.445, 0.417, 0.406, 0.404",\
                 "0.705, 0.7, 0.666, 0.603, 0.547, 0.499, 0.454, 0.424, 0.412, 0.415",\
                 "0.721, 0.719, 0.683, 0.62, 0.566, 0.517, 0.472, 0.438, 0.424, 0.43",\
                 "0.751, 0.739, 0.713, 0.648, 0.594, 0.541, 0.496, 0.472, 0.448, 0.459",\
                 "0.798, 0.787, 0.754, 0.696, 0.643, 0.588, 0.544, 0.51, 0.494, 0.498",\
                 "0.874, 0.869, 0.839, 0.774, 0.715, 0.666, 0.622, 0.588, 0.568, 0.578",\
                 "0.985, 0.977, 0.944, 0.886, 0.829, 0.775, 0.728, 0.697, 0.68, 0.673",\
                 "1.132, 1.128, 1.096, 1.03, 0.975, 0.912, 0.867, 0.833, 0.803, 0.802",\
                 "1.306, 1.295, 1.266, 1.199, 1.139, 1.082, 1.024, 0.989, 0.964, 0.955",\
                 "1.505, 1.494, 1.462, 1.396, 1.328, 1.266, 1.209, 1.172, 1.139, 1.131");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.595, 0.587, 0.556, 0.513, 0.471, 0.456, 0.455, 0.477, 0.515, 0.571",\
                 "0.603, 0.594, 0.562, 0.513, 0.479, 0.453, 0.459, 0.484, 0.522, 0.57",\
                 "0.616, 0.606, 0.571, 0.522, 0.485, 0.468, 0.472, 0.493, 0.527, 0.582",\
                 "0.625, 0.614, 0.583, 0.534, 0.497, 0.484, 0.484, 0.506, 0.54, 0.59",\
                 "0.646, 0.635, 0.608, 0.557, 0.521, 0.499, 0.501, 0.519, 0.553, 0.601",\
                 "0.679, 0.662, 0.64, 0.586, 0.548, 0.53, 0.521, 0.536, 0.568, 0.61",\
                 "0.706, 0.693, 0.662, 0.615, 0.577, 0.548, 0.542, 0.558, 0.585, 0.63",\
                 "0.731, 0.723, 0.691, 0.646, 0.606, 0.573, 0.565, 0.572, 0.596, 0.646",\
                 "0.752, 0.736, 0.706, 0.663, 0.618, 0.584, 0.573, 0.583, 0.611, 0.646",\
                 "0.747, 0.743, 0.714, 0.664, 0.624, 0.59, 0.579, 0.586, 0.604, 0.643");
        }
      }

      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.704, 0.696, 0.661, 0.599, 0.537, 0.486, 0.439, 0.403, 0.387, 0.391",\
                 "0.711, 0.7, 0.675, 0.604, 0.547, 0.491, 0.443, 0.409, 0.392, 0.396",\
                 "0.73, 0.719, 0.688, 0.628, 0.566, 0.509, 0.46, 0.431, 0.409, 0.41",\
                 "0.758, 0.746, 0.713, 0.648, 0.587, 0.531, 0.484, 0.456, 0.437, 0.438",\
                 "0.803, 0.792, 0.759, 0.696, 0.634, 0.577, 0.53, 0.501, 0.477, 0.483",\
                 "0.882, 0.869, 0.839, 0.774, 0.715, 0.66, 0.614, 0.577, 0.555, 0.562",\
                 "1.001, 0.988, 0.955, 0.893, 0.829, 0.775, 0.723, 0.685, 0.665, 0.665",\
                 "1.154, 1.143, 1.112, 1.047, 0.984, 0.918, 0.867, 0.825, 0.795, 0.793",\
                 "1.335, 1.325, 1.291, 1.221, 1.151, 1.088, 1.031, 0.989, 0.954, 0.944",\
                 "1.537, 1.526, 1.489, 1.423, 1.343, 1.281, 1.218, 1.172, 1.139, 1.124");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.584, 0.568, 0.538, 0.493, 0.456, 0.441, 0.439, 0.462, 0.495, 0.545",\
                 "0.583, 0.573, 0.544, 0.499, 0.458, 0.438, 0.443, 0.462, 0.502, 0.551",\
                 "0.59, 0.587, 0.553, 0.506, 0.467, 0.451, 0.449, 0.477, 0.507, 0.562",\
                 "0.612, 0.6, 0.567, 0.519, 0.483, 0.466, 0.465, 0.489, 0.518, 0.569",\
                 "0.631, 0.625, 0.591, 0.543, 0.512, 0.488, 0.487, 0.501, 0.535, 0.579",\
                 "0.664, 0.654, 0.624, 0.577, 0.537, 0.51, 0.504, 0.52, 0.549, 0.594",\
                 "0.69, 0.682, 0.65, 0.602, 0.563, 0.54, 0.527, 0.54, 0.563, 0.612",\
                 "0.717, 0.708, 0.675, 0.63, 0.588, 0.557, 0.547, 0.558, 0.579, 0.626",\
                 "0.732, 0.726, 0.696, 0.647, 0.606, 0.571, 0.558, 0.566, 0.592, 0.63",\
                 "0.734, 0.73, 0.695, 0.651, 0.609, 0.574, 0.561, 0.566, 0.588, 0.625");
        }
      }
    }

    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 ;
      }
    }
  }

