sar*_*a8d 1 verilog system-verilog
我知道repeat(number)的含义是什么,但在下面的例子中含义是什么:
repeat(m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);?
Run Code Online (Sandbox Code Playgroud)
这是非常糟糕的代码.关系运算符的结果是1'b0或1'b1,因此产生的效果与
if (m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);
Run Code Online (Sandbox Code Playgroud)
这比原来的字符更少,更易读.
但是,他们有可能写出一些不是他们意图的东西.通常你想继续等待,直到有东西在队列中.然后他们应该写的是
while(m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);
Run Code Online (Sandbox Code Playgroud)