amazing icecream

浅谈Vivado的优缺点

0
阅读(21853)

    作为Xilinx新一代的开发工具套件,Vivado在各方面都有极大的提升。Xilinx2008年开始研发Vivado2011年推出测试版本,可见XilinxVivado的重视程度。目前,Vivado的最新版本为2014.2。

    在这里,总结一下Vivado相对于ISE的优势和缺点。

    

优点:

  • 1. 更完整的设计工具。ISE更像是多个设计工具拼在一起的综合软件,彼此之间的联系并不紧密。比如,综合工具XST不会针对ucf文件和ngc文件做优化,Core Gen虽然调用XST进行综合,但在map之前,IP的网表和主设计网表都是分离的,无法在综合的层面上进行优化。PlanAhead等辅助工具与之结合的紧密程度也不高。而对于Vivado来说,设计的全部流程完全在一个工具中,综合时就可以考虑整个设计网表,在设计的各个阶段都需要检查各种约束文件,设计的整体性得到保证。
  • 2. 更优的PC资源使用方式。由于ISE是多个设计工具组合在一起的,所以各工具交接的时候,需要产生临时文件来保存上一步的执行结果。Vivado的设计思想是,直接存储在内存中,这样免去了反复读取硬盘的麻烦。这一效果,对于越大的设计,体现的越明显。
  • 3. 更好的时序收敛。Vivado的设计收敛性比ISE好太多,用更专业的术语,大概是Vivado是时序驱动的,同时考虑的更全面,会在时序、走线延迟、资源等多方面进行综合考虑。在解决复杂时序问题的时候,ISE就容易表现出顾此失彼的忙乱。
  • 4. 更自然的设计流程。Vivado的一个重要更新,就是其软件的设计与FPGA设计/调试方法非常的契合,如果熟悉FPGA的设计流程,就能很自然的使用Vivado来进行设计和调试。比如,如果I/O管脚或者综合产生问题,Vivado会反复提示用户在进行implementation之前定位问题,以便尽早的解决问题。同时,Vivado综合后对时钟、资源及功耗的分析,相比于ISE都准确了很多。
  • 5. 更规范的脚本支持。Vivado全面支持Tcl脚本,ISE对脚本的支持不够完善,同时存在多种脚本(Tclperlwindows batch),这也导致文档内容的不清晰。Vivado只使用Tcl脚本,从一方面说,更规范,更容易掌握。
  • 6最后一点,支持SystemVerilog可能对于FPGA做产品的设计影响不大,不过对ASIC验证,确实是一大进步。毕竟,ISE到现在也不支持SystemVerilog


缺点

  • 1. 内存消耗较大(尤其对于小工程)Vivado工程都保存在内存中,不需要反复读写硬盘,同时本身资源占用也较大,所以对于规模小的设计,内存消耗比ISE大。设计规模越大,这个缺点越不明显,反而可能是Vivado占用资源小,运行速度快(这是根据设计的不同而不同的,无法一概而论)。
  • 2. 版本更新较大。个人建议不要使用2013.3以前的版本,推荐使用2014.1及以后的版本,当然,现在最好用的就是2014.2版本了。
  • 3. 对于ISE的资深用户来说,切换到Vivado还是会有很多不习惯的地方,需要慢慢熟悉,改变习惯。

    总体来说,花点时间来适应Vivado还是很有必要的,越了解Vivado,也就越能发现这款设计工具的长处。