test: load ECSM liberty from checked-in file

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
This commit is contained in:
Jaehyun Kim 2026-02-22 20:37:11 +09:00
parent b55fcabee4
commit 10104f85ea
2 changed files with 60 additions and 66 deletions

View File

@ -0,0 +1,59 @@
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() {}
}
}
}
}

View File

@ -1,71 +1,6 @@
source ../../test/helpers.tcl
set lib_file [make_result_file liberty_ecsm_generated.lib]
set f [open $lib_file w]
puts $f {
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() {}
}
}
}
}
}
close $f
read_liberty $lib_file
read_liberty liberty_ecsm.lib
set cell_names {}
foreach cell [get_lib_cells test_ecsm_lib/*] {