vivado2020.2 工程导出为tcl并rebuild(一) 目录概要将工程导出为 TCL 的优缺点第一步导出 TCL第二步准备恢复文件1. 新建恢复工程文件夹2. 复制必要文件最终的文件夹结构3. 修改 TCL 文件4. 编写 rebuild.bat 代码第三步恢复工程第四步遗留问题概要全部操作大致分为三个步骤将工程导出为 TCL 工程将源文件复制到目标路径重建工程将工程导出为 TCL 的优缺点优点节省存储空间实际需要的空间只有源文件和 TCL 文件的大小重新恢复的工程比原工程要小虽然 Vivado 可以通过project_reset来精简工程但是远远达不到这个水平方便工程转移如果需要将工程交付他人可以更方便进行转移。缺点只保留必要文件大小如果工程占用芯片资源过多可能一次编译无法成功这种情况下还需要保存原工程的 bit 流文件官方建议通过和生成 TCL 文件相同版本的 Vivado 进行重建否则可能出现无法重建工程的情况。第一步导出 TCL可以导出的方式有 2 种这里只介绍通过 Vivado 界面导出。1. 按照下图进行选中2. 按照下图进行选择第二步准备恢复文件1. 新建恢复工程文件夹2. 复制必要文件1复制源文件2粘贴到目的路径提示由于前面生成 TCL 的时候选中了“Recreate Block Designs using Tcl”所以 block design 的信息也包含在 TCL 文件中所以这里可以将src/sources_1文件夹下的bd文件夹删除。最终的文件夹结构├─src │ ├─constrs_1 │ │ └─constrains │ └─sources_1 │ ├─header │ ├─ip │ │ ├─axis_data_fifo_0 # 这里保存的是 xci 文件重建后的工程如果需要修改 IP可以通过重新生成 IP 实现 │ │ ├─... │ ├─rtl │ └─ ... ├─vivado_project.tcl ├─rebuid.bat3. 修改 TCL 文件1这部分路径的作用是检查这些文件是否存在修改前的路径修改后的路径2这部分文件的作用是用于工程重建修改前路径修改后的路径4. 编写 rebuild.bat 代码CALL D:\Xilinx\Vivado\2020.2\bin\vivado.bat -mode batch -source vivado_project.tcl PAUSE第三步恢复工程双击rebuild.bat下面是运行结束的打印第四步遗留问题重建工程后vivado_project.srcs文件夹下的文件结构会发生改变。前面有写原来的源文件结构下面是重建后的结构可以看到各个文件夹下面都新建了imports文件夹。这个问题该如何解决还没有找到办法。├─constrs_1 │ └─imports │ └─constrains ├─sources_1 │ ├─bd │ │ └─design_1 │ │ └─ip │ ├─imports │ │ └─sources_1 │ │ ├─header │ │ ├─rtl │ │ └─version │ └─ip └─utils_1 └─imports └─version