打印
[matlab]

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

[复制链接]
7068|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AutoESL|  楼主 | 2011-4-24 12:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
午后苦丁茶| | 2011-4-24 18:52 | 只看该作者
菜鸟一知半解。:$

使用特权

评论回复
板凳
明空| | 2011-4-25 00:38 | 只看该作者
个人感觉差不多,复杂算法应该Synplify更好一些

使用特权

评论回复
地板
AutoESL|  楼主 | 2011-4-25 09:18 | 只看该作者
以前也遇到过这样的情况,一个很复杂的算法,只有Synplify可以综合出来.
但没有做过深入研究,不知道什么情况下Synplify更好

使用特权

评论回复
5
dan_xb| | 2011-4-25 09:27 | 只看该作者
其实应该这样说,对于初学者,差别很大;对于知道结构的人,都差不多。
看过一些综合出来差异比较大的代码,多半是代码风格的问题,这种代码基本上是想当然写出来的,完全没有考虑到芯片内部的实际情况。
对于代码风格比较差的,Synplify适应性要好得多。
如果你的代码,只有Synplify可以综合出来,你自己就要想一想为什么了。我想,这种代码,即使Synplify可以综合出来,效率也不会太高。
我的建议是,如果你写过这样的代码,你先不着急去改代码,你先翻出Xilinx相应器件的内部结构文档看一下,我相信,你很快可以找出原因的。

使用特权

评论回复
评分
参与人数 2威望 +2 收起 理由
TOTO无烦忧 + 1
AutoESL + 1
6
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
7
AutoESL|  楼主 | 2011-4-25 10:01 | 只看该作者
非常感谢楼主的详细讲解,受益匪浅.
看来要想用好FPGA,首先得深入了解FPGA
可能这也正是Synplify能够存在的原因吧

使用特权

评论回复
8
huangxz| | 2011-4-25 14:06 | 只看该作者
个人感觉synplify的综合速度要比xst要快一点,特别是工程比较大时,在学习阶段还是建议使用synplify作为综合工具,一来软件比较小,二来软件也比较稳定,ise在很多时候会出现意想不到的情况,有时候感觉很无奈,要重启pc才能解决。

使用特权

评论回复
9
xiaoyuan_ly| | 2011-4-25 17:12 | 只看该作者
顶了,顶了,加分!!!

使用特权

评论回复
10
AutoESL|  楼主 | 2011-4-25 21:40 | 只看该作者
:)

使用特权

评论回复
11
hjjnet| | 2011-4-27 13:28 | 只看该作者
都是工具么,其实不用太纠结。每个工具都有强弱项,关键是要充分了解他们的脾气

使用特权

评论回复
12
681xuan| | 2011-4-28 12:41 | 只看该作者
学习了

使用特权

评论回复
13
TOTO无烦忧| | 2011-5-13 23:01 | 只看该作者
很同意dan_xb

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

综合器的第一个作用就是语言到网表的转化,第二个作用是对网表的优化。
对网表转化来说,如果能做到心中有电路,所写即所想,那么哪种综合器效果都是一样的(价格不一样)
对网表优化来说,Synplify很积极地做网表的面积和时序优化,即使没有写任何时序约束它也会默认添加一个。生成更优化的网表,就是它的价值所在。XST只是做一些通用的优化,比如将移位寄存器转换成SRL。要将电路优化成跟高效的结构,可能只能靠电脑后面的那个脑了。有兴趣有机会的话可以参加一下这个课程。http://www.xilinx.com/training/f ... -for-lower-cost.htm

使用特权

评论回复
14
奔腾2.0| | 2011-5-13 23:03 | 只看该作者
5楼是高手

使用特权

评论回复
15
21IC之星| | 2011-5-23 17:01 | 只看该作者
顶    5楼

使用特权

评论回复
16
jennyzheng| | 2011-6-17 15:55 | 只看该作者
顶 受益匪浅~

使用特权

评论回复
17
GoldSunMonkey| | 2011-6-17 23:38 | 只看该作者
Synplify他的优势在于优化,其实你说了解FPGA好呢?还是写好代码让工具去优化好呢?
现在看来还是让工具去优化好。其实这也是未来一个方向,包括AUTOESL。包括写软件的兄弟。
如果兄弟们能全部写成计算机指令,而不写C代码,或许效率更高。

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

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

一句话,选择自己喜欢的~让别人喜欢他们喜欢的~

使用特权

评论回复
18
foreverly| | 2011-6-19 18:22 | 只看该作者
学习了。顶。

使用特权

评论回复
19
wahahaabc| | 2011-6-20 08:47 | 只看该作者
学习了。顶。

使用特权

评论回复
20
tikelu| | 2011-6-20 11:12 | 只看该作者
这个帖子 很适合初学者看,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

0

主题

2517

帖子

3

粉丝