System verilog 在所有系统verilog文件中自动包含一个文件

System verilog 在所有系统verilog文件中自动包含一个文件,system-verilog,modelsim,System Verilog,Modelsim,我从一位同事那里采纳了一堆.sv文件,但每个文件都无法编译,因为它缺少“globals.sv”文件中存储的“已定义的环境变量”。添加行 `include "globals.sv" 在每个文件的顶部添加一个ModelSim命令行标记可以正常工作,但是是否有一个ModelSim命令行标记可以用于在编译时为每个.sv自动包含此文件?我必须使用“globals2.sv”和“globals3.sv”重新运行这些文件,这样就更容易一次包含所有文件。我在想象一个命令,比如: vlog -env_variab

我从一位同事那里采纳了一堆.sv文件,但每个文件都无法编译,因为它缺少“globals.sv”文件中存储的“已定义的环境变量”。添加行

`include "globals.sv"
在每个文件的顶部添加一个ModelSim命令行标记可以正常工作,但是是否有一个ModelSim命令行标记可以用于在编译时为每个.sv自动包含此文件?我必须使用“globals2.sv”和“globals3.sv”重新运行这些文件,这样就更容易一次包含所有文件。我在想象一个命令,比如:

vlog -env_variables globals.sv -c *.sv
vlog -env_variables globals2.sv -c *.sv
这将使用globals.sv中的变量定义编译每个.sv文件


如果您能提供任何帮助,我们将不胜感激

您最好编写一个脚本,将
`include globals.sv
添加到每个*.sv文件的开头。然后代码可以在任何模拟器上运行

有一个名为
-mfcu
vlog
选项,它将所有文件编译为一个大文件(多文件编译单元)。所以你可以做一些像

vlog -mfcu globals.sv rtl/*.sv
vlog -mfcu globals2.sv tb/*.sv

您最好编写一个脚本,将
`include globals.sv
添加到每个*.sv文件的开头。然后代码可以在任何模拟器上运行

有一个名为
-mfcu
vlog
选项,它将所有文件编译为一个大文件(多文件编译单元)。所以你可以做一些像

vlog -mfcu globals.sv rtl/*.sv
vlog -mfcu globals2.sv tb/*.sv

我建议使用顶级systemverilog软件包。然后您将导入每个文件中的包。导入的包将包含globals.sv。我建议使用顶级systemverilog包。然后您将导入每个文件中的包。该导入包将`包括globals.sv。