我正在编写一个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
答案 0 :(得分: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