我在systemverilog中有一个变量,该变量是我从一个任务设置并从另一个任务读取的。读取和写入是独立的。我想确保读取和写入是否在同一时间戳下被调用,从而获得更新后的值。
我可以看到,从设计上讲,这进入了竞争状态,我无法控制读取的值。我知道非阻塞分配可以确保我始终获得变量的old值。有什么可以确保我得到变量的[[new值。
我正在使用系统verilog / UVM。高度赞赏任何建议/指针:)
uvm_wait_for_nba_region()
,并且将获得new值,而不管对该变量进行了阻塞或非阻塞分配。 uvm_wait_for_nba_region()
只是阻止等待由非阻塞分配触发的事件。
uvm_wait_for_nba_region()
的其他调用。但这是我能提供的有限信息的最佳答案。