Revisions

This commit is contained in:
Akash Levy 2024-08-12 20:16:49 -07:00
parent cb25744829
commit 6bfe592d87
3 changed files with 25 additions and 28 deletions

View File

@ -407,7 +407,7 @@ proc current_design { {design ""} } {
################################################################ ################################################################
# Generic get_* filter. # Generic get_* filter.
proc filter_objs { filter objects filter_function filter_type error_code } { proc filter_objs { filter objects filter_function object_type error_code } {
set filter_regexp1 {@?([a-zA-Z_]+) *(==|!=|=~|!~) *([0-9a-zA-Z_\*]+)} set filter_regexp1 {@?([a-zA-Z_]+) *(==|!=|=~|!~) *([0-9a-zA-Z_\*]+)}
set filter_or_regexp "($filter_regexp1) *\\|\\| *($filter_regexp1)" set filter_or_regexp "($filter_regexp1) *\\|\\| *($filter_regexp1)"
set filter_and_regexp "($filter_regexp1) *&& *($filter_regexp1)" set filter_and_regexp "($filter_regexp1) *&& *($filter_regexp1)"
@ -429,7 +429,7 @@ proc filter_objs { filter objects filter_function filter_type error_code } {
} elseif { [regexp $filter_regexp1 $filter ignore attr_name op arg] } { } elseif { [regexp $filter_regexp1 $filter ignore attr_name op arg] } {
set filtered_objects [$filter_function $attr_name $op $arg $objects] set filtered_objects [$filter_function $attr_name $op $arg $objects]
} else { } else {
sta_error $error_code "unsupported $filter_type -filter expression." sta_error $error_code "unsupported $object_type -filter expression."
} }
return $filtered_objects return $filtered_objects
} }

View File

@ -18,12 +18,10 @@ Warning: asap7_simple.lib.gz line 82271, timing group from output port.
Warning: asap7_simple.lib.gz line 82747, timing group from output port. Warning: asap7_simple.lib.gz line 82747, timing group from output port.
get_cells get_cells
u1 u1
get_clocks get_clocks
clk clk
get_clocks 2
vclk vclk
get_lib_cells get_lib_cells
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/BUFx10_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/BUFx10_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/BUFx12_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/BUFx12_ASAP7_75t_R
@ -41,7 +39,7 @@ asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/HB1xp67_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/HB2xp67_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/HB2xp67_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/HB3xp67_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/HB3xp67_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/HB4xp67_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/HB4xp67_ASAP7_75t_R
get_lib_cells 2
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/CKINVDCx10_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/CKINVDCx10_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/CKINVDCx11_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/CKINVDCx11_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/CKINVDCx12_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/CKINVDCx12_ASAP7_75t_R
@ -63,19 +61,15 @@ asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/INVx6_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/INVx8_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/INVx8_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/INVxp33_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/INVxp33_ASAP7_75t_R
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/INVxp67_ASAP7_75t_R asap7sc7p5t_INVBUF_RVT_TT_ccs_211120/INVxp67_ASAP7_75t_R
get_lib_pins get_lib_pins
A A
get_lib_pins 2
Y Y
get_libs get_libs
asap7sc7p5t_INVBUF_RVT_TT_ccs_211120 asap7sc7p5t_INVBUF_RVT_TT_ccs_211120
get_nets get_nets
r1q r1q
r2q r2q
get_pins get_pins
r1/CLK r1/CLK
r1/D r1/D
@ -86,19 +80,17 @@ r3/D
u1/A u1/A
u2/A u2/A
u2/B u2/B
get_pins 2
r1/Q r1/Q
r2/Q r2/Q
r3/Q r3/Q
u1/Y u1/Y
u2/Y u2/Y
get_ports get_ports
clk1 clk1
clk2 clk2
clk3 clk3
in1 in1
in2 in2
get_ports 2
out out

View File

@ -9,23 +9,28 @@ create_clock -name vclk -period 1000
# Test filters for each SDC command # Test filters for each SDC command
puts "get_cells" puts "get_cells"
puts [report_object_full_names [get_cells -filter liberty_cell==BUFx2_ASAP7_75t_R *]] report_object_full_names [get_cells -filter liberty_cell==BUFx2_ASAP7_75t_R *]
puts "get_clocks" puts "get_clocks"
puts [report_object_full_names [get_clocks -filter is_virtual==0 *]] report_object_full_names [get_clocks -filter is_virtual==0 *]
puts [report_object_full_names [get_clocks -filter is_virtual==1 *]] puts "get_clocks 2"
report_object_full_names [get_clocks -filter is_virtual==1 *]
puts "get_lib_cells" puts "get_lib_cells"
puts [report_object_full_names [get_lib_cells -filter is_buffer==1 *]] report_object_full_names [get_lib_cells -filter is_buffer==1 *]
puts [report_object_full_names [get_lib_cells -filter is_inverter==1 *]] puts "get_lib_cells 2"
report_object_full_names [get_lib_cells -filter is_inverter==1 *]
puts "get_lib_pins" puts "get_lib_pins"
puts [report_object_full_names [get_lib_pins -filter direction==input BUFx2_ASAP7_75t_R/*]] report_object_full_names [get_lib_pins -filter direction==input BUFx2_ASAP7_75t_R/*]
puts [report_object_full_names [get_lib_pins -filter direction==output BUFx2_ASAP7_75t_R/*]] puts "get_lib_pins 2"
report_object_full_names [get_lib_pins -filter direction==output BUFx2_ASAP7_75t_R/*]
puts "get_libs" puts "get_libs"
puts [report_object_full_names [get_libs -filter name==asap7sc7p5t_INVBUF_RVT_TT_ccs_211120 *]] report_object_full_names [get_libs -filter name==asap7sc7p5t_INVBUF_RVT_TT_ccs_211120 *]
puts "get_nets" puts "get_nets"
puts [report_object_full_names [get_nets -filter name=~*q *]] report_object_full_names [get_nets -filter name=~*q *]
puts "get_pins" puts "get_pins"
puts [report_object_full_names [get_pins -filter direction==input *]] report_object_full_names [get_pins -filter direction==input *]
puts [report_object_full_names [get_pins -filter direction==output *]] puts "get_pins 2"
report_object_full_names [get_pins -filter direction==output *]
puts "get_ports" puts "get_ports"
puts [report_object_full_names [get_ports -filter direction==input *]] report_object_full_names [get_ports -filter direction==input *]
puts [report_object_full_names [get_ports -filter direction==output *]] puts "get_ports 2"
report_object_full_names [get_ports -filter direction==output *]