parallaxsw / OpenSTA

GNU General Public License v3.0
52 stars 23 forks source link

Crash while reading Liberty with CCS #40

Closed maliberty closed 5 months ago

maliberty commented 5 months ago

I have a crash while reading a Liberty that I can't share. I have reduced it to a minimal, sanitized reproducer that I can share:

library (X) {
  technology (cmos);
  delay_model : table_lookup;
  time_unit : "1ns";
  voltage_unit : "1V";
  current_unit : "1mA";
  leakage_power_unit : "1nW";
  pulling_resistance_unit : "1kohm";
  capacitive_load_unit (1,pf)

  output_current_template (ccs_template) {
    variable_1 : input_net_transition;
    variable_2 : total_output_net_capacitance;
    variable_3 : time;
  }
  lu_table_template (t2x2) {
    variable_1 : input_net_transition;
    variable_2 : total_output_net_capacitance;
    index_1 ("0,1");
    index_2 ("0,1");
  }

  cell (X) {
    pin (x) {
      direction : output;
      timing () {
        output_current_rise () {
          vector (ccs_template) {
            reference_time : 0;
            index_1 ("0");
            index_2 ("0");
            index_3 ("0");
            values  ("0");
          }
        }
        receiver_capacitance_rise (t2x2) {
          segment : 1;
          index_1 ("0,1");
          index_2 ("0,1");
          values ( \
            "0, 0", \
            "0, 0"  \
          );
        }
        receiver_capacitance_rise (t2x2) {
          segment : 2;
          index_1 ("0,1");
          index_2 ("0,1");
          values ( \
            "0, 0", \
            "0, 0"  \
          );
        }
        receiver_capacitance_rise (t2x2) {
          segment : 3;
          index_1 ("0,1");
          index_2 ("0,1");
          values ( \
            "0, 0", \
            "0, 0"  \
          );
        }
      }
    }
  }
}
parallaxsw commented 5 months ago

fcbb1840 issue40 liberty multi-segment receiver capacitance