Jump to content

Sequencer Arbitration

Recommended Posts


Can anyone provide any information about the arbitration scheme used in uvm_sequencer_base? It appears that I am getting a deadlock between the sequence/driver handshaking, as start_item is never returning. I was looking through the code and it appears to be blocking in the m_wait_for_arbitration_completed method of uvm_sequencer_base, at

wait(lock_arb_size != m_lock_arb_size );

If anyone has any insight, I would really appreciate it



Link to comment
Share on other sites

I am not using run time phasing. I am working on making my driver reset-tolerant, and do kill the thread that is driving my wires, but I protect the seq_item_port.try_next_item and seq_item_port.item_done calls using a semaphore. Is there anything that gets forked off during these tasks that could get killed?

Link to comment
Share on other sites

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.

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...