0

我正在使用 VPI 实现 Verilog“强制”和“释放”,以便可以从 C 例程中调用它们。要将值强制为向量网络,我需要为 value_p 创建一个 s_vpi_vecval 数组。我为数组分配了一个存储空间并用我想要的值填充它。然后我使用 vpi_put_value() 将向量值强制为网络。

标准 IEEE 1800 清楚地表明调用例程需要为 value_p 的这种结构分配空间。但它没有说明何时可以安全释放存储空间。调用 vpi_put_value() 后释放存储是否安全?

我假设, vpi_put_value() 将在他们身边保留一份力值的副本。对此的任何见解都将不胜感激。

4

1 回答 1

1

我认为可以安全地假设您可以在进行 VPI 调用后释放内存——这就是所有其他 VPI 例程的工作方式。

dpi_put_value()您可以通过使用相同的结构指针进行两次调用来轻松测试这一点。

我已请求澄清 IEEE 标准。

于 2018-02-28T23:06:27.430 回答