![vdmx step sequencer vdmx step sequencer](https://images.squarespace-cdn.com/content/v1/50169cf884ae68067baa7365/1613421385748-XD4WHK536K9BVNMRND4B/ke17ZwdGBToddI8pDm48kKbNTdzO89pWiwWA0nDivoF7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z4YTzHvnKhyp6Da-NYroOW3ZGjoBKy3azqku80C789l0oBixExwCe6ty2YbkIbJ2X_TwSsqEpgzogRQRzYByy5M7mKHx8GF4_LGnWbVR0GBMg/Zoom_VDMX_VJ_02.png)
Vdmx step sequencer registration#
Factory registration and new function is assumed to be written next This will help to prove execution order of pre_do, mid_do and post_do tasks Let's just declare a base sequence from which we can have a child sequence
![vdmx step sequencer vdmx step sequencer](https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F453121606-e95f567533590373cd59b9f6066fed1f82c8feec92fd39b89aceab1d5c1bf1fb-d_1280x720&src1=https%3A%2F%2Ff.vimeocdn.com%2Fimages_v6%2Fshare%2Fplay_icon_overlay.png)
First we'll try to understand how call_pre_post argument affects the output. To understand the sequence flow better, let us construct a simple sequence with a print statement in each of the above mentioned methods. Seq.post_body() (task) if call_pre_post = 1 Parent_seq.post_do(this) (func) if parent_seq != null Parent_seq.mid_do(this) (func) if parent_seq != null Parent_seq.pre_do() (task) if parent_seq != null Seq.pre_body() (task) if call_pre_post = 1 The following methods will be called in start() Here's an example of how the start() function has to be used, and what happens in the background. call_pre_post will call the pre_body() and post_body() of the current sequence. this_priority specifies a priority for the sequence (by default it assumes priority of the parent sequence), and can be ignored for now. parent_sequence is often referred to the sequence from which the current one was called. Note that you have to always pass the handle to a sequencer which should execute this sequence, whereas the other arguments are optional. Uvm_sequence_base parent_sequence = null, Virtual task start ( uvm_sequencer_base sequencer,