0

在 Verilog 中编写测试台时,在“任务”中,我需要等待这样的事件发生,即:虽然signal_a1'b1但 signal_b有一个posedge。但是,不幸的是,我尝试了但没有得到很好的解决方案:

@(tb_hready and posedge tb_hclk)        ;//(1)
wait(tb_hready) @(posedge tb_hclk)      ;//(2)
wait(tb_hready && posedge tb_hclk)      ;//(3)
if(tb_hready) @(posedge tb_hclk)        ;//(4)

(1)是语法错误;

(2)语法好,但是会先等tb_hready变高,再tb_hready再低再捡起posege;——这不是我想要的。

(3)是语法错误;

(4) 语法很好,但没有实现我想要的,似乎在这样的表达中它根本没有“等待” tb_hready变高。

我认为这应该是一件相当容易的事情,但我无法得到我想要的东西,谷歌也没有太大帮助。有人有什么建议吗?谢谢~~

4

1 回答 1

2
@(posedge tb_hclk iff tb_hready)
于 2017-03-28T13:44:51.503 回答