.. _route_diag: Router Diagnosis Tool ===================== The Router Diagnosis tool (``route_diag``) is an utility that helps developers understand the issues related to the routing phase of VPR. Instead of running the whole routing step, ``route_diag`` performs one step of routing, aimed at analyzing specific connections between a SINK/SOURCE nodes pair. Moreover, it is able also to profile all the possible paths of a given SOURCE node. To correctly run the utility tool, the user needs to compile VTR with the ``VTR_ENABLE_DEBUG_LOGGING`` set to ON and found in the CMakeLists.txt_ configuration file. .. _CMakeLists.txt: https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/01ff7e174d9d53753a2f981d7be0052b612b5874/CMakeLists.txt#L36 The tool is compiled with all the other targets when running the full build of VtR. It is also possible, though, to build the ``route_diag`` utility standalone, by running the following command: .. code-block:: bash make route_diag To use the Route Diagnosis tool, the users has different parameters at disposal: .. option:: --sink_rr_node Specifies the SINK RR NODE part of the pair that needs to be analyzed .. option:: --source_rr_node Specifies the SOURCE RR NODE part of the pair that needs to be analyzed .. option:: --router_debug_sink_rr Controls when router debugging is enabled for the specified sink RR. * For values >= 0, the value is taken as the sink RR Node ID for which to enable router debug output. * For values < 0, sink-based router debug output is disabled. The Router Diagnosis tool must be provided at least with the RR GRAPH and the architecture description file to correctly function.