.. _UVM Sequence Tree:

UVM Sequence Tree
=================

 .. rst-class:: lead

  The **UVM Sequence Tree View** presents the call tree of a sequence.

Place the editor cursor on a sequence, **right click** and choose :menuselection:`Show --> UVM Sequence Tree` or press :kbd:`Ctrl+Alt+Shift+S`.

.. figure:: ../../images/common/e_uvm_sequence_tree_editor_right_click_menu.png
	:align: center




The view is automatically raised and populated with the call tree of the selected sequence.

The call tree is made of all sub-sequences that are triggered by the selected sequence, in order, recursively down to leaf items.

.. figure:: ../../images/common/e_uvm_sequence_tree_view.png
	:align: center




The **pre_body(), body()** and **post_body()** methods of each sequence are analyzed, along with all TCMs called directly or indirectly from any of these methods.

.. note::

	All relevant layers (extensions) of each TCM are analyzed according to their type (**is also**, **is first**, **is only**). A TCM layer is relevant if it belongs to a struct layer whose determinant is the same or included by the determinant of the sequence layer where the view was called.

.. note::

	Only the modules loaded up to and including the module where the view is triggered are analyzed. For example, when triggered from a particular test, sequence calls in other tests are not analyzed. See also how DVT handles :ref:`e Language Test Files` and the :ref:`Compile Order view`.

.. note::

	*all of, first of* and *start* actions are also shown.

.. note::

	A sub-sequence may be called using a **do** action or started using the **seq.start_sequence()** function.

.. tip::

	**Double click** on any node to jump to the **sequence call**.

.. tip::

	**Right-click** on a sequence node to **Show UVM Sequence Tree** of the selected sequence. Practically set the selected sequence as root.

**Toolbar**

.. list-table::
   :header-rows: 1
   :widths: auto

   * - 
       .. figure:: ../../images/icons/act16/history_list.png

     - **Show History List**
     - Click to see the previously inspected sequence call trees.
   * - 
       .. figure:: ../../images/icons/act16/prepend_package.png

     - **Prepend Package Name**
     - Prepend the enclosing package name to the name of each class.


**Icons**

.. list-table::
   :header-rows: 1
   :widths: auto

   * - 
       .. figure:: ../../images/icons/obj16/sequence_obj.png

     - Sequence.
   * - 
       .. figure:: ../../images/icons/obj16/sequence_item_obj.png

     - Sequence item.
   * - 
       .. figure:: ../../images/icons/obj16/fork_join_obj.png

     - All of/first of block.
   * - 
       .. figure:: ../../images/icons/obj16/fork_join_process_obj.png

     - All of/first of branch, or start action.

