我正在学习如何编写 UVM 测试平台,我遇到了这个我无法指出的编译错误。 错误信息:
interface i2c_interface(
|
xmvlog: \*W,NONAIF (i2c_interface.sv,1|22): Non Ansi Interface port declaration seen - Not official SystemVerilog syntax - \[SystemVerilog\].
interface i2c_interface(
|
xmvlog: \*E,EXPSMC (i2c_interface.sv,1|23): expecting a semicolon (';') \[12.3.2(IEEE)\].
);
|
xmvlog: \*E,EXPSMC (i2c_interface.sv,3|2): expecting a semicolon (';') \[3.2.2(IEEE)\].
endinterface
|
xmvlog: \*E,EXPENM (i2c_interface.sv,16|11): expecting the keyword 'endmodule' \[12.1(IEEE)\].
我尝试重写代码,但错误仍然存在
interface i2c_interface( input logic clk);
logic a;
logic b;
logic c;
logic [7:0] adr, data;
endinterface
代码在 EDAPlayground 上的 Cadence 上编译没有错误。 可能是你的Cadence版本有问题。 例如,也许您使用的是有错误的旧版本模拟器。 如果是这种情况,您需要更新到较新版本的模拟器软件。
如果您尝试仅编译此代码(正如我在 EDAPlayground 上所做的那样),并且错误消失,则可能您使用此接口代码编译的其他代码中存在语法错误。 查看该接口之前编译的所有文件的编译顺序。 尝试将问题隔离到一个文件。