2016-11-08 72 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

您通常不使用虚拟接口来连接接口,而是使用实际的接口。可能值得一个单独的问题。你能接受这个答案,并从一个新问题开始。 –