|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
hi 大家好, 最近在学习UVM时发现如下问题:
3 class base_vseq extends uvm_sequence;
4
5 function new(string name="base_vseq");
6 super.new(name);
7 endfunction
8
9 `uvm_object_utils(base_vseq)
10 `uvm_declare_p_sequencer(uart_ctrl_virtual_sequencer)
11
12 virtual task pre_body();
13 if(starting_phase !=null)
14 starting_phase.raise_objection(this,"running sequence");
15 endtask
16
17 virtual task post_body();
18 if(starting_phase !=null)
19 starting_phase.drop_objection(this,"exitting the sequence");
20 endtask
21
22 endclass
23
24 class my_vseq extends base_vseq;
25 write_word_seq my_write_word_seq;
26 function new(string name="my_vseq");
27 super.new(name);
28 endfunction
29
30 `uvm_object_utils(my_vseq)
31
32 virtual task body();
33
34 `uvm_info("my_vseq","start virtual sequence",UVM_LOW)
35 `uvm_do_on(my_write_word_seq,p_sequencer.apb_seqr)
36 `uvm_info("my_vseq","finishedc the virtual sequence",UVM_LOW)
37 endtask
38
39 endclass
当我把第35行注释了时,前后两个uvm_info中的信息都可以看到,但是加上后,就一直在产生同一个sequence, 程序也没法退出,请问哪位有没有遇到这种情况,我希望它产生一个sequence后就退出。应该怎样修改啊?
请大家赐教,不甚感激。 |
|