这里从两个方面分别进行说明,为什么要使用Vivado的Batch mode。
1、流程操作效率
我所谓的流程操作效率,是指在使用Vivado时,通过键盘输入、鼠标点击以及进行等待等实际外部操作的效率。例如我需要打开一个Vivado工程,并进行Synthesis,那么在GUI下是这样的流程操作:点击打开Vivado GUI并等待----用Vivado点击打开对应的.xpr文件并等待----点击run Synthesis并点击确认----等待----Synthesis完成。
而如果使用Batch mode,那么只需要在Terminal输入以下命令:
Vivado -mode batch -source syn.tcl XXX.xpr
其中syn.tcl是一个提前写好了tcl命令用于指示Vivado进行Synthesis操作的tcl文件,这也仅需要几行简单的代码即可。
从这里已经可以看出,在有一个提前准备好的脚本的情况下,通过脚本指挥,自动的去下达命令,可以极大地减少流程操作,可能只需要输入几个字母再按一下回车,就可以执行一套较为复杂的操作。
上面举例中的进行Synthesis还算是一个较为简单的操作,很明显在越复杂的操作中,使用Batch mode越能带来更高的流程操作效率提升。
一种简单的理解方式是,你提前将需要做的事情都告诉了电脑,然后你就玩去了,电脑按照你提供给他的事务列表逐个逐个自己去进行,这期间不会再来烦你。
更为生动的GUI和Batch mode在流程操作上的对比就像这样:
GUI模式:
第一天
妈妈:你快回屋里去。 我:好的。