2016-10-14 36 views
0

我從同事那裏收集了一堆.sv文件,每個文件都沒有編譯,因爲它缺少定義的環境變量,存儲在一個名爲「globals.sv」的文件中。添加行在所有系統的verilog文件中自動包含一個文件

`include "globals.sv" 

到每一個文件的頂部會工作,但在那裏,我可以用它來自動包含這個文件在編譯時每個.sv一個ModelSim的命令行標記?我必須使用「globals2.sv」和「globals3.sv」重新運行這些文件,並且能夠一次包含所有文件會容易得多。我想象一個命令,如:

vlog -env_variables globals.sv -c *.sv 
vlog -env_variables globals2.sv -c *.sv 

這將編譯每個.sv文件與globals.sv中的變量定義。

任何幫助你可以給予讚賞!

+1

我會建議使用一個頂級的systemverilog包。然後你會在每個文件中導入這個包。該導入的軟件包將包含globals.sv。 – noobuntu

回答

2

要做的最好的事情是編寫一個腳本,將`include globals.sv添加到每個* .sv文件的開頭。然後代碼將在任何模擬器上工作。

有一個vlog選項叫做-mfcu其編譯的所有文件,就好像它們被納入一個大文件(中號 ULTI ˚F ILE Ç ompilation ü NIT)。所以你可以做點像

vlog -mfcu globals.sv rtl/*.sv 
vlog -mfcu globals2.sv tb/*.sv 
相關問題