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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 15589|回复: 16

[求助] UVM中testcase或sequence中如何force DUT的信号

[复制链接]
发表于 2014-7-16 18:32:54 | 显示全部楼层 |阅读模式

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

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

x
请教一下,
以前用Systemverilog写testbench的时候,top中例化DUT和testcase,testcase里可以force DUT中的信号

但现在用UVM,在top module中例化了DUT,并且执行run_test(),
我想在testcase或sequence中对top module中的DUT内部的值临时force成某种时序,但会报error,请问有什么方法实现?谢谢。
发表于 2015-3-31 11:25:38 | 显示全部楼层
兄弟,这个问题解决了没?我现在也遇到这个问题,我看别人端口上这么操作就没问题,但是我自己去force DUT内部信号就会报hireachical reference ....into xxx module is not allowed.
发表于 2016-1-25 10:59:08 | 显示全部楼层
同求,有人解决了吗???
发表于 2016-1-26 10:31:35 | 显示全部楼层
应该是要使用寄存器模型吧
发表于 2016-1-26 11:07:02 | 显示全部楼层
还可以在 interface中写函数赋值,然后在 testcase中调用该函数
发表于 2016-8-12 11:16:05 | 显示全部楼层
回复 1# cooperqi
使用寄存器模型试试看是不是可以!
发表于 2016-8-12 14:00:30 | 显示全部楼层
uvm_hdl_force
uvm_hdl_read
uvm_hdl_deposit
发表于 2016-10-27 15:09:26 | 显示全部楼层
*7.3.3 使用interface进行后门访问操作
上一节中提到过在top_tb中使用绝对路径对寄存器进行后门访问操作,这需要更改top_tb.sv文件,但是这个文件一般是固定
的,不会因测试用例的不同而变化,所以这种方式的可操作性不强。在driver等组件中也可以使用这种绝对路径的方式进行后门访
问操作,但强烈建议不要在driver等验证平台的组件中使用绝对路径。这种方式的可移植性不强。
如果想在driver或monitor中使用后门访问,一种方法是使用接口。可以新建一个后门interface:
代码清单 7-21
文件:src/ch7/section7.3/7.3.3/backdoor_if.sv
4 interface backdoor_if(input clk, input rst_n);
5
6 function void poke_counter(input bit[31:0] value);
7 top_tb.my_dut.counter = value;
8 endfunction
9
10 function void peek_counter(output bit[31:0] value);
11 value = top_tb.my_dut.counter;
12 endfunction
13 endinterface
poke_counter为后门写,而peek_counter为后门读。在测试用例(或者drvier、scoreboard)中,若要对寄存器赋初值可以直接
调用此函数:
文件:src/ch7/section7.3/7.3.3/my_case0.sv
103 task my_case0::configure_phase(uvm_phase phase);
104 phase.raise_objection(this);
105 @(posedge vif.rst_n);
106 vif.poke_counter(32'hFFFD);
107 phase.drop_objection(this);
108 endtask
如果有n个寄存器,那么需要写n个poke函数,同时如果有读取要求的话,还要写n个peek函数,这限制了其使用,且此文件完
全没有任何移植性。
这种方式在实际中是有应用的,它适用于不想使用寄存器模型提供的后门访问或者根本不想建立寄存器模型,同时又必须要
对DUT中的一个寄存器或一块存储器(memory)进行后门访问操作的情况。
发表于 2017-3-9 17:18:27 | 显示全部楼层
回复 8# cy_00521

应急使用很好,赞一个
 楼主| 发表于 2017-3-16 21:36:35 | 显示全部楼层
看到这个贴子眼熟,原来是几年前自己发的。谢谢大家的回复。
后来同事找到了uvm_hdl_force的方法。
最近刚从RTL设计转做验证,这个版块又要常来了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-28 20:29 , Processed in 0.032584 second(s), 10 queries , Gzip On, Redis On.

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