【问题标题】:How to fix 'port multiply driven' warnings System Verilog如何修复“端口多重驱动”警告 System Verilog
【发布时间】:2019-04-11 08:40:05
【问题描述】:

我有一个 AXI UVC,可以配置为主或从,以及一个带有 3 个时钟块(mst_cb、slv_cb、mon_cb)的接口。我收到警告消息,告诉我一个端口是多重驱动的。您如何解决这些警告消息?

我不确定,但我认为问题在于端口具有不同的方向,具体取决于所使用的时钟模块(即 AWREADY 是 Master 的输入,Slave 的输出)。

interface axi_if();
  logic aclk;
  logic awready;

  clocking mst_cb @(posedge aclk);
     input awready;
  endclocking

  clocking slv_cb @(posedge aclk);
    ouput awready;
  endclocking

endinterface

我试图暂时移除 Slave 时钟块,但警告消息消失了。但是,当 UVC 配置为从设备时,我需要从设备时钟块。

【问题讨论】:

  • 很可能你的错误是由模型中的其他东西驱动的。找出它是什么并弄清楚你想做什么。一般来说,您不应多次驱动同一个变量。

标签: interface system-verilog uvm


【解决方案1】:

这很可能是因为有人连续分配给aready。将声明更改为电汇。

【讨论】:

  • 感谢您的建议。不得不调整更多代码,但警告消息现在消失了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-08
  • 2020-11-28
相关资源
最近更新 更多