0

我正在编写一个 tclsh 脚本来编译系统 verilog 文件,我该如何解决下面的问题并编译 tclsh 脚本中的所有文件?

下面的命令只会编译“mod1.sv”:

exec vlogan -sverilog mod1.sv mod2.sv mod3.sv

下面的命令只会编译“mod2.sv”:

exec vlogan -sverilog mod2.sv mod3.sv mod1.sv

但这实际上编译了命令行中的所有 sv 文件:

vlogan -sverilog mod2.sv mod3.sv mod1.sv
4

1 回答 1

0

如果您使用 tcl 版本 >= 8.5,您也可以通过 {*} 使用列表扩展

exec vlogan -sverilog {*}{mod1.sv mod2.sv mod3.sv}

如果您事先存储了文件名,它将是

set svFiles [list mod1.sv mod2.sv mod3.sv]
exec vlogan -sverilog {*}$svFiles

我喜欢以身作则。如果你做得好,这可能会有所帮助:Examples summarizing various methods of exec

于 2015-12-15T09:37:44.977 回答