gpt4 book ai didi

verilog - tf_nodeinfo 已被 IEEE 弃用

转载 作者:行者123 更新时间:2023-12-02 16:48:01 25 4
gpt4 key购买 nike

我想使用多年前使用 PLI 1.0 开发的 PLI 例程。以前工作得很好。但是当我尝试使用较新版本的 ModelSim Verilog 模拟器运行时,我收到以下错误消息:

# ** Warning: (vsim-8668) tf_nodeinfo has been deprecated by IEEE. Although still partially supported, memoryval_p will always be set to a a null pointer.
# : PDK_top.v(102)

由于 PLI 例程使用 tf_nodeinfo 并且模拟失败。我试图找出如何解决这个问题,但我找不到任何推荐的方法来替换过时的 tf_nodeinfo。

有人可以给我一个应对这种情况的策略吗?PLI 例程的所有源代码均可用。

另外,我很好奇为什么 IEEE 决定放弃 tf_nodeinfo。

最佳答案

PLI 1.0 很旧(根据 LRM,它自 20 世纪 80 年代中期以来就已存在),它已在 IEEE Std 1364-2005 § 1.6 中被弃用已弃用的条款:

IEEE Std 1364-2005 deprecates the Verilog PLI TF and ACC routines that were contained in previous versions of this standard. These routines were described in Clause 21 through Clause 25, Annex E, and Annex F. The text of these clauses and annexes have been removed from this version of the standard. The text of these deprecated clauses and annexes can be found in IEEE Std 1364-2001.

我找不到任何说明为什么它被从 LRM 中删除。最好的猜测是:

  • 这可能是旧的 tf_acc_ 例程无法与 SystemVerilog 进行向前比较。 IEEE Std 1800-2005 中没有提及 tf_acc_ 例程,但有 vpi_ 例程。 IEEE 已经计划合并这两个标准(并在 IEEE Std 1800-2009 中做到了)。
  • 也可能是因为与 VPI 相比,它的性能明显较低或有额外的开销。 VPI 在 IEEE Std 1364-2001(第 20、26 和 27 节)中引入,通常称为 PLI 2.0(但 LRM 表示:“Verilog 过程接口(interface)例程,称为 VPI 例程,是第三代 PLI” )。 VPI依然强劲;它仍然比 DPI 有更多的开销,但功能并不完全重叠。

您的选择:

  • 使用较旧的模拟器(目前可能可以使用,但在某些时候您需要升级)
  • 找到另一个仍然支持它的模拟器(但它可能会在未来的版本中被删除)
  • 重写功能:
    1. SystemVerilog IEEE Std 1800-2012
      • 使用类、多派别队列和关联数组、结构体和接口(interface)可以完成的事情是令人惊奇的
    2. DPI ( IEEE Std 1800-2012 § 35)
    3. VPI ( IEEE Std 1800-2012 § 36)
      • vpi_get_data/vpi_put_data 可能是您的 tf_nodeinfo 替代品,具体取决于操作如何处理它。

关于verilog - tf_nodeinfo 已被 IEEE 弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30381195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com