.. _Trace Connections View:

Trace Connections View
======================

.. rst-class:: lead

The **Trace Connections View** presents a hierarchy similar with the **Design Hierarchy View**:

-  The connected instances are displayed, the rest are filtered out.
-  You can use :guilabel:`Show Root` and :guilabel:`Show Full Hierarchy` options to show the entire design. The connected instances are colored, the rest are grayed-out.
-  Port icons indicate the direction of the signal.
-  Sources and destinations are marked with red/green decorations.
-  You can search for a specific connected instance or signal with :ref:`Quick Search <Quick Search in Views>`.

.. figure:: ../../images/common/trace-connections-presentation.png


.. |t1| image:: ../../images/icons/act16/trace_drive_and_load.png
   :class: inline

.. |t2| image:: ../../images/icons/act16/trace_drive.png
   :class: inline

.. |t3| image:: ../../images/icons/act16/trace_load.png
   :class: inline   

The toolbar buttons allow you to change the **trace kind**:

-   |t1| **Trace Drive and Load** shows the connected instances across the drive and load paths (how is this signal connected in the design?).
-   |t2| **Trace Drive** shows the connected instances across the drive paths (who drives this port?).
-   |t3| **Trace Load** shows the connected instances across the load paths (who does this port drive?).


.. |o1| image:: ../../images/icons/act16/trace_show_root.png
   :class: inline

.. |o2| image:: ../../images/icons/act16/trace_in_full_hierarchy.png
   :class: inline

.. |o3| image:: ../../images/icons/act16/trace_content_as_list.png
   :class: inline  

.. |o4| image:: ../../images/icons/act16/show_hide_ports.png
   :class: inline  

.. |o5| image:: ../../images/icons/obj16/diagrams.png
   :class: inline 

Other buttons:

-   |o1| **Show Root** shows the path to the **hierarchy root**, even if the signal doesn't reach it. It provides the enclosing context for deep traces, for example when tracing a signal many levels below the top module. This option is enabled by default.
-   |o2| **Show Full Hierarchy** shows the full hierarchy, whether it is reached by the **traced signal** or not (how is this signal connected in the whole design context?).
-   |o3| **Show As List** to view only the sources and destinations as a list.
-   |o4| **Show/Hide Signals** shows or hides the ports or internal signals of the currently selected instance.
-   |o5| **Show Diagram** to view a graphical representation of signal traces.

At any time you can see the **traced signal** (the port or internal signal you are currently tracing). It is indicated in the info label.
The two connected instances that are bold colored in the tree represent:

-  The instance with the **traced signal**.
-  The instance with the signal shown in the trace path. More details :ref:`here<Trace Path>`.

.. figure:: ../../images/common/trace-connections-current-port.png



**Double-click** on an element to go to code:

-  For a connected instance, go to its declaration.
-  For a port, go to where it is connected in the *trace path*.
-  For a signal, go to where it is declared.



When the signals panel is hidden, **right-click** on an instance in the tree to show the context menu.

.. figure:: ../../images/common/trace-connections-hide-ports-menu.png



When visible, **right-clicking** on a port or internal signal to show the context menu.

.. figure:: ../../images/common/trace-connections-show-ports-menu.png



The options in the context menu are :

-  :menuselection:`Trace --> trace kind` Trace signals found on the drive or load paths of the current **traced signal**.
-  :guilabel:`Go to` Go to the port connections or signal declarations of the selected instance. The same as **double-clicking** on a particular signal in the signals panel.
-  :guilabel:`Show Path` Show the *trace path* from the **traced port** to the selected port or internal signal. More details :ref:`here<Trace Path>`.

