如何让 Vivado 启动时执行指定脚本
在 Vivado 脚本目录下 ($YourInstallPath/Vivado/2018.3/scripts) 创建 “Vivado_init.tcl” 文件
将想要执行的脚本/命令写入到 “Vivado_init.tcl” 文件中即可
-
简单例子
Vivado_init.tcl
## 设置编译时使用的线程数量 set_param general.maxThreads 8 ## 禁用自动刷新 JTAG,防止 JATG 线缆连接时 FPGA 无法从 FLASH 启动 set_param labtools.auto_update_hardware 0 set filedir [file dirname [file normalize [info script]]] source $filedir/user/add_user_scripts.tcl
-
将自定义的启动脚本放在一个文件夹下,便于整理
Vivado_init.tcl
## 获取当前所执行脚本的绝对路径 ## 此步骤不是必要的,目的是获取到 Vivado 存放脚本的目录 ## 若你的脚本存在在其他地方,请使用绝对路径或自行获取目录 set filedir [file dirname [file normalize [info script]]] ## 执行该目录下user/add_user_scripts.tcl 脚本 ## 在下面的脚本中使用文件遍历指令自动添加所有脚本 source $filedir/user/add_user_scripts.tcl
add_user_scripts.tcl
## 依然是先获取当前所执行脚本的绝对路径 set filedir [file dirname [file normalize [info script]]] ## 获取所有以 tcl 为后缀的文件列表 set scripts_name [glob $filedir/*.tcl] ## 遍历列表中每个元素 (文件夹下所有 tcl 文件) foreach script_name $scripts_name { ## 获取该文件的绝对路径 set script_path [file normalize $script_name] if {$script_name == [info script]} { ## 排除当前执行脚本,避免造成递归调用 puts "skip tcl $script_path" } else { ## 通过 "source" 命令执行脚本文件 puts "source tcl $script_path" source $script_path -quiet } }