在2001年, Altera推出了他们最伟大的产品, Stratix。 当时FPGA的竞争规则又发生了改变
1---Altera用TRAM的形式和Xilinx的分布式RAM和blockRAM竞争 2---Altera的PLL性能超越对手 3---布通率, 利用率,表现突出。
但是上面这三点, 都不是决定性的。 这个时候, 数据通信对背板走线和背板总线要求已经很高了。 实际上FPGA也摇身变为系统级芯片了。
你不仅要有大的逻辑规模, 合理的memory尺寸, 相对丰富的时钟资源, 还有就是要有高速的Serdes,缺少一项,你都会在系统级的应用中只能是亚军!
刚才说了系统级的应用,已经成了FPGA最残酷的竞争市场。 那么PLD呢, 怎么样了, 实际上自然总是物竞天择!PLD已经变为这样的几种应用了
1--输入输出的扩展! 2--简单总线或者接口的协议转换 3--对系统级的模块进行配置,或者控制。 4--上电初期的一些管理
就像一个国家的海军一样, PLD已经成为一些简单的驱逐舰, 驰骋大洋的, 可以跨海作战的,绝对不是这样的产品可以涵盖的。 所以, 你今天喝可乐的时候, 不会有太多的选择。 偶尔的一些牌子如同过眼烟云, 很快就弹出你的视线了。
是的, 十年前我的很多朋友, 有在Quicklogic,有在Cypress,现在还有一些在不断出产品的公司, 当然, 只能是剑走偏锋。 做些细分市场还是可以继续的。但是三国鼎立的形式已经是不可撼动的事实了。
你到过我们的首都北京吗?到过我们的特区深圳吗?这样打比喻是因为我在深圳和北京都旅游或者工作过。实际上我也只是想借用这两个城市的布局来做个比喻。 北京是比较对称的城市, 有东直门, 西直门。 有东单, 西单等等。 总之, 他的布局就像Xilinx,无数个胡同就是像Xilinx围绕在CLB的路由线。 这些资源在Xilinx的数据手册中有:
但是这些胡同间的联线并不是十分充足。 特别是到了规模很大的时候。Altera的呢?在深圳的人, 如果你不认路, 很简单, 只要你走到“深南大道,滨河大道,北环大道“上的任意一条, 你就可以再从这些大道到你要去的地方。 但是前提是 ,这3条大道的宽度要够。 提示一点,这三条大道也是东西走向比较平行的。 而且整个深圳也是一个东西走向的城市, 地下再有一条地铁,在同样资源的情况下, 布通率, 和平均车速是非常好的。 而北京的地铁,是环形的。资源上不如深圳的利用率高, 这里无意于评价城市规划和道路设计。 只是比喻。
Altera的FPGA就是如同深圳的道路, 他可以让你从列上很自如的转到宽阔的行上, 然后再到达你的目的地。 所以,可以告诉你一个经验。
1---Altera FPGA, 布通率基本在95%左右, 没有太大问题, Stratix最大的产品,有人有99%的布通率 2---Lattice的FPGA,规模超过20KLEs,布通效率。。。。有愿意透漏的吗? 3---Xilinx,规模越大,有所恶化。
另外, 这个地方也有颗粒度大带来的好处。 所以, 有些原来看似不精细的地方, 却在规则改变后, 就变得反而是犀利无比。
经常有这样的情况, 大家选择FPGA的时候, 就开始翻看每种FPGA的选型手册, 然后对资源表。 有的甚至直接说:我这个是10万门的。 你的那个是6万门的, 实际上,这些都不是很正确的评估。 如同有人说, 我家的房子4室两厅, 你家的房子3室1厅双卫生间。 到底哪个更大呢? 到底哪个更节能呢。 厨房热水器之间离得很远又是问题。
所以说, 学会正确的评价资源是很重要的。 这个时候还要参照他的结构!!板式的, 还是砖混的!!!
可能你还听说过一个使用面积的问题。 实际上, 有的房子看起来大,走道,不规则的布局,导致很多的地方都不能用!下面看个例子:
左边的Hops代表跨一步的意思, 就是路由转换一次的意思。 这个表什么意思呢。 就是说在S3的路由过程中, 每个路由在第一次,就可以覆盖850LEs中的一个,V5是132. 如果你的逻辑,经过4跨,同样的路径覆盖的区域A的是X的2倍。 代表什么呢
1---编译速度更快, 因为概率提高, 路由成功率提高 2---布通率更高 3---速度更快!为什么, 90nm以后, LE内部延迟已经不如路由延迟的时间长了。 所以经过的路由多,就会严重降低系统速度。
当然还有一些好事者, 例如 (http://www.opencores.org) 有很多公开的opencore,大家可以将它们同时尝试放在A,X,L,看谁放的多, 放的快, 系统延迟更小。 这方便数据就不多说了, 可能都成为一门学科都不一定, 因为不同的比对都有benchmark的不同标准。 最终我们应该很清楚的看到。
结构真的是很重要,我们能干, 也要看是否站在巨人。。。
不过呢, 很多时候, 我们的朋友基本上都说: 结构和我无关, 我要学好VHDL, 我要。。。。codingstyle。 这个设计属于系统工程!
FPGA的真正命门和Know How实际上,能做FPGA的公司太多了, 但是能将我们的设计通过算法成功放到这个芯片上,而且算出正确的时间和你的仿真要求的。 就不多了, 说的难听点。 有些领域甚至是没有亚军的竞争!选择小规模PLD, 那些, 不是太重要的问题。 本身就不够养活一票人的产品.
目前,很多人都基本上对于新的中档设计都会集中在这连个系列的竞争中, 换言之, 在中国目前以成本为导向的第一要求下, 实际上中小公司的产品选用80%是集中在这里。
经常有人说,为什么你们的LEs数目相同, 价格很不同。 做些解释, 一家之言。
1---在今天,尽管是可以编程的器件,还是有不灵活的地方。 例如, 你的应用决定你对什么资源敏感 2--不同市场也有不同的关注。 没有哪个东西绝对适合, 只能是系列之间互相交叉来完成。
比较产品有很多benchmark。 这里列举一些。 不全的地方, 可以大家补充。
1--工艺
Cyclone III,65nm Spartan3, 90nm
眼前看, 90nm是主流工艺, 但是未来降价空间在2009年中达到轨点, 另外,65nm的功耗不用说,35%的优势轻轻松松。
2--设计学
CycloneIII ---LP工艺, 有很多人不理解这个,同样的设计采用LP和不采用就很大不同。 Spartan3--没有采用
3--规模
Spartan3,3e,3a,3an, 覆盖区域不同, 从1K到40KLE左右 CycloneIII: 典型长中长焦距镜头, 5K到120K,
40K 以上, 基本上Spartan3没有产品,可以用V5, V5定义为Highend, S3定义为Lowercost 无线,DSLAM,医疗, 平均规模在25KLE到80KLEs为最多, CycloneIII解决了有无问题
4--Memory
这个是CycloneIII的幸运之处, 当时可能设计上没有这么大吧。 9K块, 总容量绝对平均高出S为30%, 块数也同样。 Sp3dsp例外, 但是他只有两个孩子。定焦镜头。要符合你的品味。
memory多影响到: CPU速度提到, DSP应用,DUC,DDC,FIR等,级数上可以做更多。 速度高, 还可以提高复用。
5--乘法器, 一个18x18的乘法器,相当于350-450个LEs,当然流水的话要另外算。
6--PLL: Altera是模拟的, X是数字的。 恢复性和收敛速度那毫无疑问,地球人都知道模拟的好。 A的时钟树更是多
7--布局: 从左到有, 基本符合多时钟域交叉,
如: LVDS入, 经过第一级FIFO,进行时钟域交叉, 或者数据交叉, 第一次处理, 然后经过中间逻辑加工,参数重加载等,然后进入乘法器, 可以级联, 然后有通过通用逻辑池进行加工, 再次通过FIFO或者RAM来对接下一级。
其他行可以独立构成NiosII等, 布局收敛性一流。 我尽量找个照片来显示。 |