Jump to content

Recommended Posts

Posted

A question regarding the usage kill() and m_kill();

 

in uvm_squence_base.svh :  the kill() method defined as below

   function void kill();
      if (m_sequence_process != null) begin
        // If we are not connected to a sequencer, then issue kill locally.
          if (m_sequencer == null) begin 
               m_kill();

        // We need to drop the objection if we raised it...
        if (get_automatic_phase_objection()) begin
             m_safe_drop_starting_phase("automatic phase objection");
        end
        return;
      end

      ... 

    function void m_kill();
      do_kill();
      foreach(children_array[i]) begin
         i.kill();
      end

       ..... 

     I am debugging an infinite-loop caused by a sequence which never got killed(stop_sequences()) 

   Not sure how above kill() and m_kill() works if I have m_sequencer == null. and using  virtual_sequence to control a couple of layers of sub_sequences.

 

Thanks

  

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...