Quantcast
Channel: UVM Forums RSS Feed
Viewing all articles
Browse latest Browse all 756

Two grabbing sequences both win arbitration at the same time

$
0
0

I'm working on upgrading to UVM 1.2 (from 1.1d).

 

I am seeing a case where multiple sequences have called a sequencer's grab(), they are both blocked waiting on a grab() done by an earlier sequence, and when that earlier sequence calls ungrab(), both of the waiting sequences unblock and their grab() calls complete.

 

I thought this shouldn't happen.  My understanding was that the grab ensured that only one grabbing sequence would win that arbitration until it ungrabbed.

 

Instrumenting the UVM code, I can see the grant_queued_locks() function calling m_set_arbitration_completed() for two sequences in a foreach loop.

 

Am I misunderstanding grab/ungrab or doing something wrong?

 

Thanks.

 

 

 


Viewing all articles
Browse latest Browse all 756

Trending Articles