Allow interactive updates to group_path
Description
To see only paths running through the "foo" module:
- Run
group_path -name foo -through *foo* - Click "Update" in Endpoint Slack histogram
- Select from dropdown
No paths are shown in Endpoint Slack histogram(blank), even if report_checks -through *foo* returns paths
The use-case is to avoid re-running the flow after adding the path_group to the .sdc just to add a path group. This sort of exploration is exactly what I'd like to do in seconds instead of hours to figure out where to look.
Suggested Solution
Allow adding path groups interatively so as to use path groups in dropdown from Endpoint Slack histogram
Additional Context
No response
I ran ng45/gcd with
export SYNTH_HIERARCHICAL = 1
export SYNTH_MINIMUM_KEEP_SIZE = 1
I ran group_path -name foo -through *ctrl*, clicked Update and see paths
Please give a reproducible problem.
To reproduce:
$ bazelisk run test/orfs/mock-array:Element_4x4_base_synth /tmp/x open_synth
[deleted]
read_db -hier ./test/orfs/mock-array/results/asap7/Element/4x4_base/1_synth.odb
[WARNING ORD-0012] Hierarchical flow (-hier) is currently in development and may cause multiple issues. Do not use in production environments.
[deleted]
GUI_TIMING=1 reading timing, takes a little while for large designs...
% report_checks
[deleted]
Startpoint: io_outs_down_mult/mod.a_registered[1]$_DFF_P_
(rising edge-triggered flip-flop clocked by clock)
Endpoint: io_outs_down_mult/mod.pp_row3_1$_DFF_P_
(rising edge-triggered flip-flop clocked by clock)
Path Group: reg2reg
Path Type: max
Delay Time Description
---------------------------------------------------------
0.00 0.00 clock clock (rise edge)
0.00 0.00 clock network delay (ideal)
0.00 0.00 ^ io_outs_down_mult/mod.a_registered[1]$_DFF_P_/CLK (DFFHQNx1_ASAP7_75t_R)
36.34 36.34 v io_outs_down_mult/mod.a_registered[1]$_DFF_P_/QN (DFFHQNx1_ASAP7_75t_R)
18.36 54.71 ^ io_outs_down_mult/_30_/Y (INVx3_ASAP7_75t_R)
7.26 61.97 v io_outs_down_mult/mod.U$598/Y (INVx1_ASAP7_75t_R)
29.64 91.61 v io_outs_down_mult/mod.U$601/Y (AO33x2_ASAP7_75t_R)
21.65 113.26 v io_outs_down_mult/mod.U$605/Y (AO22x1_ASAP7_75t_R)
20.68 133.95 v io_outs_down_mult/mod.U$606/Y (XOR2x1_ASAP7_75t_R)
0.00 133.95 v io_outs_down_mult/mod.pp_row3_1$_DFF_P_/D (DFFHQNx1_ASAP7_75t_R)
133.95 data arrival time
250.00 250.00 clock clock (rise edge)
0.00 250.00 clock network delay (ideal)
0.00 250.00 clock reconvergence pessimism
250.00 ^ io_outs_down_mult/mod.pp_row3_1$_DFF_P_/CLK (DFFHQNx1_ASAP7_75t_R)
-11.08 238.92 library setup time
238.92 data required time
---------------------------------------------------------
238.92 data required time
-133.95 data arrival time
---------------------------------------------------------
104.98 slack (MET)
% group_path -name blah -from {io_outs_down_mult/mod.a_registered[1]$_DFF_P_} -to {io_outs_down_mult/mod.pp_row3_1$_DFF_P_}
% report_checks -from {io_outs_down_mult/mod.a_registered[1]$_DFF_P_} -to {io_outs_down_mult/mod.pp_row3_1$_DFF_P_}
Startpoint: io_outs_down_mult/mod.a_registered[1]$_DFF_P_
(rising edge-triggered flip-flop clocked by clock)
Endpoint: io_outs_down_mult/mod.pp_row3_1$_DFF_P_
(rising edge-triggered flip-flop clocked by clock)
Path Group: reg2reg
Path Type: max
Delay Time Description
---------------------------------------------------------
0.00 0.00 clock clock (rise edge)
0.00 0.00 clock network delay (ideal)
0.00 0.00 ^ io_outs_down_mult/mod.a_registered[1]$_DFF_P_/CLK (DFFHQNx1_ASAP7_75t_R)
36.34 36.34 v io_outs_down_mult/mod.a_registered[1]$_DFF_P_/QN (DFFHQNx1_ASAP7_75t_R)
18.36 54.71 ^ io_outs_down_mult/_30_/Y (INVx3_ASAP7_75t_R)
7.26 61.97 v io_outs_down_mult/mod.U$598/Y (INVx1_ASAP7_75t_R)
29.64 91.61 v io_outs_down_mult/mod.U$601/Y (AO33x2_ASAP7_75t_R)
21.65 113.26 v io_outs_down_mult/mod.U$605/Y (AO22x1_ASAP7_75t_R)
20.68 133.95 v io_outs_down_mult/mod.U$606/Y (XOR2x1_ASAP7_75t_R)
0.00 133.95 v io_outs_down_mult/mod.pp_row3_1$_DFF_P_/D (DFFHQNx1_ASAP7_75t_R)
133.95 data arrival time
250.00 250.00 clock clock (rise edge)
0.00 250.00 clock network delay (ideal)
0.00 250.00 clock reconvergence pessimism
250.00 ^ io_outs_down_mult/mod.pp_row3_1$_DFF_P_/CLK (DFFHQNx1_ASAP7_75t_R)
-11.08 238.92 library setup time
238.92 data required time
---------------------------------------------------------
238.92 data required time
-133.95 data arrival time
---------------------------------------------------------
104.98 slack (MET)
% report_checks -group_path blah
[ERROR STA-0574] -group_path_count 'blah' is not a positive integer.
STA-0574
I think you want -path_group not -group_path which matches to -group_path_count
Still
openroad> report_checks -path_group blah
No paths found.
I don't see anything OR specific. Can you make an sta case and file it upstream?
I think you want -path_group not -group_path which matches to -group_path_count
Ah, the convenience of not spelling out options out bit me...