2016-11-08 70 views
0

我在嘗試編譯某些文件時遇到此錯誤。接口單元不支持系統verilog

錯誤 - [NYI-NS]尚未實施 尚不支持的以下特點: 邏輯庫更換接口單元尚不支持

我的文件: monitor_interface.sv

interface monitor_if(
input logic a, 
input logic b 
); 
endinterface 

bind TB monitor_if 
mon_if1(
... 
); 

文件2(其中有 「`包括monitor_interface.sv」)

virtual monitor_if if1; 
//passes this interface to another module. 

我不瞭解正在發生的事情。任何指針將不勝感激。

[編輯] top.sv

virtual monitor_interface monitor_if; 
initial begin 
... 
end 
monitor mon1(monitor_if); 

monitor.sv:

module monitor (monitor_if); 

回答

1

A 「尚未實現。」 消息通常意味着工具能夠識別你正在嘗試做的,但不不支持它,最有可能與綁定構造有關。你應該得到一個指向確切位置的行號。

是另一個模塊內的綁定語句?或者在任何構造之外。

這個問題也可能是你在某處犯了一個錯誤,編譯器做了它能理解的最好的東西,但它給了你一個無關的錯誤。 `include聲明在哪裏?

+0

我意識到我已經將這個monitor_interface.sv包含在2個地方。監視器模塊定義的文件和頂層模塊中的文件。我在開始時加入了ifndef聲明並解決了問題。綁定語句與接口位於同一個文件中。另外,我可以問我是否可以將在頂層文件中實例化的類型爲monitor_if的虛擬接口傳遞給監視器模塊?我試過這個,並得到一個「錯誤 - [ELAB-ICIP]非法連接的接口端口」錯誤。 (我的空間不足,所以我正在編輯這個問題) – pdp1231

+0

您通常不使用虛擬接口來連接接口,而是使用實際的接口。可能值得一個單獨的問題。你能接受這個答案,並從一個新問題開始。 –