vtr-verilog-to-routing
vtr-verilog-to-routing copied to clipboard
"Crit Path Routing" and "Crit Path Routing Delays" items are doubled
Toggle Critical Path menu, "Crit Path Routing" and "Crit Path Routing Delays" items are doubled.
Expected Behaviour
"Crit Path Routing" and "Crit Path Routing Delays" items should be unique
Current Behaviour
"Crit Path Routing" and "Crit Path Routing Delays" items are doubled
Possible Solution
Initially items are added from ui. Additionally items are added in setup_ui.cpp, hide_crit_path_routing function. https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/master/vpr/src/draw/ui_setup.cpp#L239 Before adding items in hide_crit_path_routing we doesn't check if items already existed, which leads to doubling. To fix this, we may explicitly try remove item, before add it, this will guaranty we will not double items.
Steps to Reproduce
the VPR was running internally form other tool, using following cmdline arguments vpr_view_concept/dev/bin/vpr /tmp/file3qwENh project_1_post_synth.blif --device 4x4 --timing_analysis on --constant_net_method route --clock_modeling ideal --exit_before_pack off --circuit_format eblif --absorb_buffer_luts off --route_chan_width 180 --gen_post_synthesis_netlist on --post_synth_netlist_unconn_inputs gnd --post_synth_netlist_unconn_outputs unconnected --timing_report_npaths 100 --allow_dangling_combinational_nodes on --analysis --disp on
Context
We have to maintain separate patch and looking forward to have this fixed in mainstream.
@@ -176,6 +176,9 @@
gtk_combo_box_text_remove(toggle_crit_path, 4);
gtk_combo_box_text_remove(toggle_crit_path, 3);
} else {
+ gtk_combo_box_text_remove(toggle_crit_path, 4); // to make sure we don't double items
+ gtk_combo_box_text_remove(toggle_crit_path, 3); // to make sure we don't double items
+
gtk_combo_box_text_insert_text(toggle_crit_path, 3, "Crit Path Routing");
gtk_combo_box_text_insert_text(toggle_crit_path, 4, "Crit Path Routing Delays");
}
Your Environment
vtr, master branch. issue doesn't depend on compiler etc