木易

ISE VS VIVADO, 哪个坑更深?以FFT为例比较两个软件综合布线后的资源使用情况

0
阅读(34123) 评论(6)
 

作者:刘初一

    从10年前接触FPGA开始,一直在用XILINX。记得 最早使用的好像是ISE6.X, 到现在的ISE14.7VIVADO14.2.

    10年来,见证了XILINX一直在努力升级,修复BUG,同时也在加倍努力创造新的BUG。终于,他们发现对ISE的修修补补已经不能满足他们对BUG的追求了,于是隆重推出了VIVADO  一直不知道VIVADO具体啥意思,也没考证过。倒是在路上经常看到叫VIVARO的面包车,不过这车是通用出的,和XILINX没半毛钱关系。

    有那么多介绍VIVADO的文章,都只是介绍VIVADO的优势,基本上都是把XILINX的文档翻译一下,很难有直观的认识。那么VIVADOISE比,究竟好不好了?如果好,在哪了?下面我以大家都知道的FFT为例,比较一下两个软件的综合布线后的资源使用情况。

    该FFT核配置为: 1024点, 16点复数并行输入输出, 13位输入,18位输出,碟型运算因子18位,选择的比较芯片为XC7K325T-2FFG900 时钟设为250MHz.  设计全部用VHDL编码,RAM DSP等都通过代码来调用(infer),不使用XILINX的原语(PRIMITIVE)或者CORE GENIP CORE.

    VIVADOISE布线后,都能满足4NS的时序要求。整个运行时间差别也不大

  资源使用,无图无真相,直接截ISEPAR报告

  

 

 VIVADO的,也是截的utilization报告

 

把关键的参数列表比较:

DFF

LUT

RAM18E1

DSP

ISE14.7

25,746

21,673

252

192

VIVADO2014.2

29,149

17,201

276

192

    VIVADO使用较少的LUT,但DFF多用了些,不过考虑到在SLICE中一个LUT对应两个DFF,多用些DFF问题不大。在其他的设计中,同样发现VIVADO也同样优化了LUT的使用。

    但是VIVADORAM却多用了24个,这个问题就严重了。经过对应的比较,发现一些本应该用RAM18E1容量就够的地方,VIVADO却调用了RAM36E1。这方面,VIVADO还要继续改进。由于设计中所有的RAM都是通过代码调用,才会有这样的问题存在。 ISE中也一样有这样的问题。当然如果你使用CORE GEN产生RAM或者使用原语,则不会有这样的问题。总的来说,VIVADO还是有那么一些进步的。由于刚推出不久,还有很多BUG待发掘,待修复,待创造。

    对于我个人来说,用VIVADO,完全是被XILINX这货逼的。目前接触的项目还没有用VIRTEX7的,还可以继续用ISE 不过新做的和以前做的IP,都要用ISEVIVADO做验证,增加的工作量。另外,VIVADO完全使用TCL,由于不熟悉TCL 写它的脚本文件,确实花了一些时间,不过写好了,就可以像ISEBATCH脚本一样,一直用上好多年。

 

更多“Vivado高效设计案例分享博文”请见:http://comm.ChinaAET.com/xilinx/vivado

  1. 厉害了我的哥

  2. ***此内容已被管理员屏蔽***

  3. @木易

    随着技术的发展,FPGA的架构也发生着日新月异的变化,正如作者所说的,ISE已经满足不了新一代FPGA的设计需求了,Vivado的出现就成了必然。 最终结果的不同和源码是没关系的,区别是IDE的算法差异造成的,例如ISE从满足时序收敛为要的角度设计算法,而vivado算法更加先进合理,考虑了更多的因素,这样以来最终结果会更加合理。 当工程非常复杂时,ISE无法综合出结果时,vivado照样是可以的,换句话说,vivado的布通率更高
  4. 转网友原话:

    思想非常好 但是源代码没有给出来 所以很难分析最终的结果为什么不同。

     

  5. 匿名用户匿名用户
    http://blog.chinaaet.com/detail/37146,博主这些问题怎么看?
  6. 匿名用户匿名用户
    这么大个软件,有Bug很正常,有那么一些进步就OK。