【发布时间】:2018-05-16 17:58:23
【问题描述】:
这些天我正在创建一个简单的 uvm tb,但遇到了界面使用问题。这是我的代码。
在 /my_proj/tb_uvm/intf/my_if.svh 文件中:(接口定义)
interface my_if (
input iCLK,
input iRSTb,
inout data
);
clocking monitor_cb @(posedge iCLK);
input iRSTb;
input data;
endclocking
modport monitor_mp(
clocking monitor_cb
);
endinterface : my_if
我需要在 /my_proj/tb_uvm/agent/my_driver.svh 文件中实例化这个接口:
class my_driver extends uvm_driver;
`uvm_component_utils(my_driver)
virtual my_if m_vif;
...
endclass
我试图在 /my_proj/tb_uvm/agent/ 下定义一个包文件(名为 my_agt_pkg.sv),因为这个目录中有几个驱动程序/监视器文件,包括我上面提到的 my_driver.svh。
package my_agt_pkg;
import uvm_pkg::*;
`include "my_driver.svh"
`include "../intf/my_if.svh"
....
endpackage
但由于以下错误,我无法编译。谁能帮我解决这个问题?
在“endpackage”之前的包内找到“interface”。 'package' 中的'interface' 是不允许的。
【问题讨论】:
标签: system-verilog