使用Modelsim .do文件,如何使用vcom编译文件列表

时间:2018-03-26 09:54:46

标签: tcl vhdl fpga modelsim

在Modelsim .do文件中, 我试过了:

vcom file1.vhd file2.vhd

工作正常。

但是当我尝试时:

set comp_files "file1.vhd file2.vhd"
vcom $comp_files

它没有用,我收到了一个错误:

  

错误:(vcom-7)无法在读取模式下打开设计单元文件“file1.vhd file2.vhd”。

任何人都知道如何使comp_files工作?

2 个答案:

答案 0 :(得分:3)

您必须使用comp_files(Tcl 8.5)将列表{*}扩展为单个参数:

set comp_files "file1.vhd file2.vhd"
vcom {*}$comp_files

或者,您可以使用旧版eval(也应该使用Tcl版本< 8.5):

set comp_files "file1.vhd file2.vhd"
eval vcom $comp_files

答案 1 :(得分:1)

所以:set comp_files "file1.vhd file2.vhd"会创建一个列表。

尝试llength $comp_files它将返回“2”=两个元素。

因此,您可以为列表中的每个文件调用vcom

foreach comp_file $comp_files { vcom $comp_file }