[matlab] Xilinx XST与Synplify综合结果差别大吗?

[复制链接]
 楼主| AutoESL 发表于 2011-4-24 12:30 | 显示全部楼层 |阅读模式
本帖最后由 AutoESL 于 2011-10-4 15:32 编辑

Xilinx XST与Synplify综合结果差别大吗?

有了解的吗?
午后苦丁茶 发表于 2011-4-24 18:52 | 显示全部楼层
菜鸟一知半解。:$
明空 发表于 2011-4-25 00:38 | 显示全部楼层
个人感觉差不多,复杂算法应该Synplify更好一些
 楼主| AutoESL 发表于 2011-4-25 09:18 | 显示全部楼层
以前也遇到过这样的情况,一个很复杂的算法,只有Synplify可以综合出来.
但没有做过深入研究,不知道什么情况下Synplify更好
dan_xb 发表于 2011-4-25 09:27 | 显示全部楼层
其实应该这样说,对于初学者,差别很大;对于知道结构的人,都差不多。
看过一些综合出来差异比较大的代码,多半是代码风格的问题,这种代码基本上是想当然写出来的,完全没有考虑到芯片内部的实际情况。
对于代码风格比较差的,Synplify适应性要好得多。
如果你的代码,只有Synplify可以综合出来,你自己就要想一想为什么了。我想,这种代码,即使Synplify可以综合出来,效率也不会太高。
我的建议是,如果你写过这样的代码,你先不着急去改代码,你先翻出Xilinx相应器件的内部结构文档看一下,我相信,你很快可以找出原因的。

评分

参与人数 2威望 +2 收起 理由
TOTO无烦忧 + 1
AutoESL + 1

查看全部评分

dan_xb 发表于 2011-4-25 09:37 | 显示全部楼层
举一个简单的例子,说明资源的问题。
如果你要写一个移位寄存器,一般的做法是用FF搭
如果你是需要一个16位的,就需要16个FF
但是,Xilinx的LUT4,一个器件就可以实现一个16位的SRL,代价是不能有Reset。
所以在工程的最初始阶段,这个就要想好。
如果以Spartan-3来讲的话,16个FF,就需要耗去大约4个Slice的资源,而一个LUT4只需要1/4个Slice。
并且,由于较长的走线,为16个FF组成的移位寄存器性能增加了不确定因素。

评分

参与人数 3威望 +3 收起 理由
21IC之星 + 1
xiaoyuan_ly + 1
AutoESL + 1

查看全部评分

 楼主| AutoESL 发表于 2011-4-25 10:01 | 显示全部楼层
非常感谢楼主的详细讲解,受益匪浅.
看来要想用好FPGA,首先得深入了解FPGA
可能这也正是Synplify能够存在的原因吧
huangxz 发表于 2011-4-25 14:06 | 显示全部楼层
个人感觉synplify的综合速度要比xst要快一点,特别是工程比较大时,在学习阶段还是建议使用synplify作为综合工具,一来软件比较小,二来软件也比较稳定,ise在很多时候会出现意想不到的情况,有时候感觉很无奈,要重启pc才能解决。
xiaoyuan_ly 发表于 2011-4-25 17:12 | 显示全部楼层
顶了,顶了,加分!!!
 楼主| AutoESL 发表于 2011-4-25 21:40 | 显示全部楼层
hjjnet 发表于 2011-4-27 13:28 | 显示全部楼层
都是工具么,其实不用太纠结。每个工具都有强弱项,关键是要充分了解他们的脾气
681xuan 发表于 2011-4-28 12:41 | 显示全部楼层
学习了
TOTO无烦忧 发表于 2011-5-13 23:01 | 显示全部楼层
很同意dan_xb

Synplify胜在对各种代码的适应性。不过它对代码的过度优化有时候导致后期调试无所适从,因为你看不出一个电路是从什么代码转换过来的。

综合器的第一个作用就是语言到网表的转化,第二个作用是对网表的优化。
对网表转化来说,如果能做到心中有电路,所写即所想,那么哪种综合器效果都是一样的(价格不一样)
对网表优化来说,Synplify很积极地做网表的面积和时序优化,即使没有写任何时序约束它也会默认添加一个。生成更优化的网表,就是它的价值所在。XST只是做一些通用的优化,比如将移位寄存器转换成SRL。要将电路优化成跟高效的结构,可能只能靠电脑后面的那个脑了。有兴趣有机会的话可以参加一下这个课程。http://www.xilinx.com/training/f ... -for-lower-cost.htm
奔腾2.0 发表于 2011-5-13 23:03 | 显示全部楼层
5楼是高手
21IC之星 发表于 2011-5-23 17:01 | 显示全部楼层
顶    5楼
jennyzheng 发表于 2011-6-17 15:55 | 显示全部楼层
顶 受益匪浅~
GoldSunMonkey 发表于 2011-6-17 23:38 | 显示全部楼层
Synplify他的优势在于优化,其实你说了解FPGA好呢?还是写好代码让工具去优化好呢?
现在看来还是让工具去优化好。其实这也是未来一个方向,包括AUTOESL。包括写软件的兄弟。
如果兄弟们能全部写成计算机指令,而不写C代码,或许效率更高。

但是如果写代码是在目前的架构下,写的更贴近底层,可能到下一代产品根本无法使用。

这也是高级语言存在的原因。
但是FPGA还是要求开发工程师尽量写的更靠底层一点。
另外,很多时候Synplify能综合过,但是结果不对,但是XST却是对,特别是用到xilinx的IP核。

一句话,选择自己喜欢的~让别人喜欢他们喜欢的~
foreverly 发表于 2011-6-19 18:22 | 显示全部楼层
学习了。顶。
wahahaabc 发表于 2011-6-20 08:47 | 显示全部楼层
学习了。顶。
tikelu 发表于 2011-6-20 11:12 | 显示全部楼层
这个帖子 很适合初学者看,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:天使宝贝 博客IT人生 From C/C++/SystemC to Xilinx FPGA

0

主题

2517

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部