Verilog UVM:在我调用开始项目(seq_项目)之前,将值设置为顺序_项目是否会导致任何问题?

Verilog UVM:在我调用开始项目(seq_项目)之前,将值设置为顺序_项目是否会导致任何问题?,verilog,verification,system-verilog,uvm,Verilog,Verification,System Verilog,Uvm,我在调用start_item(seq_item)之前设置值以对_item进行排序,与调用start_item(seq_item)之后的设置值有任何不同吗?是的,您可以这样做,但要意识到start_item()是一项阻塞任务,因此,您的设计和测试台的状态可能在之前和之后有所不同。在开始项返回后随机化顺序项的主要原因是允许根据机器的当前状态随机化事务。如果您对testbench状态没有依赖性,那么就没有功能上的区别 我认为更大的问题是使用已建立的延迟随机化模式,这样所有代码看起来都是一样的,并且任何

我在调用start_item(seq_item)之前设置值以对_item进行排序,与调用start_item(seq_item)之后的设置值有任何不同吗?

是的,您可以这样做,但要意识到start_item()是一项阻塞任务,因此,您的设计和测试台的状态可能在之前和之后有所不同。

在开始项返回后随机化顺序项的主要原因是允许根据机器的当前状态随机化事务。如果您对testbench状态没有依赖性,那么就没有功能上的区别

我认为更大的问题是使用已建立的延迟随机化模式,这样所有代码看起来都是一样的,并且任何将代码复制为模板的人(包括您)都会遵循该模式,以防顺序确实重要

代码的一致性将有助于防止bug