В настоящее время я создаю простой 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_agt_pkg.sv) в / my_proj / tb_uvm / agent /, потому что в этом каталоге есть несколько файлов драйвера / монитора, включая my_driver.svhЯ упоминал выше.
package my_agt_pkg;
import uvm_pkg::*;
`include "my_driver.svh"
`include "../intf/my_if.svh"
....
endpackage
, но мне не удалось скомпилировать из-за ошибки ниже.Может ли кто-нибудь помочь мне в этом вопросе?
Найден «интерфейс» внутри пакета перед «конечной упаковкой».«Интерфейс» внутри «пакета» не допускается.