在 Verilog 中编写测试台时,在“任务”中,我需要等待这样的事件发生,即:虽然signal_a是1'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变高。
我认为这应该是一件相当容易的事情,但我无法得到我想要的东西,谷歌也没有太大帮助。有人有什么建议吗?谢谢~~