2016-05-22 73 views
0

我知道可以通過Verilog編程接口(VPI)更改信號和變量的值。也可以通過在其上執行vpi_put_value(...)來觸發指定事件。通過VPI調用任務或功能

是否有可能調用函數或啓動任務?

回答

0

VPI不允許您從C調用任務或函數,但DPI​​會執行此操作。從技術上講,DPI只允許您從SystemVerilog調用的C例程中調用SystemVerilog例程。 DPI具有導入/導出機制,需要維護您的SystemVerilog代碼創建的所有線程的進程標識。

+0

這不是我要找的。通過DPI意味着我必須導出該功能。我想要做的是獲取類對象的句柄,並使用VPI調用它的函數(即反射)。 –

+0

您無法跨語言邊界傳遞類句柄。你需要做的是創建一個可以導出的包裝函數,該函數可以調用類方法。 –