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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2226|回复: 7

[求助] 求帮忙!

[复制链接]
发表于 2016-7-25 21:16:21 | 显示全部楼层 |阅读模式

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

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

x
UVM验证平台。假设激励注入数据帧A、B同时产生并发送至DUT,A帧长大于B,所以UVM的输入agent的monitor先采集到B并发送至model,所以model的输出顺序为B、A。但是原本DUT的输出顺序为A、B,因为帧内容优先级判断为A大与B。导致最后scoreboard比较错误。请问该如何解决???A和B的transaction在sequencer发送时没有优先级区分,同时产生同时发送。
发表于 2016-7-26 15:56:30 | 显示全部楼层
了解清楚DUT的处理方式,在scoreboard里面模拟一下,应该就可以了,否则不能乱搞。
 楼主| 发表于 2016-7-26 16:14:22 | 显示全部楼层
回复 2# gaurson


    关键是短帧B先进入model,model处理完成后才接收到长帧A。
发表于 2016-7-29 17:05:50 | 显示全部楼层
你在monitor的时候,记录一下每一个pkt的start time, end time,
在scoreboard里面不就知道谁先谁后了么?
发表于 2016-7-29 18:35:59 | 显示全部楼层
方案1:可以由两个monitor 同时传递config_db(bit) collect_done flag给model, model中 wait_modefied两个FLAG,两个FLAG都检测到翻转了再往下执行
方案2:model中两个队列来存monitor检测到的packet,当两个队列都非空,model再开始执行
 楼主| 发表于 2016-8-1 17:35:40 | 显示全部楼层
回复 5# AnswerLJ


    那如果针对持续发帧的情况呢
发表于 2016-8-1 18:41:24 | 显示全部楼层
由scoreboard 来产生config_db(bit)::send_en 至RM,RM模拟DUT的行为,在score_board端先GET DUT的monitor输出报文,当获取到输出报文时 置位send_en,RM此时绝对已经获得了A B端的报文队列,当探测到send_en翻转时,通过RM的模拟行为 发送 报文出来 供checker进行 比对,应该可以满足连续发帧的情况的行为,但是先决条件是 来自相同输入端口的 报文只能是顺序模式,没有优先级,只有来自不同端口的报文之间才能有优先级之分
发表于 2016-8-1 18:46:09 | 显示全部楼层
这种模式下 的 RM相对复杂,需要精确模拟DUT的行为规则,计算量偏大,仿真效率不高
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-11 11:19 , Processed in 0.031046 second(s), 8 queries , Gzip On, Redis On.

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