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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6949|回复: 21

[原创] 请教uvm的多进程设置?

[复制链接]
发表于 2017-10-30 15:58:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请教uvm的多进程设置? 我把uvm的单个case运行改成了并行,几个case在后台并行,那么如何在regression的时候控制case的数量呢?加入regression有一千多个case,能不能设置10个一组的运行?
发表于 2017-10-30 18:33:54 | 显示全部楼层
1.既然能把单个case改成几个case并行,那就改成固定10(建议设成参数)个case并行。
2.你的环境需要的应该是这几个case的名字。假设你已经完成这一步了。
3.设置10个flag对应这10个case,flag初始为0,每有1个case跑完就让对应flag置1.
4.把所有的case name放到一个文件里面,写个脚本,第一次读取前面10个name,然后并行去等各flag的上升沿,每当flag置1,就去文件里读下一个name,同时将flag置0。(设计10个flag目的是防止特殊情况下几个case同时跑完)
5.这样设计的优点是环境可以一直保持10个case再跑,比起你的10个一组要快一点。
 楼主| 发表于 2017-10-30 19:22:42 | 显示全部楼层
回复 2# jimbo1006


   问题是,后台并行的时候,没有任何反馈啊,怎么设flag?
发表于 2017-10-30 20:16:02 | 显示全部楼层
回复 3# atlandis


   flag写到case里面去,比如case1的第一个sequence发出的同时,你定义一个信号flag1,初始赋值为0。然后在scoreborad比对最后一对transaction后,让flag1置1(这里最好设一个固定的延迟)。最后这些flag,你可以通过API/DPI/Interface种种办法传给你的脚本。
发表于 2017-10-30 21:14:37 | 显示全部楼层
通过脚本可以实现,脚本知道一次运行几个,哪些运行结束,哪些正在运行,哪些没有,不需要在case中加flag,在后台运行的时候最好把运行状态打印出来,否则不清楚运行情况
发表于 2017-10-30 22:11:31 | 显示全部楼层
UVM case 并行是什么概念? 并发多个uvm_test? 那你是改了UVM库源码了?并发多个sequence?那用virtual sequence控制不就可以了?还是你在linux后台运行了多个simulation job,每个job跑不同的uvm_test?

回复 1# atlandis
 楼主| 发表于 2017-10-31 09:04:51 | 显示全部楼层
回复 6# nativeda


   没那么麻烦,只是每个case跑起来后就扔掉后台去了,之前我写这个环境比较挫,完成一个case之后才去执行下一个case
 楼主| 发表于 2017-10-31 09:11:29 | 显示全部楼层
回复 5# goodivan


   通过脚本可以实现,脚本知道一次运行几个,哪些运行结束,哪些正在运行,哪些没有,不需要在case中加flag,在后台运行的时候最好把运行状态打印出来,否则不清楚运行情况

请教,一般来说扔到后台的case,脚本用什么途径可以知道哪些运行结束?
 楼主| 发表于 2017-10-31 09:58:00 | 显示全部楼层
回复 5# goodivan


   本质上是regression的shell和scoreboard怎么通信额?
 楼主| 发表于 2017-10-31 10:00:03 | 显示全部楼层
回复 4# jimbo1006


      本质上是regression的shell和scoreboard怎么通信额?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-3 17:43 , Processed in 0.026775 second(s), 6 queries , Gzip On, Redis On.

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