diff --git a/liberty/Liberty.cc b/liberty/Liberty.cc index c4d9fdd3..3cf867f2 100644 --- a/liberty/Liberty.cc +++ b/liberty/Liberty.cc @@ -1226,7 +1226,8 @@ LibertyCell::bufferPorts(// Return values. } output = port; } - else if (!dir->isPowerGround()) { + else if (!port->isPwrGnd()) { + // Invalid direction. input = nullptr; output = nullptr; break; diff --git a/test/get_is_buffer.ok b/test/get_is_buffer.ok new file mode 100644 index 00000000..655d42ed --- /dev/null +++ b/test/get_is_buffer.ok @@ -0,0 +1 @@ +buf_inst diff --git a/test/get_is_buffer.tcl b/test/get_is_buffer.tcl new file mode 100644 index 00000000..c02f682e --- /dev/null +++ b/test/get_is_buffer.tcl @@ -0,0 +1,5 @@ +# is_buffer property +read_liberty ../examples/sky130hd_tt.lib.gz +read_verilog get_is_buffer.v +link_design dut +report_object_full_names [get_cells -filter is_buffer] diff --git a/test/get_is_buffer.v b/test/get_is_buffer.v new file mode 100644 index 00000000..91f8afea --- /dev/null +++ b/test/get_is_buffer.v @@ -0,0 +1,11 @@ +module dut ( + input A, + output Y +); + + sky130_fd_sc_hd__buf_2 buf_inst ( + .A(A), + .X(Y) + ); + +endmodule diff --git a/test/regression_vars.tcl b/test/regression_vars.tcl index d7a46617..52314276 100644 --- a/test/regression_vars.tcl +++ b/test/regression_vars.tcl @@ -139,6 +139,7 @@ record_example_tests { record_sta_tests { get_filter + get_is_buffer get_is_memory get_lib_pins_of_objects get_noargs