写这个TCL脚本的主要目的是搜索目标文件夹及其子文件夹下的所有文件,然后记录在指定的文件中。可以指定目标文件夹名称、信息记录位置和文件后缀等3种参数。
该脚本将用于Vivado的non-project编译过程,被综合和布线脚本调用。
define.tcl中定义了目标文件夹名称、信息记录位置、文件后缀类型、器件part等信息。findAllFiles.tcl脚本根据define.tcl中的参数搜索目标文件夹,当文件后缀类型参数(ext)为.hdl时,会搜索.v、.vh、.vhd、.sv等文件的路径和名称,并记录在./Tcl/code.rd中;当文件后缀类型参数为.xdc时,会搜索.xdc文件,并记录在./Tcl/cons.rd中。设计代码放置在srcs文件夹中,约束文件放置在constraints文件夹中。如果没有分类放置也可以正确识别。
set part "xcvu3p-ffvc1517-2-e"
set srcsPath "../srcs"
set consPath "../Constraints"
set codeRec "./code.rd"
set consRec "./cons.rd"
set codeExt ".hdl"
set consExt ".xdc"
set top "Top"
set synthDir "$top.synth"
set synthLog "synth.log"
set synthDcp "_synth.dcp"
以下是findAllFiles