原创 FPGA三国志-第一篇/共四篇/不可不看的故事 !【转载】

2009-7-2 11:20 1294 3 3 分类: MCU/ 嵌入式
FPGA三国志-第一篇/共四篇/不可不看的故事 !在这个论坛里,看到多数朋友在讨论技术问题。但是关乎产品结构的帖子相对来说很少。实际上,现在很多产品,包括FPGA产品在内,同质化的问题也同样存在。只是一个此消彼长的过程。但是它们产品结构的不同差异,对我们的设计还是有很多大影响。我很想就这个问题来个开篇。希望大家多拍砖/ H( J: I/ S) S. R
www.eda365.com( A: ]1 D" h2 F
我们为什么应该对FPGA感兴趣?7 E4 n" v6 s! k5 Y

$ a4 I( g& E3 Q4 D首先FPGA是数字电路,尽管目前有加入所谓的ADC的功能的FPGA,但是,从主流上说, FPGA就是数字电路。 当然早期不同的公司都赋予了很多花里胡哨的名字。 PLD,EPLD,CPLD,SPLD,其实在原理上都大同小异。今天的FPGA主要有下列市场, 正是在这些市场的竞争和争夺中,由群雄争霸逐渐形成今天的三国鼎立的局面。EDA365论坛网' Z; o# f, @$ \* ~9 G- {

DSP市场www.eda365.com$ b9 b4 _' J0 \5 t; X: }% R
   目前主要是高端的DSP应用,今天内嵌DSP元素的FPGA,像Xilinx的Spartan3ADSP, CycloneIII,CycloneII,Stratix和Vertex等, 都可以比最快的DSP再快上个500到几千倍
% d; k2 r4 c7 E# W3 A+ C3 Z8 i1 X嵌入式CPU1 t; `" M5 D1 [8 P
   这里说的是微控制器类型的处理器, 随着FPGA单位价格的不断下降, 例如, CycloneIII中的3C5这个最小身材的家伙也可以集成一个可选定的I/O的NiosII软核处理器。 因此做嵌入式控制应用的市场也成为FPGA的市场,在我写这段的时候, Altera公司也会近期举办一些SOPC的研讨会, 也许,我写完这个的时候, 有更多的人已经加入到了这个行列里来研究嵌入式在FPGA上的实现。 EDA365论坛* d5 a/ P4 Z- h1 l: V3 b' k3 E
EDA365论坛网% k0 }0 a' N7 o3 n8 T- j# D
高速的通信接口
- O4 t- P5 T" |+ `# oEDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛最早的FPGA应用主要是协议和物理层的通信, 例如:ArriaGX支持的接口有GbitEthernet,PCIE,RapidIO,所谓的高端FPGA就是带有多通道的高速Serdes的产品, 这样意味着很多设备可以集成很好的通信以及网络功能。

 


CPLD的时代我在12年前,偶然接触PLD,没有想到自己居然就在这个行当里安身下来。可是这个行业也的确是个飞速发展的行业,十多年过去后,从当初的接近十家主要供应商,到今天已经激烈搏杀后,只有差不多如论坛题目一样的,成为了今天三足鼎立的局面。想来想去,决定以这个名字作为论坛的主题。同时也和大家分享我多年来的一些经历和感受。
' H7 H7 I6 R  m$ ~' m3 ?9 n# ZEDA365论坛网EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛  q7 S7 @$ [" i$ R3 E& q
全局布线,ISP,PLD,宏单元机构,成为PLD市场必备的武器。
& K$ h$ b+ m1 g: M
( ^1 {$ {& `# x4 w3 qCPLD时代,进入我国最早的供应商是Lattice,那个时候,也不是每个行业都用的了这种产品。首先,软件是需要收费的。这个和今天你可以轻松下载到免费的版本有很大的不同。另外,不同的授权,也决定你能使用不同的产品规模和设计语言。

90年代中,是电信行业大发展的年代。同时也是专用应用领域大发展的时代。当时pld是解决一个逻辑粘连的功能。同时由于Lattice很早进入市场, 推广很成功。全局布线池的结构,对于布局布线要求不高。一度时间,很多大的通信企业,研究所,都很快成为Lattice的用户。但是,有句话说得好。“长江后浪推前浪,前浪死在沙滩上。”太早的成功也孕育着。安则危!
94年Altera已经有了一些用户。但是相对来说。还是很有局限性。另外过去的信息远远不可以与今天同日而语.   但是用过altera的工程师,已经为他的界面和功能留下了深刻的印象。96年是ALTERA在中国发力追赶的开始。当然,乱世出英雄。当时的代理商是一家香港的公司。他们很快找出这种集成电路最好的销售和支持模式。并且这种从大洋那边继承过来的方式,经过适当的改良,的确收到很好的效果。代理商有专门负责的现场应用工程师。 这种方式极大方便了设计者与供应商之间的信息交流。在推广初期是否有技术支持,变得非常重要。这个时期在整个中国市场上涌现出很多非常优秀的现场技术工程师。今天已经有很多人成为这个行业的领军人物。EDA365论坛! H3 _/ {: N2 f+ H) [! [; _
Lattice首开ISP技术先河,也就是今天常说的在线可编程,给所有设计者带来很大的方便。芯片在电路板上,可以直接编程调试。不用每次拔插芯片,再通过紫外线来擦写要方便得多。这个时候,Lattice还是明显占有上风的。毕竟先入为主嘛。当时主要的型号集中在Lattice ispLSI1032, 1016, Altera的EPM7128E,不过Altera已经做好了准备,因为,Altera毕竟是pld的发明者。而且也是最早采用Windows平台的开发工具。在美国市场上占有先机。他不会轻易放弃这样一个市场
当时的应用在电信领域主要是将之前的74系列的一些单元进行集成。同时加入一些控制功能。不过这个时期的产品结构都是采用mc单元结构。每个mc实际上就是相当于32到36个与非门,以Altera EPM3032为例就是认为有32*30到256*30, 大致就是7000门左右,因此产品命名为MAX7000,但是当时的设计很多还在大量应用异步设计。因此,电路的结构如果能导致利用率的上升,将是更加有竞争力的表现。MC的结构就是采用 先组合,后时序多个时钟输入结构。Lattice是用4个宏单元一组。altera 采用8个一组。而且,altera在利用率上,稍微占有上风。同时Altera当时的maxplusII的良好界面。在97,98年的两年时间里,已经奠定在中国的基础。更深层次,Altera已经看到未来市场的需求,前面说到,成功太早有时候也不是好事。在MAX7000的铺垫下,Altera已经有了进攻Xilinx的武器,可Altera一致宣称那不是FPGA,换以一个更加中性的名字---CPLD(复杂可编程逻辑器件)。 那什么是Altera的武器呢。FLEX8000!他的出现是Altera奠定今天可以和xilinx平分秋色的基础。
PCB论坛|PCB layout论坛|SI仿真技术论坛, ?. p; w5 d) C8 M1 N
EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛9 Q4 N7 {7 c" ?8 N
在1996,97年, 成都,西安多家做专业领域的公司和研究单位,也使用了一些Actel,Actel的产品和那个时候的Quicklogic来说,都是属于Antifuse的技术。 使用他的最大好处在当时就是有防止辐射,就是说在航空产品中可以用。 但是需要你认真的仿真。 如果你烧入进去设计, 就只能换下一片了。 而且为了烧断里面的熔丝, 第三方的编程器支持的也不多。 但是他们有些军用温度的产品。 还是在这个领域有不错的口碑。
论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛0 b/ j8 e, J* l
Actel当时的策略结构是, 基本上和他们现在的论调也非常一致, 就是精细颗粒, 所有的DFF,还是可以靠独立的门来搭建。 这个在他早先的A1020等产品系列上可以看到。 而且芯片上有一部分是组合逻辑区, 有一部分是时序逻辑区。 另外他们的软件也是多家EDA工具的组合。 特别是库的一致性不是特别通用。 EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛7 U5 O8 m9 r( x0 R$ z/ n4 G& M8 u5 R

Quicklogic的产品是FPGA公司中最早嵌入Synplify的商家,而且他们的LE结构是基于Mux的,底层的layout也可以清晰看到路由,资源消耗。 输入法和库的建立很特别。 但是也存在上面的问题。产品好像是QLxxx的, 我还去应聘过一次这家公司, 因为他们最早采用Synplify。而且,当时我已经感觉Synplify和 雷昂纳多(拼写忘记了),以及exzampler??这个拼写也有问题。 我在做FAE的时候, 总是用这3个工具都综合一次, 看他们哪个强。 后来证明是对的。Sy是最平均的, 而且简单的优点傻瓜。 遗憾他也在今年被Synopsys收购了。 现在Quicklogic也专注一些细分市场。

 


为什么要这样的结构-先组合,后时序多个时钟输入随着科技的进步,有很多人已经忘记了很多细节,当然,我们也要遵循一个原则。难事做易,大事做细!就像朱熹说的--“问渠哪得清如许,为有源头活水来“,如果你不知道原理,碰到重要的问题,或者是设计的时候,即使成功,也是不知不觉成功,同样呢,也是不知不觉失败。EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛% a/ A/ |: G% a" w

,当你设计一个扫描电路的时候,例如,你可以采用一个时钟,输入一个计数器,然后计数器的输出,再驱动一个译码器,这样你的电路就出来了。当然事情完成了一半。功能实现了,但是,有没有更好的办法。后者换句话说。有没有适合PLD的方法。实际上用另外一个角度看,这个设计是典型的, 先时序模块,才是组合电路。这个实际上,不是很和PLD本身的结构相符。还有一个问题时,随着电路速度的提高,每个译码输出之间的抖动也成为问题。就是输出的不一样的。 从资源的角度来说,一个计数器,要3各单元。一个译码器,由于有8个输出,还是需要8各单元。但是如果用一个移位寄存器的方式,可以只需要8个单元。或者用状态机的方式实现,也是消耗同样的资源。可是,输出都是由于同一个时钟锁定,每个输出的延迟也比较一致。另外,当时对总线数据的译码是经常有的事情,因此,每个单元的扇入数量都是很高的。都有30个以上。因此,你设计的时候,要有两个思想: 用同步设计模式,用先组合后时序的模式。后来的Xilinx的95系列更是将扇入系数扩大到90个。 也是这个原因。当时PLD厂商比较的也是这些指标。
当然我现在之所以又开始补充些内容,好像是一些网友提醒我说没有说Actel等产品, 现在不妨也加入一些。 但是为了这个话题, 我不得不再说些比这个看起来更久远的事情。 www.eda365.com, a5 h1 `: X/ \0 P5 [7 \/ c( M
www.eda365.com" C* V( N, F4 h, W3 |
反熔丝的技术在PLD一出现的时候就有了, 最早的有所谓熔丝技术,实际上他们都只是初始状态的定义不同。 1970年的时候, 就有Harris公司, 今天叫intersil的公司, 就已经有这样的技术, 不好意思, 那个时候, 我还没有出生呢,但这丝毫不妨碍我们谈论他。 后来Intel公司也有EPROM的技术, 从PAL和GAL的发明也都和这些能拉上些关系。 这些技术之所以诞生就是要替换这个熔丝技术。 毋庸置疑的是,今天的以SRAM为基本的配置技术的FPGA成为了市场的领导。 这个是市场选择。 
EPROM技术时代的PLD,例如Altera的MAX5000,但是这个东西的封装太贵, 这和以前你用的2716有些类似, 都是用个石英玻璃封装的, 擦除也不方便, 另外, 随着规模的递增, 有时候路由线可能影响透明照度, 所以规模大的器件,擦除的时间还长。 EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛# [. G& x7 }2 p9 Q

SRAM是有很多优点, 但是他不保密, 不过今天表示半导体工艺的先进, 总是和SRAM的制造会扯上关系,而基于其他工艺的Flash的FPGA,在工艺制造上远不如SRAM的更新速度, 基本上可以差上一到两个工艺节点。 或许还有人认为, Flash的功耗小, 不要单独看这些, 这主要表现的是他的静态功耗上, 另外,为这些Flash的FPGA的编程, 也需要在芯片上放上很多编程Flash的单元, 他不能在成本上带来什么好处。 2 N; I: j" w0 _" X- j

如果你在google上去搜索一些关于PLD的专利, 还有很多你今天都已经不存在的公司的名字。

 


Xilinx , FPGA的发明者Xilinx实际上成立的日期,比altera还晚了一年。但是他走的道路,从开始就注定了有今天的成就。在1996-1998,pld的高端市场,也就是FPGA市场,都是Xilinx把持,主要是xc3000/4000 ,当然Xilinx开创了一个新的结构,不过这种结构还是能够找到一些共同点,也是先组合,后时序。不过很重要的闪亮点是:
细颗粒查找表结构,丰富的寄存器资源,以及分段式路由布线结构,电路上电加载。 当然如果这个也算是的话,那就是,他的内部甚至直接集成了三态门。这个特点是那个时代Xilinx拥趸攻击Altera,Lattice的重要工具。甚至有人说,没有这个不能实现某些电路设计的障碍。 当然了,Altera, Lattice的pld也是具有三态门,不过是在输入输出管脚上。的确是不如Xilinx的来的强大和直接。 有的人问了,这种结构有何好处。EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛( D+ x0 m* f! _1 i  U$ N; U# S
1--电路的规模得到空前的提高。
2--适合做加加减减的,counter,comparter密集的设计。
1 d0 Q+ H9 Z9 }' a7 t3 ?+ ^3--无限制的更新电路。EDA365论坛网7 \! C2 _0 j" M2 Q1 @. ~% I
www.eda365.com+ J  I. R# C1 \5 w2 Z$ X! e" l
在那个时代,衡量一个PLD很重要的指标,就是比谁的规模更大。从这个角度来看。Xilinx无疑走到了最前面。当然,也有人说, 这样的设计不可靠。这样的设计指标难以预测。还有地说这样的设计无法保密。但是市场的成功,应用需求的推动,证明这些都是杂音。
}) O+ R8 i
xc3000.JPG (53.89 KB)
我们可以从当时xc3000的选型指南上看到。最大规模的产品,也就是今天xilinx最小的xc3s50a规模相当的东西。可是这个和当时PLD流行的规模,实在是一个飞跃。

 


Xilinx FPGA的架构。Xilinx的成功,激励了Altera的新产品的推出。同时也有了革命性的突破。世界就是这么奇怪。中国古语。塞翁失马,焉知非福。实际上,如下所言,这款产品因该8282,具有282个逻辑单元的。但是在中国基本上只是在1995年有个别公司使用。
1992

FLEX? 8000 FPGA

Altera的第一款现场可编程门阵列(FPGA) EDA365论坛网) k7 y7 Z$ @; U$ H1 G: @
我本人经历我们开始在1997年开始大规模推广Flex10K, 同年5月,位于西安的邮电部4所,是第一个采用EPF10K50的用户,当时电子杂志的广告,也有表明,Altera最先推出最大的FPGA.
; L$ \) \! V* ]- |; C  
1996

FLEX 10K? FPGA

带有集成锁相环(PLL)的FPGA EDA365论坛7 o6 F7 |8 g6 k/ l4 ^  M) f% H
1995

FLEX 10K FPGA

带有嵌入式模块RAM的FPGA
/ V* c; p- r6 L7 u5

实际上,这个时间就是Lattice噩梦的开始,由于设计规模的迅速攀升,规模已经是决定一个产品的关键因素。但是Lattice一直没有代表作。市场份额已经开始逐步被Xilinx,Altera蚕食。Altera的结构到底是什么革新呢?

 


Altera FPGA粗颗粒结构,嵌入式存储器,长联线结构.Flex10K,他的推出,已经表明,altera的思维已经非常清晰, 大规模的fpga将会是将来的王道!而且,高速的嵌入式块RAM是一个开创新的思维。当时,Xilinx凭借分布式RAM以及内置三态的结构,的确大有横扫千军的架势。但是Flex10K的出现,有效提升了Altera的FPGA产品的竞争力。在RAM需求应用不断上升的市场中。Altera迎来了市场的春天。
论坛  N: u' }7 ^8 e1 g$ \
1--采用多选一,或者一对多的MUX结构,Altera推出应用指南。直到用户有效利用这种方式,实现了三态门的功能。www.eda365.com8 ]; Q) \( l" u
2--ESB的memory结构,是构建FIFO, DPRAM,大型查找表,都非常方便,
布线资源相对来说,以长联线资源为主。编译速度快。www.eda365.com" b+ r6 P( F3 _6 l! ~

Xilinx的分布式RAM尽管很灵活,但是随着RAM容量的增加,访问的速度也是递减。同时也要消耗大量的逻辑资源。这个时候,应该说Xilinx和Altera的产品已经是势均力敌。因为中国是新兴的市场。这一点表现得很明显.EDA365论坛% r. c2 f6 u/ c& |
EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛, L+ |; Y  I" l+ o" ~
规模制胜的产物
EDA365论坛网; P9 L$ Q" z" G: _. S2 I2 H
7 Q+ k5 R, v8 r( Z! A% Q
世界是运动的,粗颗粒,也是好结构!这里又回到了我们的主题,产品的内在结构。先说细颗粒结构。当时,Xilinx的3000是以CLB为基本机构。
3 n# O, D' S  }, g$ j& ]www.eda365.com xc3000clb.JPG d" e5 o; H# X

网8 u4 R. _% e1 T2 K/ m
EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛9 Z3 M* Z* ^9 n+ w: `4 }
实际上,这个输入的个数是很有讲究的。当时,也有一种激烈的争论,就是5输入的好,还是4输入的好。在实际应用中,应该说,最小的逻辑单元是这样的规模是合理的。但是要注意一点。Xilinx和Lattice后面推出的fpga一样,两个寄存器是具有同一个时钟输入的。
论坛8 R6 D- i5 ~; V# r
flex10kstructure.JPG (57.46 KB)EDA365论坛网站|PCB论坛|PCB layout论坛|SI仿真技术论坛' a" U0 N3 x9 i4 J8 R# l  W' M
2008-9-22 22:51- l- i3 L" f  [2 M

论坛6 j+ e2 B. O! ^* w
! j6 k6 k" j" f3 O" O
粗颗粒结构,Altera还是依托自己以前在PLD的经验的积累,他的fpga有很多他的pld产品的血统。世界是基于以权制利的。因为这个时候如果已经有了Wintel的名字一样。 数字电路以及CPU的发展,都和8以及8的倍数有关系。因此。这种大颗粒的结构确保:
1--8个逻辑单元LE为一组LAB。
& K' A! Q( l# a2--每个LAB内部有独立的布线资源。确保可以实现8bit adder, shift reg, 8bit counter.
+ p. N2 i/ R! f% A$ |& U3--ESB,实现了存储器的资源和速度同时提高的可能。
4--布局布线算法比细颗粒机构的算法简单。
采用了非对称的结构,实现速度需求和控制需求的折衷。

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /7 下一条