Невозможно экспортировать пакеты в системный журнал - PullRequest
1 голос
/ 22 марта 2019

Я пытался создать большой пакет, который экспортирует подпакеты, чтобы не создавать зависимости в тестовых файлах при добавлении нового подпакета. Для этого я просто сделал следующее, но получил ошибку компиляции, кажется, экспорт не работает должным образом, как описано в LRM. Есть ли пропущенные точки в моем коде?

package sub_pkg_A;
  ..
endpackage

package sub_pkg_B;
  ..
endpackage

// just import and export
package top_pkg;
   import sub_pkg_A::*;
   import sub_pkg_B::*;
   export sub_pkg_A::*;
   export sub_pkg_B::*;
endpackage

// test file
module my_test;
    import top_pkg::*;
    ..
endmodule

1 Ответ

1 голос
/ 22 марта 2019

Проблема заключается в том, что оператор импорта с подстановочными знаками import pkg::*; не импортирует идентификаторы, пока не будет явной ссылки на этот идентификатор.

package sub_pkg_A;
  int A,B,C;
endpackage

// just import and export
package top_pkg;
   import sub_pkg_A::*; // A, B, C become candidates for importing
   int D = A; // imports A
   export sub_pkg_A::*; // exports A
   export sub_pkg_A::B; // imports/ exports B

endpackage

// test file
module my_test;
    import top_pkg::*; // A, B, D become candidates for importing. 
    ..
endmodule 
...