在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: heritor

[求助] uvm环境中怎样停止一个systemverilog线程

[复制链接]
发表于 2012-9-1 22:05:49 | 显示全部楼层
我只能说,有点高深了。。。
发表于 2012-9-13 10:19:31 | 显示全部楼层
我觉得3楼说得很好哈。。
发表于 2012-9-13 12:36:24 | 显示全部楼层
除了上面那个朋友提到的kill process的办法,还有一个简单的办法,就是用disable语句,它可以kill进程也可以kill task,如果是kill task 那么在该task里面衍生的所有进程都会被kill。
task a(ref bit kill_en);
  fork:error_chk
        begin
           .....error check processing
        end
        begin
           wait(kill_en == 1'b1);
           disable a; ////kill this task a, and this will kill all the threads spawned in this task.
        end
  join_none
endtask

task b(ref bit kill_en);
    kill_en = 1'b0 ;
    ......
    if(satisfy kill condition)
        kill_en = 1'b1 ;
    ......
endtask
....
bit kill_en = 0 ;
task a(kill_en);
task 1..2 ...3...;
task b(kill_en);
.......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-9 11:30 , Processed in 0.016616 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表