Verilog 使用关系运算符重复的含义是什么

Verilog 使用关系运算符重复的含义是什么,verilog,system-verilog,Verilog,System Verilog,我知道重复数的含义,但在以下情况下,重复数的含义是什么: repeat(m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);? 如果m_wr_队列为空,则代码将等待AXI_ACLK行上的正边缘。基本上,编写if子句是一种很难理解的方法 以下是两种可能性: 队列为空,即大小==0 在posedge m_vif.AXI_ACLK重复1次 队列大小>0: 在posedge m_vif.AXI_ACLK重复0 我建议将其替换为更具可读性的内容,即简单的if子

我知道重复数的含义,但在以下情况下,重复数的含义是什么:

repeat(m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);?

如果m_wr_队列为空,则代码将等待AXI_ACLK行上的正边缘。基本上,编写if子句是一种很难理解的方法

以下是两种可能性:

队列为空,即大小==0

在posedge m_vif.AXI_ACLK重复1次

队列大小>0:

在posedge m_vif.AXI_ACLK重复0


我建议将其替换为更具可读性的内容,即简单的if子句。如果您必须盯着代码看两次才能理解它,那么简洁的代码是没有用的。现在,多存储几行代码实际上是无限的,您的时间不是无限的。

如果m_wr_队列为空,代码将等待AXI_ACLK行的正边缘。基本上,编写if子句是一种很难理解的方法

以下是两种可能性:

队列为空,即大小==0

在posedge m_vif.AXI_ACLK重复1次

队列大小>0:

在posedge m_vif.AXI_ACLK重复0


我建议将其替换为更具可读性的内容,即简单的if子句。如果您必须盯着代码看两次才能理解它,那么简洁的代码是没有用的。现在多存储几行代码实际上是无限的,你的时间不是无限的。

这真是糟糕的代码。关系运算符的结果是1'b0或1'b1,因此结果与

if (m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);
它比原稿的字符更少,可读性更强

然而,有可能他们写了一些并非他们本意的东西。通常,您希望一直等待,直到队列中有东西。那么他们应该写的是

while(m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);

这是非常糟糕的代码。关系运算符的结果是1'b0或1'b1,因此结果与

if (m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);
它比原稿的字符更少,可读性更强

然而,有可能他们写了一些并非他们本意的东西。通常,您希望一直等待,直到队列中有东西。那么他们应该写的是

while(m_wr_queue.size()==0) @(posedge m_vif.AXI_ACLK);

我同意戴夫的看法。我相信作者正在阅读中的AXI从驱动程序实现

这些是我到目前为止所了解的

axi_slave_监视器观察到写入事务已完成。 这意味着写入地址和数据由axi_master_驱动程序和 axi_slave_监视器检测到地址和数据AWREADY==AWVALID==1和花环==WVALID==1的主/从握手均已完成

然后,monitor调用一个名为“write”的函数TLM exports,该函数在axi_slave_驱动程序中实现,用于填充队列

axi_从驱动程序监视此队列是否为空;如果不为空,则表示驱动器应驱动axi写入响应信号


单行代码应该在“等待”队列被填充时执行此操作

我同意戴夫的观点。我相信作者正在阅读中的AXI从驱动程序实现

这些是我到目前为止所了解的

axi_slave_监视器观察到写入事务已完成。 这意味着写入地址和数据由axi_master_驱动程序和 axi_slave_监视器检测到地址和数据AWREADY==AWVALID==1和花环==WVALID==1的主/从握手均已完成

然后,monitor调用一个名为“write”的函数TLM exports,该函数在axi_slave_驱动程序中实现,用于填充队列

axi_从驱动程序监视此队列是否为空;如果不为空,则表示驱动器应驱动axi写入响应信号


单行代码应该在“等待”队列被填充时执行此操作

这并不能回答这个问题。一旦你有足够的钱,你将能够;相反我同意,我想加上简短的评论,但因为声誉不好,所以没能加。我会删除它。这并不能回答这个问题。一旦你有足够的钱,你将能够;相反我同意,我想加上简短的评论,但因为声誉不好,所以没能加。我会删除它。