library(test_ecsm_lib) { delay_model : table_lookup ; time_unit : "1ns" ; voltage_unit : "1V" ; current_unit : "1mA" ; capacitive_load_unit(1, ff) ; input_threshold_pct_rise : 50 ; output_threshold_pct_rise : 50 ; slew_lower_threshold_pct_rise : 20 ; slew_upper_threshold_pct_rise : 80 ; input_threshold_pct_fall : 50 ; output_threshold_pct_fall : 50 ; slew_lower_threshold_pct_fall : 20 ; slew_upper_threshold_pct_fall : 80 ; lu_table_template(delay_template_2x2) { variable_1 : input_net_transition ; variable_2 : total_output_net_capacitance ; index_1("0.01, 0.1") ; index_2("0.001, 0.01") ; } cell(ECSM1) { area : 2.0 ; pin(A) { direction : input ; capacitance : 0.01 ; } pin(Z) { direction : output ; function : "A" ; timing() { related_pin : "A" ; timing_sense : positive_unate ; cell_rise(delay_template_2x2) { values("0.01, 0.02", "0.03, 0.04") ; } cell_fall(delay_template_2x2) { values("0.01, 0.02", "0.03, 0.04") ; } rise_transition(delay_template_2x2) { values("0.01, 0.02", "0.03, 0.04") ; } fall_transition(delay_template_2x2) { values("0.01, 0.02", "0.03, 0.04") ; } ecsm_waveform() {} } } } cell(ECSM2) { area : 2.0 ; pin(A) { direction : input ; capacitance : 0.01 ; } pin(Z) { direction : output ; function : "A" ; timing() { related_pin : "A" ; timing_sense : positive_unate ; cell_rise(delay_template_2x2) { values("0.01, 0.02", "0.03, 0.04") ; } cell_fall(delay_template_2x2) { values("0.01, 0.02", "0.03, 0.04") ; } rise_transition(delay_template_2x2) { values("0.01, 0.02", "0.03, 0.04") ; } fall_transition(delay_template_2x2) { values("0.01, 0.02", "0.03, 0.04") ; } ecsm_waveform_set() {} ecsm_capacitance() {} } } } }