mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-09-06 17:21:05 +02:00
filter_objects via Akash Levy resolves #399
This commit is contained in:
+7
-1
@@ -53,4 +53,10 @@ in2
|
||||
[get_ports -filter direction==output *]
|
||||
out
|
||||
[get_cells -filter {name ~= *r1*} *]
|
||||
Error 336: get_filter.tcl line 48, unknown filter operand.
|
||||
Error: 2600 -filter parsing failed at '~= *r1*'.
|
||||
clk1
|
||||
clk2
|
||||
clk3
|
||||
clk1
|
||||
clk2
|
||||
clk3
|
||||
|
||||
+15
-1
@@ -5,9 +5,10 @@ link_design top
|
||||
create_clock -name clk -period 500 {clk1 clk2 clk3}
|
||||
create_clock -name vclk -period 1000
|
||||
|
||||
# Test filters for each SDC command
|
||||
# Test filters for each SDC get_* command.
|
||||
puts {[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 -filter is_virtual==0 *]}
|
||||
report_object_full_names [get_clocks -filter is_virtual==0 *]
|
||||
puts {[get_clocks -filter is_virtual==1 *]}
|
||||
@@ -22,22 +23,28 @@ puts {[get_clocks -filter is_virtual||is_generated *]}
|
||||
report_object_full_names [get_clocks -filter is_virtual||is_generated *]
|
||||
puts {[get_clocks -filter is_virtual==0||is_generated *]}
|
||||
report_object_full_names [get_clocks -filter is_virtual==0||is_generated *]
|
||||
|
||||
puts {[get_lib_cells -filter is_buffer==1 *]}
|
||||
report_object_full_names [get_lib_cells -filter is_buffer==1 *]
|
||||
puts {[get_lib_cells -filter is_inverter==0 *]}
|
||||
report_object_full_names [get_lib_cells -filter is_inverter==0 *]
|
||||
|
||||
puts {[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 {[get_lib_pins -filter direction==output BUFx2_ASAP7_75t_R/*]}
|
||||
report_object_full_names [get_lib_pins -filter direction==output BUFx2_ASAP7_75t_R/*]
|
||||
|
||||
puts {[get_libs -filter name==asap7_small *]}
|
||||
report_object_full_names [get_libs -filter name==asap7_small *]
|
||||
|
||||
puts {[get_nets -filter name=~*q *]}
|
||||
report_object_full_names [get_nets -filter name=~*q *]
|
||||
|
||||
puts {[get_pins -filter direction==input *]}
|
||||
report_object_full_names [get_pins -filter direction==input *]
|
||||
puts {[get_pins -filter direction==output *]}
|
||||
report_object_full_names [get_pins -filter direction==output *]
|
||||
|
||||
puts {[get_ports -filter direction==input *]}
|
||||
report_object_full_names [get_ports -filter direction==input *]
|
||||
puts {[get_ports -filter direction==output *]}
|
||||
@@ -47,3 +54,10 @@ report_object_full_names [get_ports -filter direction==output *]
|
||||
puts {[get_cells -filter {name ~= *r1*} *]}
|
||||
catch {get_cells -filter {name ~= *r1*} *} result
|
||||
puts $result
|
||||
|
||||
# AND pattern match expr
|
||||
report_object_names [get_ports -filter "direction == input && name =~ clk*" *]
|
||||
# parens around sub-exprs
|
||||
report_object_names [get_ports -filter "(direction == input) && (name =~ clk*)" *]
|
||||
|
||||
sta::filter_expr_to_postfix "direction == input && name =~ clk* && is_clock" 1
|
||||
|
||||
Reference in New Issue
Block a user