uvm 中的 systemverilog 中的事件控制“@”在分配后定义
event control "@" in systemverilog in uvm defined AFTER assignments
我正在尝试理解 "verificationguide.com" UVM 环境示例中定义的 UVM 驱动程序代码:https://www.edaplayground.com/x/5r89
在mem_driver.sv文件中,在drive()任务中,可以找到如下代码:
if(req.wr_en) 开始 // 写操作
DRIV_IF.wr_en <= req.wr_en;
DRIV_IF.wdata <= req.wdata;
@(posedge vif.DRIVER.clk);
结束
事件控制如何@(posedge vif.DRIVER.clk);在事件被控制之后写的行?
帮助我了解开发人员在这种情况下的意图?
它用于确保 wr_en
在下一个请求事务之前至少保持一个时钟周期处于活动状态。否则下一次交易会立即将其设置回 0。
我正在尝试理解 "verificationguide.com" UVM 环境示例中定义的 UVM 驱动程序代码:https://www.edaplayground.com/x/5r89
在mem_driver.sv文件中,在drive()任务中,可以找到如下代码:
if(req.wr_en) 开始 // 写操作
DRIV_IF.wr_en <= req.wr_en;
DRIV_IF.wdata <= req.wdata;
@(posedge vif.DRIVER.clk);
结束
事件控制如何@(posedge vif.DRIVER.clk);在事件被控制之后写的行? 帮助我了解开发人员在这种情况下的意图?
它用于确保 wr_en
在下一个请求事务之前至少保持一个时钟周期处于活动状态。否则下一次交易会立即将其设置回 0。