【发布时间】:2021-07-08 13:35:07
【问题描述】:
- 文件 A
`timescale 1ns/10ps
import mypkg::*;
module test_A (
...
);
- 文件 B:
`timescale 1ns/10ps
module test_B (
...
);
- 为什么
mypkg的typedef 在文件B 中可见? 它不应该是每个编译单元(=此处的文件)吗?
【问题讨论】:
标签: system-verilog
`timescale 1ns/10ps
import mypkg::*;
module test_A (
...
);
`timescale 1ns/10ps
module test_B (
...
);
mypkg 的typedef 在文件B 中可见?
它不应该是每个编译单元(=此处的文件)吗?【问题讨论】:
标签: system-verilog
3.12.1 编译单元 节为工具提供了将每个文件作为单独的编译单元处理的选择,就像在 C/C++ 中一样,或者在命令行上编译的每个文件都作为一个像 Verilog 一样的编译单元。如果使用单独的命令行编译,所有工具都将每个文件视为单独的编译单元。
很遗憾,没有标准的默认选择;您需要阅读工具的用户手册。
我知道 Modelsim/Questa 默认将每个 SystemVerilog 文件视为一个单独的编译单元。
【讨论】: