Fix `isBuffer` (#329)

* Add support for "well" direction type (nwell, pwell, etc.), and fix isBuffer (+ other functions) to accommodate wells

* Just fix isBuffer issue
This commit is contained in:
Akash Levy 2025-11-16 18:34:37 -05:00 committed by GitHub
parent f5cae661f4
commit 16a92707fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 20 additions and 1 deletions

View File

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

1
test/get_is_buffer.ok Normal file
View File

@ -0,0 +1 @@
buf_inst

5
test/get_is_buffer.tcl Normal file
View File

@ -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]

11
test/get_is_buffer.v Normal file
View File

@ -0,0 +1,11 @@
module dut (
input A,
output Y
);
sky130_fd_sc_hd__buf_2 buf_inst (
.A(A),
.X(Y)
);
endmodule

View File

@ -140,6 +140,7 @@ record_example_tests {
record_sta_tests {
disconnect_mcp_pin
get_filter
get_is_buffer
get_is_memory
get_lib_pins_of_objects
get_noargs