TCL简介
vivado软件支持TCL脚本,可以纯TCL定制非工程模式FPGA流程,也可以作为GUI工程模式下TCL命令的一个补充。纯TCL定制非工程模式有许多优点,给予用户最大的灵活性去定制FPGA流程,包括控制所有步骤和管理所有的中间生成文件dcp,有利于版本管理和自动化,适用于高级玩家。当然GUI下的工程模式最适合入门,可以专注于解决问题,工作效率不是首要考虑。这时候选择TCL作为GUI模式下的一个补充功能有时候简直奇效。
常见运用场景,要找某个时钟的BUFG或者综合后网表中的某一个信号,还有就是自动触发ILA抓取信号,配合Python进行自动的分析,在信号处理中定位问题非常方便。
TCL语法
简单的TCL语法如下:
设置变量
set n 1
输出显示
puts $n
循环
set n 1
while{
$n<10}{puts "n = $n";set n [expr {
$x + 1}]}
函数/子过程
proc fun{x}{
puts "input is $x"
}
调用
fun(10)
应用举例:
自动触发ILA抓取信号
proc trig_ila {} {
run_hw_ila [get_hw_ilas -of_objects [get_hw_device