这篇我们介绍一下多个sequence同时挂载到sequencer上的情形
在上一篇博客中有讲到,在sequencer中有下面几个重要的变量
arb_sequence_q[$]中存放每一次sequence发送的请求
bit arb_complete[int]中存放仲裁结果(那个sequence 的请求获得了胜利)
/sequence1
class sequence1 extends uvm_sequence;
............................
............................
virtual task body();
item1 req1;
repeat(10) begin
req=new("req1");
start_item(req1);
...............
finish_item(req1)
end
endtask
endclass
/sequence1
class sequence2 extends uvm_sequence;
............................
............................
virtual task body();
item1 req2;
repeat(10) begin
req=new("req2");
start_item(req2);
...............
finish_item(req2)
end
endtask
endclass
....................
....................
fork
sequence1_object.start(sequencer);
sequence2_object.start(sequencer);
join