使用 Modelsim .do 文件,如何使用 vcom 编译文件列表
With Modelsim .do file, how to compile a list of files using vcom
在 Modelsim .do 文件中,
我试过了:
vcom file1.vhd file2.vhd
效果很好。
但是当我尝试时:
set comp_files "file1.vhd file2.vhd"
vcom $comp_files
它没有用,我得到一个错误:
Error: (vcom-7) Failed to open design unit file "file1.vhd file2.vhd" in read mode.
有人知道如何让 comp_files 工作吗?
因此:set comp_files "file1.vhd file2.vhd"
创建一个列表。
尝试 llength $comp_files
它会 return "2" = 两个元素。
因此您可以为列表中的每个文件调用 vcom
foreach comp_file $comp_files { vcom $comp_file }
您必须使用 {*}
(Tcl 8.5) 将列表 comp_files
扩展为单个参数:
set comp_files "file1.vhd file2.vhd"
vcom {*}$comp_files
或者,您可以使用旧版 eval
(也应该适用于 < 8.5 的 Tcl 版本):
set comp_files "file1.vhd file2.vhd"
eval vcom $comp_files
在 Modelsim .do 文件中, 我试过了:
vcom file1.vhd file2.vhd
效果很好。
但是当我尝试时:
set comp_files "file1.vhd file2.vhd"
vcom $comp_files
它没有用,我得到一个错误:
Error: (vcom-7) Failed to open design unit file "file1.vhd file2.vhd" in read mode.
有人知道如何让 comp_files 工作吗?
因此:set comp_files "file1.vhd file2.vhd"
创建一个列表。
尝试 llength $comp_files
它会 return "2" = 两个元素。
因此您可以为列表中的每个文件调用 vcom
foreach comp_file $comp_files { vcom $comp_file }
您必须使用 {*}
(Tcl 8.5) 将列表 comp_files
扩展为单个参数:
set comp_files "file1.vhd file2.vhd"
vcom {*}$comp_files
或者,您可以使用旧版 eval
(也应该适用于 < 8.5 的 Tcl 版本):
set comp_files "file1.vhd file2.vhd"
eval vcom $comp_files