博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVM:6.5.5 在sequence 中慎用fork join_none
阅读量:4221 次
发布时间:2019-05-26

本文共 357 字,大约阅读时间需要 1 分钟。

1.将DUT 的数据口扩展为4路,验证平台也要有4个完全相同的driver,sequencer。my_vsqr 如下:

2.virtual sequence:

1)由于join_none 的特性,系统并不等fork 起来的进程结束就进入下一次for 循环,展开后如下:

问题是:使用join_none 并不等这4个mseq 执行完就直接返回。然后就是endtask,此时系统认为这个sequence 执行完毕。之后,系统会清理sequence 之前占据的内存空间。于是4个sequence 根本没执行,就被杀死了。

3.解决有很多方法,使用wait fork:

wait for 会等待前面被fork起来的进程执行完毕。

4.使用 fork join:

但无法使用for循环。因为要等当期的结束才能进到下一次循环。

你可能感兴趣的文章
不做单元测试?小心得不偿失!嵌入式系统单元测试工具,自动生成测试用例
查看>>
一种实用的联网汽车无线攻击方法及车载安全协议
查看>>
光靠欺骗检测是不够的:对抗多目标跟踪的攻击
查看>>
基于微区块链的V2X地理动态入侵检测
查看>>
面向V2C场景的ADAS数字孪生模型构建方法
查看>>
Comma2k19数据集使用
查看>>
面向自动驾驶车辆验证的抽象仿真场景生成
查看>>
一种应用于GPS反欺骗的基于MLE的RAIM改进方法
查看>>
自动驾驶汽车CAN总线数字孪生建模(二)
查看>>
自动驾驶汽车GPS系统数字孪生建模(一)
查看>>
自动驾驶汽车GPS系统数字孪生建模(二)
查看>>
上海控安入选首批工控安全防护能力贯标咨询机构名单
查看>>
自动驾驶汽车传感器数字孪生建模(一)
查看>>
CUDA 学习(四)、线程
查看>>
CUDA 学习(五)、线程块
查看>>
CUDA 学习(八)、线程块调度
查看>>
CUDA 学习(九)、CUDA 内存
查看>>
CUDA 学习(十一)、共享内存
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十四章 生化尖兵
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十五章 超级马里奥64
查看>>