1.sequence 向sequencer 发送请求,一旦相应这个lock,sequencer 会一直发送此sequence 的transaction,知道unlock 被调用。(fork join)

2.one_lock:

1)sequence1:

UVM:6.2.2 sequencer 的lock操作_00


2)结果:

UVM:6.2.2 sequencer 的lock操作_00_02


3.dual_lock:首先获得所有权的sequence 执行完后才会将所有权交给另外一个sequence。

UVM:6.2.2 sequencer 的lock操作_00_03

UVM:6.2.2 sequencer 的lock操作_00_04


结果:

UVM:6.2.2 sequencer 的lock操作_00_05