为什么其他 files/modules 可以看到模块外的导入包?

Why is import package outside module visible from other files/modules?

`timescale 1ns/10ps
import mypkg::*;
module test_A (
...
);

`timescale 1ns/10ps
module test_B (
...
);

3.12.1 编译单元 部分 IEEE 1800-2017 SystemVerilog LRM 为工具提供了将每个文件作为单独的编译单元处理的选择,如 C/C++ ,或者像在 Verilog 中一样在命令行上将每个文件编译为一个编译单元。如果使用单独的命令行编译,所有工具都将每个文件视为一个单独的编译单元。

遗憾的是没有标准的默认选择;您需要阅读工具的用户手册。

我知道 Modelsim/Questa 默认情况下将每个 SystemVerilog 文件视为一个单独的编译单元。