blob: aa6fb7617c0a65f0ef069faf5b62c7ae5bf7fbea [file] [log] [blame]
.. _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 <int>
Specifies the SINK RR NODE part of the pair that needs to be analyzed
.. option:: --source_rr_node <int>
Specifies the SOURCE RR NODE part of the pair that needs to be analyzed
.. option:: --router_debug_sink_rr <int>
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.