Vivado如何清理工程并保证不缺失必要文件

一、 Vivado如何清理工程并保证不缺失必要文件

前言

vivado和ISE的使用差别很大,Vivado是专门针对7系列和以后系列的FPGA/AP SOC进行高效设计的工具,特别是最近提出的UltraFast设计方法,能够极大地提高开发效率。ISE在支持老版本器件的基础上,目前也支持7系列/ZYNQ的设计,但是效率不能和Vivado相比。关于vivado的基本使用这里不多说,主要把一些问题点整理成“错题集”,把一些小技巧进行归纳。

清理/压缩工程

实际使用vivado的过程中,由于vivado会自动产生一系列文件,有些是不必要时刻保存的中间文件,有些是加快效率的文件(比如编译IP核后产生的文件)。但是在上传svn或者自己做备份的时候希望备份占用尽量少的空间。然而由于vivado不会自动清理,所以这时候就需要我们做手动清理了,很多人采用的方法是根据经验删除没用的文件和文件夹,这种对于不熟悉的人很容易犯下不可挽回的错误。也有人写好了批处理文件可以直接帮助删除的,但是这都不太适合初学者。其实vivado是有tcl命令可以帮助清理的。

reset_project

reset_projec是vivado一个tcl命令,输入后会发现所有的IP全部清掉了编译后的文件,工程的综合和实现也被清理掉了,所以会减少空间,下面我们用一个简单的工程来对比下前后会少多少。
Vivado如何清理工程并保证不缺失必要文件_第1张图片
下图为某工程运行完成之后占用的资源,占用了176M。
Vivado如何清理工程并保证不缺失必要文件_第2张图片
对工程运行reset_project命令后如下图所示,资源占用105M,直接减少72M,也就是减少了40%!这个压缩量还是比较可观的。

Vivado如何清理工程并保证不缺失必要文件_第3张图片

复位后的影响

复位后是什么效果呢?其实复位就是把里面的综合实现清空,包括ooc下面的IP核等都清掉,这样就只保留了最必要的文件,从而压缩了占用 空间。但是这样也带来一个问题,如果要重新产生一个可用的版本,需要的时间会更长,这个操作实际上也就是用空间换取了时间,所以大家使用前要衡量下,不要随便用,比较工程大了跑一次可能一天就没了。



二、使用tcl命令保存vivado工程成.tcl文件和使用.tcl文件恢复vivado工程的方法

把vivado工程保存成.tcl文件,有两种方法,分别是:

  1. 使用tcl命令:在打开的vivado工程中,在tcl命令输入行,输入如下命令,write_project_tcl { d:/work/system.tcl},即可把工程保存成.tcl文件。其中d:/work/是.tcl文件保存的路径,可根据实际使用的需要更改,system.tcl是保存的文件名。

  2. 使用GUI操作:在打开的vivado工程中,依次点击 File —》 Write Project to Tcl ,在Write Project To Tcl 界面设置相关参数(主要是tcl文件的保存路径和文件名),即可把工程保存成.tcl文件。

使用.tcl文件恢复vivado工程,需要注意以下事项:

  1. 首先要打开.tcl文件,查看此.tcl文件是用哪个版本的vivado创建的,然后必须使用同样版本的vivado软件来运行此.tcl文件。因为不同版本的vivado用的IP核可能不同,所以vivado版本必须先一致。
  2. 查看.tcl文件中的NOTE,把NOTE中提到的全部文件找到,并按相关提示修改.tcl文件中相关文件的路径为当前路径。

使用.tcl文件恢复vivado工程,有以下两种方法:

  1. 使用tcl命令:启动vivado,在tcl console下,用cd命令将工作路径指定到目标路径,例如 cd d:/work/vivado_Project,在此路径下保存有.tcl文件,然后输入TCL命令 source ./system.tcl,即可完成恢复vivado工程。
  2. 启动vivado,在vivado界面tools下,运行run tcl script,路径指到system.tcl的保存路径即可。

可以使用pwd命令来查看当前路径。

参考链接

  • Vivado如何清理工程并保证不缺失必要文件 —— 材哥 玩儿转FPGA
  • 使用tcl命令保存vivado工程成.tcl文件

你可能感兴趣的:(FPGA)