网上的VPI vpi_put_value

时间:2015-05-12 08:47:40

标签: hardware verilog

我试图通过 vpi_put_value (使用vpi的c接口)强制网络的值,但模拟不保留强制值。在模拟期间,它评估值,我在gtkwave中看到的值与我强制的不同。 我需要方法来强制特定时间(模拟时间的范围)的值,这不依赖于模拟器(cvc,icarus等)。

这可以实现吗?

1 个答案:

答案 0 :(得分:3)

使用vpiForceFlag标志通过vpi强制值,并使用vpiReleaseFlag释放。

vpi_put_value(sys, &return_val, NULL, vpiForceFlag);

请参阅任何Verilog / SytemVerilog LRM的文档表格:

  • IEEE Std1364-1995§23.23 vpi_put_value()
  • IEEE std1364-2001§27.32 vpi_put_value()
  • IEEE std1364-2005§27.32 vpi_put_value()
  • IEEE std 1800-2012§38.34 vpi_put_value()

您可以使用Verilog关键字forcerelease

获得相同的效果