What is the full form of p sequencer and m sequencer?

Description of p sequencer and m sequencer are explained at many places, but specifically looking for what is the full form. Somewhere mentioned that m sequencer is parent sequencer, then what p depicts in p sequencer?

I do not understand what you mean by “full form”; they are defined in the Reference Manual.

You might want to read:

To simplify question couple of examples given below:
“rand” means random
“uvm_env” means uvm environment

Similarly looking for the full form of letter “m” and letter “p” in the “m_sequencer” and "p_sequencer. In UVM, most of the class/function/task/macro/instance names are given as per their functionality i.e. self explanatory from the names. Same way, for “m_sequencer” and “p_sequencer” looking for the meaning of “m” and “p” to relate with their functionality.

Thanks.

Thanks for making your question much clearer to me.

Naming conventions are not always consistent across code developed by a wide group of people. I wish people would pay more attention to it as it makes life much easier for people who have to read your code.

The prefix “m_” is generally used for class member variables that are internal to the base class and not part of the external API. However m_sequencer is commonly used instead of the preferred get_sequencer accessor method. m_sequencer contains a handle to the unparameterized class uvm_sequencer_base that the sequence or sequence item is being executing on.

The prefix “p_” is not part of a general naming convention used within the UVM. p_sequence was chosen as the name of the variable containing the same handle to sequencer object as m_sequencer except its class type is the parameterized specialization of the sequencer.

Ideally you should not be using either variable.

Thanks Dave, interesting to know this.
But, I didn’t get last line. “Ideally you should not be using either variable.” Can you please elaborate little more for this line ?
Thanks.

Use accessor method get_sequencer() instead of m_sequencer directly.

Use any of the preferred alternatives to P_sequencer I gave as a link in my first reply.

Thanks Dave for the clarification.
From that link, I didn’t understand fully the details about alternatives to P_sequencer. But, I 'll revisit again and think through. Though, thanks for the link suggestion.