FPGA面世前的江湖

时间:2021-12-31 10:07 公众号:半导体行业观察 阅读:24 次

1981年,我(代表本文作者)去了科罗拉多州博尔德市开启了在Cadnetix设计工作站的“职业生涯”。其实,早些年,那时顶级的计算机辅助工程(CAE)供应商,比如:Daisy Systems、Mentor Graphics和Valid Logic(我把他们称为DMV)和Cadnetix一样,都成立于1981年,每一家都开发了专有的CAE软件套件。从1982年到1985年,我参与设计的五个专有Cadnetix工作站都是基于Motorola 68000微处理器系列(68000、68010和68020),来运行专有的、精简版Unix(我私下里把它称为“Eunuch”,这是一个内部笑话)。


Daisy的CAE软件主要用于逻辑设计,可以在Unix的Daisy专有版本“Daisy-Dnix”,以及“Daisy Logician”专有工作站上运行,也可以在后来的Mega Logician上运行。Mentor的CAE软件主要用于IC布局和PCB设计, 可以在早期基于Apollo Aegis的 Apollo DN100工作站上运行,也可以在后来的Apollo/Domain操作系统上运行。Valid Logic Systems则是在ScaldSystem专有工作站上开发了Unix操作系统专有版本的原理图捕获软件。(Valid最早被称为SCALD公司,因为他是由SCALD(“结构化计算机辅助逻辑设计”)的创始人建立,SCALD是劳伦斯利弗莫尔国家实验室为支持S-1超级计算机设计而开发的一套工具。)Valid其他用于逻辑模拟、静态时序分析和封装的工具在DEC公司的VAX上运行。


其实,到1981年左右成立了大批相关的企业。Sun Microsystems成立于1982年,而它注定要成为重达800磅的“大猩猩”工作站。所有这些设计工作站,再加上DEC的VAX和它竞争对手设计的大量小型机,为早期许多可编程逻辑创造了完美的市场。你需要用快速的方法来开发常见的逻辑(地址解码器、状态机等),以及Unix系统所需的奇特内存管理硬件。最终,微处理器供应商在他们的产品中加入了这种内存管理硬件。但在20世纪80年代初,这一步需要你自己动手加入。


在这期间,设计逻辑的两种主要方法分别是使用TTL芯片,或者如果有足够的容量也可以采用定制芯片(定制芯片也就是如今所说的ASIC,但那个时候还没有发明这个词)。大量TTL芯片占用了电路板大量的空间,而且功耗很高。但定制芯片设计难度又极大,在NRE方面费用也非常昂贵,并且需要花费设计周期中几个月的时间。


为了工程师能够快速进行逻辑设计、构建、测试和修改,对现场可编程逻辑器件的需求不断增长。半导体供应商也开始意识到了这是一个市场机遇。首先是现场可编程逻辑阵列(FPLA),然后是PAL、GAL和CPLD。1985年,FPGA终于出现在可编程逻辑食物链的顶端。


Tracy Kidder在1981年出版的畅销书《新机器的灵魂》生动形象得描述了20世纪70年代末和80年代初的设计工程师是如何使用可编程逻辑。1982年,这本书获得了美国国家图书奖中的非小说类图书奖和普利策奖中的一般非小说类奖,并成为了MMI(单片存储器)最好的销售工具之一。


Kidder的书描述了Dec VAX竞争对手,由Data General公司于20世纪80年代推出的Eclipse MV/8000小型计算机,是如何开发的, 其逻辑设计很大程度上基于MMI的PAL(可编程阵列逻辑),而这个器件也在书中扮演了重要角色。老实说,我不知道一本关于PAL 和系统工程的书怎么会成为全国畅销书,如果让我来写的话,我也可以写出一本获奖的畅销书——但谈论PALs太早了,这个故事或许要从PROMs开始,也许还要更早一点。


几乎从集成电路发展之初,现场可编程性就是集成电路设计的一个重要方面。我知道的第一个可编程IC是Harris 的HM-01xx商用二极管矩阵,这些14引脚DIP器件集成了40或48个硅二极管阵列,所有二极管都通过铝互连和熔断丝连接。需要750mA才能烧断其中一根熔断丝。下图是其中一个二极管阵列的示意图。

Harris在20世纪60年代中期开始销售这些二极管阵列。以下是Napoleone Cavlan在计算机历史博物馆口述的人们对这些阵列的评论,其中包括与在第一个FPLA Signetics 82S100开发期间都在Signetics工作的Cavlan和Ronald Cline的讨论:


“我在1967年使用另一个元素取得了一定的成功。我相信这些二极管矩阵与Harris制造的可熔镍基链相结合,每个封装大约有50个二极管,按行和列排列。我用它们为ROM设计了一个磁芯存储器模拟器,作为“海神”制导导弹上存储器的备份。我还设计了一个编程器来对这些芯片进行编程。”

在本系列文章中,我将讨论Cavlan和Cline口述的关于Signetics 82S100 FPLA开发的历史。Cavlan关于Harris二极管阵列的阐述表明,集成易熔链是创建早期可编程逻辑芯片所需的关键芯片元件,早在20世纪60年代就已存在。


在Cavlan口述历史中了解到这些Harris二极管阵列后,我查阅了相应的数据表。当我第一次在数据手册中看到这些二极管阵列时,我想知道它们可能用在什么应用上。突然间,我感到一种联系突然出现了,这种联系把我带到了我十年前写的一个故事中,也就是Stanley Frankel的故事,他是早期的计算机先驱,当我开始研究他时,几乎迷失在时间的迷雾中。我花了三年时间才挖掘出足够多的关于弗兰克尔的信息来讲述他的故事。


第二次世界大战期间,Frankel在新墨西哥州洛斯阿拉莫斯为Robert Oppenheimer的曼哈顿计划工作时,爱上了机器计算,并成为了使用机器计算模拟物理过程的专家。他曾是Oppenheimer的研究生,Oppenheimer把他带到洛斯阿拉莫斯帮助开发原子弹。


起初,他在Marchant和Friedan电子计算器上运行原子弹模拟时发明了一种方法,就是将大型物理计算的部分分配给“计算机”,Frankel并不知道当时这些计算器是由女性操作的。那时他正在开发使用计算机算法解决大问题的原型,后来,Frankel将这些算法转移到Los Alamos购买的新IBM制表读卡器上,以此来帮助进行计算。


最终,Frankel与世界上第一台全电子可编程数字计算机ENIAC建立了联系。就在战争即将结束时,Frankel在曼哈顿计划中的最后一项任务是对氘-氚聚变反应进行简化的一维模拟,以验证爱德华·特勒(Edward Teller)关于氢弹爆炸内部反应序列的假设理论。Frankel的模拟程序是在ENIAC上运行的第一个真实的程序,而在此之前,程序只是计算机开发人员创建的测试套件,用来找出机器中的错误。


Frankel的热核模拟项目需要一百万张穿孔的Hollerith卡片,这些卡片只包含数据。通过火车,将这些卡片从新墨西哥州运到ENIAC所在的宾夕法尼亚州摩尔学校。ENIAC不是存储程序的计算机,你需要对它进行物理编程,有点像FPGA,使用电线来互连各种功能单元,以创建所需的操作序列。虽然这个特殊的ENIAC计算结果至今仍然是保密的,但我们知道,在Frankel带着他的结果回来后,Los Alamos继续开发Teller的氢弹。


到1950年,弗兰克尔——这位为美国国防部成功开发出第一个用于制造核武器和热核武器的模拟算法的人——由于乔·麦卡锡(Joe McCarthy)、HUAC和红色恐怖,失去了他的安全许可。为什么?Frankel犯了什么罪或背信弃义?其实是他的父亲在20世纪30年代曾是一名共产主义者,这使得他失去了进一步从事秘密国防项目的资格。


由于需要从事非机密工作,Frankel开始与同事埃尔德雷德·纳尔逊(Eldred Nelson)一起从事咨询工作,后来加入了加州理工学院(Caltech)工程部在加州帕萨迪纳(Pasadena)新成立的数字计算小组。这是当时他能继续用电脑工作的唯一方法,因为那时所有的计算机基本上都是大型机。


在加州理工学院时,他设法用很少的有源元件设计了一台计算机,他成功得设计出一台只用113根真空管和一个磁鼓来存储的计算机,这台计算机用1450个锗二极管实现了包括指令解码器在内的大部分数字逻辑。Frankel在他的论文中描述了这个设计:“逻辑设计是通过一个逻辑网络来实现的,这个逻辑网络主要由电阻和晶体二极管组成。”


Frankel称他的113管计算机为“MINAC”,有点像“迷你ENIAC”。1954年,他设计了这台计算机,到1956年,MINAC成为了商用计算机。Librascope从Frankel那里获得了MINAC设计的授权,并使用它生产了桌子大小的Librascope LGP-30计算机。有些人认为,LGP-30是第一台“个人”电脑,它不是分时的,不需要特殊的空调房间,电源也是标准的115V的壁电流。除了广泛用作数据处理的通用计算机外,LGP-30还被用作工业测试和过程控制的嵌入式计算机。


MINAC设计中使用的二极管来自附近Hughes Semiconductor的一个元件废料桶。那家公司刚刚开始生产锗二极管,Hughes鼓励Frankel从废品堆里想拿多少就拿多少,虽然它们不符合规格,但在逻辑电路中工作得很好。十年后,Harris开始制造带有现场可编程保险丝的40和48二极管阵列,并将其销售给数字设计师。


是的,没错。在数字IC出现之前,我们曾经只使用分立二极管和电阻来实现逻辑门,它被称为二极管逻辑(DL)或二极管电阻逻辑(DRL)。Frankel在20世纪60年代中期为SCM设计台式计算器时,重复利用了这一想法——使用大量廉价、不符合规格的二极管来实现逻辑功能。这款名为“Cogito 240”的计算器间接促成了惠普进入计算器市场。(但这是发生在另一个时间段的另一个故事。)


当看到Harris二极管阵列的数据手册和器件原理图时,我立即想起了弗兰克尔在MINAC设计中使用的1450锗二极管,这些二极管阵列显然是可编程器件,它们可以用来构建逻辑电路,但它们还不是可编程逻辑器件。


1984年Harris Bipolar目录中的二极管阵列数据手册自豪地宣称这些阵列是“兼容CMOS制程的”。我不清楚这是什么意思,但对你们来说这就是IC营销。也许这是因为阵列的20V反向击穿电压。从理论上讲,如果你不介意冒着触电的风险,通过从电源电压尖峰在IC内部感应SCR闩锁效应,并观察设备在其通过无限电源电流时发生故障,你可以在高达18伏的电源电压下运行一些早期CMOS逻辑系列。直到20世纪80年代,CMOS闩锁效应都是一个严重问题,当然现在它已经不再是了。(是的,这同样也是发生在另一个时间段的另一个故事。)


1970年,Harris宣布了可编程逻辑历史上的下一个进化步骤,即双极可编程只读存储器。这些小型PROM中的可编程元件是采用镍铬合金代替铝来制作的易熔金属链。双极PROM当然可以用来为逻辑电路创建查找表,它们非常适合开发小型逻辑电路和状态机,但由于当时可用的PROM大小为32×8和256×4位,所以只能为逻辑设计人员提供很少的输入和输出引脚,用于从PROM查找表来实现组合逻辑。


也许双极PROM对可编程逻辑开发的最大贡献就是开发了确保PROM片上可熔连接可靠的制造和测试方法。Harris在其PROM设计中增加了测试行和列,以允许在晶圆探测过程中进行破坏性熔丝测试。在晶圆测试过程中,每个器件的每行和每列都有一个保险丝熔断,这对确保器件的整体功能起到了很大的作用。


到20世纪70年代中期,制造现场可编程逻辑芯片所需的所有部件都已就位,剩下的就是有人把这些部件组装起来,并制造出这些设备。这是本文接下来所讨论的主题。


Signetics创造了第一个成功的可编程逻辑器件:FPLA


前面部分讨论了可用于实现逻辑电路最早的可编程IC,不完全是可编程逻辑,Harris可编程二极管阵列和PROM为后来的PLD(可编程逻辑器件)奠定了基础。


在这篇文章中,我们讲述Napoleone Cavlan、Ronald Cline以及Signetics如何开发第一个可商用FPLA(现场可编程逻辑阵列)。Cline和Cavlan都有存储器IC设计经验,并且都在恰当的时间加入Signetics,参与可编程逻辑的下一步发展。Cavlan负责市场营销,Cline负责设计工程。


当时的工程师们已经习惯使用PLAs进行状态机设计。例如,我1975年加入惠普计算机产品部的研发实验室时,实验室里的每个设计工程师都有一本克里斯•克莱尔(Chris Clare)的开创性著作《使用状态机设计逻辑系统》(Designing Logic Systems Using State Machines),而Clare正是惠普实验室的项目经理。设计,特别是基于Clare方法论的芯片设计,依赖于MPLAs,Clare书的第五章对此进行广泛讨论。


1973年,美国国家半导体公司推出了具有14个输入和8个输出的DM7575 MPLA,但这个MPLA并没有取得很大的商业成功。因为它有90纳秒的传播延迟,而且它还需要通过IC工厂来添加用于表征的最终金属层,这又是一个缓慢而又昂贵的过程。


集成片上的MPLA在设计定制IC时非常有用,因为你知道将涉及一组定制掩模。但当你设计电路板时,设计和制造掩模编程部件的需求会给项目进度带来较大的麻烦,因此系统设计人员迫切需要FPLA。


虽然在商业上并不成功,但National的DM7575 MPLA意义依旧重大,因为它为Signetics 1975年生产FPLA 82S100打下了基础。正如Cavlan在他的口述历史中解释的那样:


“…1975年,National的MPLA设备投入使用,但由于它采用了掩膜工艺,因而没有大受欢迎。通常,逻辑设计不是一个非常结构化的过程。实际上,如果你说的是随机逻辑,那么大多数时候它确实不是这样的。这就是我为什么想到了这个名字——随机逻辑。无法避免的变化不适合使用MPLA,所以这部分的唯一用途就是在更结构化的逻辑中,比如查找表,你可以提前或多或少地知道组织将会是什么以及功能是什么。尽管如此,MPLA依旧没有成功。“


Cline在后来的口述历史中描述了后来的故事:


“当时大型钢铁公司都知道PLAs是什么,他们在cpu中使用掩模可编程的PLAs作为微码或微指令生成器。但是,就像我之前和你们说的那样,我们从来没有考虑过这种可能性。同样,在4K PROM成功后,也就是在这个时候,Napoleone登场了。我记得,当时我什么都不知道。没有人告诉我。


“他们不想分散我的注意力。但当时我在桌子上发现了霍尼韦尔(Honeywell)一位工程师的请求,霍尼韦尔是当时一家大型钢铁公司,‘我们能制造一种可熔断或熔断连接PLA吗?’这是我第一次看到这个概念,但是,我认为技术能力、电路能力、应用和知识,再加上对客户需求的内在认识,都是同时出现的。”


Cavlan接着解释了FPGA概念是如何形成的:


“这个想法来源于掩模编程设备的成功以及人们在其设计环境中修改逻辑的愿望,这种设备似乎具有很大市场吸引力。因此,将这种想法转化为架构基本上是说,'好吧,现在有一个可用的掩模编程版本。接着让我们制作一个现场可编程并可以被广泛应用的版本,这些应用不仅是面向比特的,也是面向字节的。‘


在这方面,我对这两个领域进行了研究,我确信,在设计具有一组可编程与门电路以及可编程或门电路的器件时,其I/O组合基本上是字节组织的(我们在特定情况下,它是16个输入和8个输出),并有一个输出门使能,它不仅适用于从设备中生成位逻辑切片……”


利用这些概念,Cline设计了第一个在商业上取得成功的FPLA ,即Signetics 82S100。它可以替代少量TTL芯片,但器件的传播延迟为50纳秒。


Cavlan在他的口述历史中详细描述了当时的情况:


“我们的第一个FPLA(82S100,PLS100)架构基本上是一个AND-OR/NOR结构,输出端内部有一个极性反转,所以你可以执行AND-OR或AND-NOR功能。但它有一个非常大的输入宽度可以同时接受16个变量,并将它们放入任何一个门。不仅如此,你还可以取一些AND门并将它们随意分配到输出中,当然你也可以共享它们。


因此,当你查看使用TTL完成的逻辑功能时,通常是通过操作所有这些输入,即使是单个芯片,你最终也会得到多个级别的TTL封装。当你看那个链时,有时延迟比一个FPLA大得多,但有时延迟也会比较小。这是一个更快的TTL链条,在这些情况下,FPLA不是最好的解决方案,但如果速度不是关键,你仍然可以将一个封装中所有的TTL芯片放入FPLA中,这是非常有用的。
Signetics 82S100的示意图如下所示,在水平行和垂直列的每个交叉点上都有一个保险丝(示意图上未显示)。


Signetics 82S100的销量相当不错,甚至被设计到Commodore的个人电脑里,包括Commodore 64。(在Commodore 64计算机上,已编程的82S100 FPLA在该领域运行了近40年,现在似乎出现了故障。但这个问题非常普遍,以至于使用一个27C512 EPROM、一对PAL或一个Microchip/Atmel PLD在子板上构建了几个替代设计就可以解决。)


然而,Signetics 82S100并不是第一款FPLA,在这款产品被推出的前一两个月,Intersil推出了功能类似的IM5200 FPLA。虽然两个FPLA具有相同的产品项数(48),但82S100的速度大约是IM5200的两倍,并且具有两个额外的输入引脚。


可以说,Intersil的FPLA几乎立刻就被淘汰了。我敢肯定,Intersil对这件事并不感到兴奋。


82S100 FPLA的成功足以鼓励Signetics公司用更多基于相同技术的PLD来扩展该系列。然而,82S100设计所提供的完全可编程AND和OR阵列的灵活性是有代价的。那就是它的模具很大,这使得设备相对昂贵,并给功能稍差、价格较低的替代产品创造了机会。替代方案就是MMI的PAL系列。它将在不久的将来出现。


为PALs做准备


John Birkner在加州优胜美地国家公园附近的金矿长大,父亲在他六岁的时候染上了“金甲虫病”(化用了爱伦*坡的小说《金甲虫》,可以理解为受淘金热影响),于是举家从南加州搬到这里来开采黄金。Birkner很早就迷上了电子学,并成为了一名工程师。


最终,Birkner开始为加利福尼亚州欧文市的计算机自动化设计一系列小型计算机,称为“裸体小型计算机”或“裸体迷你计算机”。也就是从那时起,他开始广泛使用TTL芯片,并意识到它的局限性,也是这个时候他熟悉了MMI,因为他在CPU设计中加入了MMI的小型双极PROM。在那时候,这些PROM是逻辑设计人员的最爱,因为它们速度快,并且是现场可编程的,这允许快速更改设计。


Signetics也试图让Birkner在小型计算机设计中加入82S100 FPLA,因为Signetics FPLA应该也是非常适合的。但由于几个基本的工程原因,最终没有实现。伯克纳在口述历史中解释道:


“…我无法证明这些大封装的成本和尺寸是合理的,而且传播延迟也不够快。没有,我没做。但它更明确了,'哦,也许我应该去那里告诉他们需要什么!'


而Birkner很快就有机会“告诉他们需要什么”。事实上,他也扮演着重要角色,并最终推动FPL开发的下一个进化步骤,这将在下周的本系列文章的第3部分中进行讨论。


MMI的PALs打开了可编程逻辑的大门


Signetics的销售人员试图说服加利福尼亚州欧文市计算机自动化公司的小型计算机设计师John Birkner在其设计中使用82S100,但Birkner认为这个设备成本太高、体积太大、速度太慢,他觉得他应该去硅谷纠正IC供应商的错误。


John Birkner很快就得到了“去那里告诉他们需要什么”的机会。他觉得有必要换一份工作,于是租了一架Janky Cessna 180,从欧文飞到加利福尼亚州的圣何塞,飞机在整个飞行过程中都在漏油,Birkner不得不降落并补充了几次油冷却器,最后他勉强到达了圣何塞,在那里他参加了AMD和MMI的面试,两家公司都给出了邀请,但Birkner最终选择了MMI。


在MMI的老板克莱夫·盖斯特(Clive Ghester)要求下,Birkner思考如何利用MMI在PROM中使用的钛钨熔断技术来制造FPLA。(MMI试图成为Signetics 82S100 FPLA的第二个来源,但MMI的钛钨保险丝不能与82S100的掩模级设计一起运作,因为钛钨保险丝的电阻比Signetics使用的镍铬保险丝高很多,导致不能被可用的编程电压熔断。)


在他的口述历史中,Birkner解释了他在Ghester提出要求后的思考过程:


“…就在那时,我开始根据我为了解决PC板上的问题而死记硬背的7400枚TTL以及多年的TTL设计经验去思考当你真的没办法最小化时,我们如何进行布尔最小化?


“你只是得到了这些预先配置好的芯片,有四个双输入NAND,或两个四输入AND,或者有一些Or。当真的不能最小化的时候,你就需要用你的大脑去思考如何最小化电路板上的芯片数量。


“突然有一天我想到,我脑海中这本7400个TTL组合和时序电路的“书”可以放在几个芯片里,也就是说,所有这些“与门”和“或门”都可以塞进这个PLA中。


“嗯,虽然已经有了怎么设计一个PLA的概念,但我从来没有被安排这样的任务,嗯,什么是计算机设计师会使用的好产品?因为我之前的职业是电脑设计师,所以知道空间、成本和性能的需求,现在我也了解了 PROMs,知道了PROMs架构并学会了画架构。我不仅画了一个FPLA的架构,还画了所有的小保险丝,用X来表示所有的小连接,来看看这两种体系结构…但是这样做的成本太大了,因为性能很低。


“如果我把这个PROM翻转过来呢?”我让AND阵列变成OR阵列,OR阵列变成AND阵列,PROM成为了这两种架构的混合体,我在中间画新的PAL架构,这就把他们所想要的功能结合在了一起。不仅可以看到PROM的架构,还可以看到FPLA的架构,也就是说,他们可以看到这款新产品。


“这款新产品速度快、价格便宜、体积小。”


Birkner意识到,可以抛弃FPLA的一些可编程功能,通过一个可编程的AND阵列和一个固定的OR阵列,再结合所有的AND术语,将得到一个能够完成FPLA大部分功能的芯片,并且这款芯片的速度更快,价格也更便宜。通过逻辑设计人员的附加工作,PAL几乎可以完成FPLA所能完成的任何工作,而且速度更快,功耗更低,成本更低,而这正是设计师渴望做出的工程权衡。当他们成功地沿着价格/功率/性能(PPP)曲线的三个维度的正确方向前进时,他们会觉得自己很聪明。


MMI 16L8 PAL的示意图如下所示,与82S100 FPLA一样(请参阅本系列文章的第2部分),PAL在每个行和列交叉点处都有一个保险丝,但在原理图上没有出现,并且在编程过程中不需要的保险丝都会熔断:

1978年3月,MMI在《电子设计》杂志上刊登了一则两页的广告,介绍了其新PAL系列中的第一批成员,该系列产品采用不同的输入和输出组合,包括带和不带输出寄存器或锁存器的。如下图所示,MMI将最初PAL系列中的所有设备封装在20针超薄塑料DIP中。
图片来源:Michael Holly


由于Birkner考虑到了所有原因,PALs很快就大受欢迎,因为它们的速度足够快,可以直接取代几层TTL门,而且功耗足够低,不会成为问题。成本虽然没有MMI所想的那么低,但也足够低廉,使得设计工程师稍加犹豫后便会决定使用它。


PALS所提供的最大优势或许在PPP工程曲线上体现不出来。它允许将部分设计推迟到项目后期进行从而降低设计风险,当需求不明确或设计不确定的时候,使用PAL可以将该部分电路的设计决策推迟到电路板制造出来之后进行。


当电路板从PCB车间返回并开始调试时,工程师只需要将一个新的PAL插入电路板就可以在几分钟内更改设计并修复错误。当然,能否成功使用这个功能取决于设计工程师能否准确预测设计错误可能出现的位置,而那个出错的地方就是需要你插入PAL的地方。


这个“功能”在今天看来可能没有很大的优势,因为如今的电路板设计可以通过互联网即时发送给PCB制造商,而制造出来的电路板最早在第二天就能到达,但在20世纪70年代末和80年代初,电路板制造需要几周时间,而不是短短的一两天。因此,在设计中加入PAL为最终确定适合PAL的设计要求提供了数周的喘息时间。包括我在内的设计师们充分利用了这个优势,并逐渐依赖用PALS来增加设计风险的保险。


Birkner在营销PALs方面也投入了大量精力。在他的口述历史中,他特别提到了MMI的PAL手册的开发,这是当时PAL主要的营销工具。以下是手册对MMI的PAL的描述(注意:那个时代的性别代词有意地被保留了下来。这是20世纪70年代的历史!伙计们!我在复述 ,而不是重写。)


PAL是由单片存储器首创的可熔连接技术的延伸,用于双极性PROM。这种PROM首先赋予数字系统设计者“在硅上书写”的能力,设计师们在几秒钟内就能将一个空白的PROM从一个通用设备转换成一个包含自定义算法、微程序或布尔传递函数的设备。这为PROM在计算机控制存储、字符生成器、数据存储表和许多其他应用程序中的使用开辟了新领域。而今天数百万美元的PROM市场也清楚地证明了这种技术的适用性。


PROM成功的关键在于,它允许设计者快速轻松地定制芯片来满足其独特的要求。PAL利用成熟的熔丝技术来实现逻辑功能,扩展了这种可编程的灵活性。通过使用PAL电路,设计师可以快速有效地实现从逻辑门到复杂算术函数的各种复杂定制逻辑。


PALs太受欢迎,以至于成为Tracy Kidder畅销书《新机器的灵魂》的主角。Kidder的书描述了1978年左右Data General(DG)Eclipse MV/8000小型计算机(代号为“Eagle”)的开发。这本书于1981年出版,并于次年获得普利策奖。


Eclipse MV/8000是DG的第一台32位小型计算机,旨在与Digital Equipment Corp的VAX竞争。虽然DG Eclipse MV/8000是一台32位机器,但它与该公司早期的16位小型计算机兼容,不需要单独的16位和32位操作模式。事实证明,这种向后兼容性很难实现,但它对DG的现有客户非常有价值。


Tom West在DG管理Eagle设计团队,并在Kidder的书中扮演核心角色。下面是Kidder对Tom West使用PALs决定的描述:


为了寻找技术优势,West认为芯片中即将出现被称为PAL的电路。在当时,集成电路的制造是一个相当危险的行业。据说,工厂可能会因为飘入少量的灰尘突然无缘无故地停止运转,因此,传统观点认为,在制造新电脑时,除非至少有两家公司在制造它,否则你永远不会想要使用任何一种全新的芯片。当时,只有一家相当小的公司在使用PALs。但是,如果PALs真的是大势所趋,那么使用它们就能取得胜利。因此,West决定这样做。


请注意,West不愿意使用单一来源的设备,事实上工程师每天都要面对这样的设计决策。最终,国家半导体公司、AMD、雷神公司和德州仪器都成为了MMI PALs第二或备用来源。甚至Signetics最终也屈服了,把PALs加入了自己的产品线。


到了20世纪70年代末,现场可编程设备发展迅猛。从1978年开始,MMI PALS的销量连续六年每年都翻一番。1982年,在MMI将PAL引入工程界的四年后,我开始在Cadnetix工作站的电路板设计中使用他家的16L8 PAL。作为典型的系统级项目,在我们需要将电路板设计发送到PCB车间时,工作站的部分设计尚未完全定义,因此我将PAL放在设计不确定的预测位置,然后在成品返回后再开发PAL配置。我经常在内存管理单元中使用PALs来解码地址和设置页面大小,所以从个人经验来看,我可以说这种以pal为中心的设计策略在当时非常有效。(如今的情况不同了,因为我们有更好的模拟工具。)


PAL还被证明对于早期DRAM所需的RAS和CAS信号非常有用。我在20世纪80年代就使用了PALs来开发这个应用程序,我的朋友Ahmad Ghemmaghami也是如此,他在80年代在富士通工作时使用MMI PAL设计并构建了一个简单的DRAM测试器。该电路板上20引脚的16R8 PAL是具有寄存输出的原始MMI PAL系列成员之一,位于该板左上象限方形白色按钮的右侧,可产生RAS和CAS信号时序以及DRAM所需的刷新周期。
Ghemmaghami的单板DRAM测试仪的照片如下:

由Ahmad Ghemmaghami为富士通设计的基于PAL的DRAM测试板,用于测试256Kbit和1Mbit的DRAM。它可以执行“全1”、“全0”、棋盘格和逆棋盘格的内存测试。


Ghaemmaghami的电路板是20世纪80年代中期逻辑设计的优秀范例。它将许多廉价的TTL MSI和SSI芯片与一个或几个PAL混合在一起,在TTL设计由于某种原因而无法工作的情况下可以视情况使用。但是请注意,这种电路板上没有微处理器或微控制器,35年后的今天,你可能会用一个廉价的微控制器取代主板上所有芯片。


MMI的PALs基于多种IC制造和测试技术,这种技术原理可追溯至Harris于上世纪60年代推出的现场可编程二极管矩阵,它为系统设计师开启了可编程逻辑的大门。但这些设备并不是现场可编程逻辑的最终进化步骤,甚至现在依然在发展,进化阶梯上之后的两个阶梯,也就是CPLD(复杂可编程逻辑器件)和FPGA将很快出现。


EPLD和CPLD是PLD下一个发展方向


到20世纪70年代末,PALs已经成为系统设计师可编程逻辑器件(PLD)的选择。对于MMI来说,这是一款非常成功的产品,同时,他也变成了其他想要进入PLD领域的IC制造商的目标,事实上,也有几家企业这么做了。


20世纪80年代早期绝对是门阵列发展的黄金时期,Bob Hartmann在1980年成立了Source III,专门从事门阵列设计。目前主要的门阵列供应商包括LSI Logic、Signetics、Intersil、AMI和富士通,他们提供主片和工具。而客户的任务是使用供应商的工具来创建设计。Source III作为一个有经验的中间商,这项工作促使Hartmann和他的顾问同事们考虑开发门阵列的难度、NRE费用和时间,以及是否有一个可用的可编程逻辑器件来取代这些正在开发的门阵列。


在计算机历史博物馆与几位创始人和Altera早期员工——Yiu-Fai Chan、Robert Frankovich、Robert Hartmann、Clive McCarthy和Don Wong——他们的口述历史中,Hartmann描述了1983年成立Altera的思考过程:


“在这样做了几年后,我看到了这种设计系统的问题所在,包括必须生产定制掩模组的成本,或者做一个特定的部件类型。在我们写的一本调查书里,我们有这样的想法,如果有人能想出一个可以编程的东西,在它被制造出来之后,可以做通用逻辑,那不是很好吗。我们觉得这会改变产业的发展。因此,在那之后,我们说,‘为什么我们不尝试下能不能朝这个方向发展呢?’于是,我们就这么做了。”


在Altera第一轮融资中,Hartmann筹集了75万美元,虽然这些钱不够用来设计芯片,但对于启动公司来说足够了。风险投资家希望Altera开发一种测试芯片。Hartmann想要设计一款可以直接与市场上那些门阵列竞争的大型设计。


Robert Frankovich于上世纪70年代在Fairchild工作时认识了Hartmann,随后与Hartmann共同创立了Altera。他认为Altera的第一款设计应该是一款可以销售的最低可行性产品,而不是一个测试芯片,因为测试芯片需要付出与实际产品同样的努力,但结果却只是一个概念验证,并且也不是一个大型PLD。


Frankovich赢得了这场辩论,他调查了整个行业的发展前景,试图寻找一个“杀手级应用”, 一个可以让他们轻易从中“分一杯羹”的目标。当时,市场上最成功的PLD家族是MMI的20针PAL家族(在本系列文章的第3部分中广泛讨论),因此PAL当然成为Altera第一个PLD设计的主要目标。


与1983年市场上其他成功的PLD一样,MMI的PALs采用了双极技术和金属保险丝编程,从而产生了速度最快的元件。Altera想要采取不同的方向,Frankovich知道不是每个人都想要速度快的元件,他认为由于功耗和散热问题,双极技术无法扩展到更大的设备上。Altera的第一个PLD将与PALs竞争,但未来的器件将需要和栅极阵列进行竞争,因此需要发展得更大。


Altera团队选择CMOS EPROM工艺作为他们第一个可编程逻辑器件的应用技术,这与带有金属保险丝编程的双极集成电路截然不同。选择这种工艺技术的也有多种好处:(1)可以应用在更大的设备上;(2)可擦;(3)低功耗。


生产更大设备的能力将使Altera能够追赶上当时由门阵列服务的市场。可擦写性意味着像我一样的系统设计师不会在工作台上放一个装满昂贵的、用过的PLD纸杯来提醒自己设计错误是要花钱的。当然,每个人都喜欢低功耗。唯一的缺点是传播延迟较慢,这意味着Altera的PLD不能解决所有人的设计问题。当然,当时没有IC能做到解决所有人的问题。


很少有芯片制造商拥有CMOS EPROM制造工艺,日本的Ricoh是唯一一家愿意与Altera这样的小型初创公司合作且拥有该工艺的公司。因此,Ricoh成为了Altera的第一家代工厂,而Altera可以在一定程度上宣称自己是第一家真正的无晶圆厂芯片设计企业。


但工艺技术只是第一个挑战,第二个面临的问题就是封装。EPROM被封装在带有石英晶体的宽dip中,允许紫外线进入封装并擦除EPROM电池。因为Altera想要与20针的PAL竞争,该公司需要一种带有石英晶体的20针窄型封装,但当时还没有这样的技术,所以Altera必须把它作为一个定制封装来使用。


Altera于1983年6月正式开业,并且不到6个月就制作出了第一个芯片,在那年圣诞节前推出了第一个可编程逻辑器件EP300。EP300开发团队由6名设计工程师(Yiu-Fai Chan, Haugh suh, Robert Hartmann, Jim Sansbury, John Oh和Don Wong)和4名布局设计师(Bob Frankovich, Mark Belshaw, Susan Falk和Kathy Hopkins)组成,这在当时有可能发生的。你可以召集一群工程师,在硅谷的办公楼里开一家公司,设计一个芯片,然后流片,半年后就可以制造掩膜了。在那时候,这种事情都比较简单。1984年7月,Altera推出了EP300 EPLD(可擦写PLD)。


当时,MMI提供了七种不同版本的20针PAL,但是一个Altera EP300就可以取代MMI20针PAL产品线中的所有产品,甚至更多。你可以对相同的Altera EP300进行编程,来模拟七个MMI 20-pin pal中的任何一个,因为MMI使用几个不同的宏单元用模块化、混合和匹配的方式设计它的PAL,这些PAL宏单元中部分包括了1位输出寄存器,而其余的则不包括。你可以在EP300设计中混合和匹配这些宏单元,并创建MMI未提供的PAL配置。而且所有配置都可以使用相同的Altera EPLD。


如果你对速度的要求没这么高,CMOS EP300输入到输出传播延迟为90纳秒,MMI的双极PALs的速度是这个的四倍多。


事实证明,并不是每个人都需要这么快的速度,Altera很快开始销售大量的EPLD。MMI做好了市场准备,Altera的EP300击中了目标中心。Altera在成立两年内就开始产生盈利,并且有机会制造越来越大的设备来与门阵列竞争。Altera EP300设备在8个宏单元中拥有大约300门的逻辑。


MMI与PALs在市场上的成功引起了Altera的注意,同时也吸引了另一个竞争对手Lattice Semiconductor。1983年,Lattice在俄勒冈州的Hillsboro成立,他的GAL (Generic Array Logic) 16V8设备也复制了MMI PAL设备架构。和Altera一样,Lattice选择使用CMOS工艺技术制造PAL替代品。与Altera不同的是,他选择采用电可擦除CMOS (E2CMOS)工艺,该工艺可提供更高的片上器件密度,并允许对器件进行电擦除。这种功能允许在出厂前对制造的16V8设备进行100%测试。Lattice可以用多个测试模式加载封装的GALs,然后在最终测试后将其完全擦除。


Lattice的GAL明显快于Altera的EP300 EPLD。由于有15纳秒的从输入到输出的传播延迟,它们也比MMI的双极性PAL更快。(Lattice在营销文献中强调了这件事,并在《Lattice Generic Array Logic Handbook》中每隔一页的底部都突出显示了他的应用热线1-800-FASTGAL。)


因为采用了CMOS工艺技术,GALs比双极PAL更低功耗。像Altera的EP300 EPLD一样,一个20引脚的Lattice GAL可以模拟任何MMI的20引脚PAL,从而减少了OEM系统供应商需要在库存中保留空白设备的数量,这使得GALs有了低成本的优势。凭着这些优势,Lattice的GALs很快在PAL领域获得了市场份额。


在Altera的EP300 EPLD上市不到一年后,Lattice于1985年4月推出了GAL 16V8 PLD,并立即开始传播对Altera方法的FUD(恐惧、不确定和怀疑)。以下是1986年《Lattice Generic Array Logic Handbook》对一款基于紫外线可擦除


CMOS(UVCMOS)工艺技术的未命名竞争产品的评论:


虽然UVCMOS解决了双极方法中的许多缺点,但同时也引入了自身的缺点。虽然低功耗,并且具有擦除能力,但这都是以较慢速度和繁琐的擦除过程为代价换来的。


基于FUD的营销过去是,现在是,将来也可能永远是可编程逻辑营销的标志。不是Lattice发明FUD的,几十年来,它一直是技术营销的一部分。因为在之前的几十年里,它一直是汽车营销的关键组成部分。


与此同时,AMD在1980年末或1981年初通过授权PAL专利,成为了MMI PAL的替代来源。作为一个替代来源是AMD主要业务,这项协议是为了专利使用,AMD设计了自己的PAL,使用自己的半导体技术,改进了MMI的零件。例如,AMD没有像MMI在最初的PAL和PROM中那样使用钛钨保险丝,而是使用了更可靠的硅化铂保险丝,这提高了编程产量。虽然客户可以将没有正确编程的MMI PAL退回给工厂,但这一过程增加了成本,并且只会惹怒MMI的客户。AMD的销售人员利用了这种情况,只要强调这点优势,他们的销量就会超过MMI。


这种PAL的替代来源允许AMD销售人员与许多PAL客户谈论他们的需求。工程师们会拿出他们的原理图,向AMD的销售人员展示他们是如何使用现有部件,同时他们也会谈论PALs的缺点和他们希望拥有的附加功能。这是一个伟大而深入的市场调查。


但在这次市场调查也发现了部分缺点,其中一个就是工程师在基于PAL的设计中遇到的PAL输入和输出持续短缺的问题。似乎所选的PAL(无论选择哪一个)总是有一个或两个输入或输出引脚短路,又或者其中一个输出需要一个寄存器,但另一个却不需要。作为这种基层市场研究的结果,AMD能够定义和开发更大、更好的PAL,称为22V10,它仍然是一个双极性元件,但它有更多的输入和输出引脚,并集成了更多的输出宏单元(10个而不是8个)。22V10采用更大的24引脚封装,以容纳额外的输入和输出引脚。


1983年6月,AMD推出了22V10,并一夜成名。虽然它依旧是被人们所熟悉的PAL,但它满足了工程师们所渴望的需求。1985年7月,Altera开发并发布了EP600 EPLD,以此回应AMD的22V10。Altera EP600模拟22V10 PAL的方式与EP300模拟MMI 20脚PAL的方式相同。Altera表示热潮会再次来袭。(Lattice还开发了GAL 22V10。)


然而,EP600并不是Altera第二款EPLD。Altera于1984年10月推出了第二款EPLD,即EP1200。EP1200在48个宏单元中封装了大约1200个逻辑门,并封装在40引脚DIP中。而更大的PLCC和PGA封装允许相同的EP1200芯片支持更多的输入和输出引脚。EP1200 EPLD的优势远远超越了任一款PAL,并朝着门阵列领域前进,但采用了现场可编程器件。它的门容量比任何门阵列都小得多,但它证明了Altera正朝着正确的方向前进。下面的照片显示了安装在40引脚DIP中的Altera EP1200 EPLD。
图片来源:Michael Holley

(注:Altera的EP600、EP900和EP1200EPLD,登上了1987年9月Michael Slater《微处理器报告》的首刊,并脱颖而出。但这项荣誉令人感到怀疑,因为Slater的专长是收集和讨论芯片的错误率,这个技能是他在创立《微处理器报告》之前在阿西洛玛微型机工场磨砺出来的。因此,Slater简短的EPLD文章,出现在他的时事通讯第一期的“bug和Quirks”部分,他这么说到:“Altera的EP600, 900和1200设备具有自动待机模式,当所有的输入在100 ns内没有改变时,这个功能就会启动,而这样的设计是为了在缓慢变化的输入操作时节省电力。缺点就是,当设备处于待机模式时,相关输入发生变化,组合输出就有可能会出现故障。所以,除非系统是完全同步,并且可以容忍EPLD输出上的故障,否则就需要设置' Turbo '位来防止芯片进入待机模式。”这是很有用的建议,但我感觉Altera并不喜欢这样的宣传,虽然也有可能是我理解错了。)


后来,可编程逻辑供应商的销售人员不再将他们大型的可编程逻辑设备称为“PLD”,而是把它夸大为“CPLD”,也就是复杂的PLD。CPLD继续模仿MMI的PAL中原始的宏单元组织,不同之处在于它们有更多的输入和输出,并合并了更多的宏单元。从逻辑上讲,CPLD是一组PAL宏单元,放置在同一个芯片上,并全部连接在一起。


如果你希望Altera在本文中就成为FPGA供应商,那可能就到要等到Altera在1992年推出了它第一款FPGA Flex 8000之后才能实现。Altera很快用Flex 10K家族取代了Flex 8000 FPGA,这是第一个集成了嵌入式RAM块的FPGA。Altera的Flex 10K系列非常成功,但这并属于CPLD故事。起初,Altera对Xilinx的FPGA专利非常谨慎,它将Flex 8000和Flex 10K设备称为“基于LUT的pld”,而不是FPGA。然而,在三十年后,这似乎不再成为问题。
相对于PAL、其他较小的PLD和CPLD, FPGA具备了很多优点。下面,我将在文章的最后讨论第一种FPGA的历史。


可编程二极管阵列、FPLA、PAL、EPLD和CPLD为FPGA铺平了道路


正如本文前面所讨论的,最早的PLD沿着易于追踪的遗传路线发展,从20世纪60年代的Harris Semiconductor可编程二极管阵列开始,经过双极prom、Signetics 82S100 FPLA、MMI的PAL的发展,最后是由Altera和Lattice研发的超越CMOS的PAL器件。相比之下,FPGA(在第一个新闻稿中被称为“逻辑单元阵列”)来自一个类似的概念,现场可编程逻辑,但方向完全不同。


20世纪80年代初,一位名叫Ross Freeman的工程师在Zilog工作时,构想了一种可重新编程的新型逻辑电路:一块芯片可以满足ASIC客户的逻辑设计需求,但在设计上却能立即实现转变。当时,有几十家甚至上百家ASIC公司为成千上万的客户设计和制造定制芯片。然而,设计和制造ASIC需要花费好几个月的时间,而Freeman的想法则是可以在不到一天的时间内开发和实现定制IC。


Freeman于1969年在密歇根州立大学获得物理学学士学位,1971年在伊利诺伊大学获得硕士学位。他曾在和平队工作,在Ghana教了两年数学,然后加入了Teletype Corporation,在那里他获得了PMOS设计经验。据了解,Freeman是首批加入Federico Faggin的Zilog工程师之一,曾设计了Zilog Z80-SiO芯片,30岁左右,他就已经是Zilog Components部门的工程总监。


在Zilog工作时,Freeman构想了一种新型硬件可编程设备——这注定会成为世界上第一个FPGA,他为这项技术申请了几项专利,但Zilog却不感兴趣。于是,Freeman决定成立自己的半导体公司来研究FPGA概念,并说服Zilog的同事Jim Barnett加入。同时,他们两人还说服了在Zilog工作的拥有丰富电子和半导体经验的高管Bernie Vonderschmitt担任这家初创公司的首席执行官。


Vonderschmitt在加入Zilog之前,曾在RCA Corp工作了30多年。1953年,他主导RCA彩色电视的开发,并成为公司固态部门的副总裁和总经理,而这个部门主要开发COSMOS (RCA的CMOS商标名)。Seiko的高管访问了RCA的固态部门,为COSMOS工艺技术寻求授权来启动其电子手表业务。Vonderschmitt将RCA的COSMOS工艺授权给Seiko Epson,到1973年,该公司开始销售基于Seiko Epson制造的带有CMOS芯片的Seiko数字LCD手表。


在担任RCA固相部门负责人期间,Vonderschmitt对半导体制造业对巨大的资本需求有了清晰的认识,因为每隔几年就需要升级工艺技术来跟上摩尔定律的步伐,未能投资晶圆厂的公司会很快退出这场游戏。


因为芯片制造只是RCA的副业,RCA更倾向于生产消费设备和广播设备,所以Vonderschmitt难以从母公司获得所需资金来扩大新IC工艺技术的生产规模。基于他在RCA固态部门的经验,Vonderschmitt认为,专属半导体晶圆厂成本太高,负担太重。他信誓旦旦地说:“如果我要开一家半导体公司,它将是无晶圆厂的。”


1984年2月,Vonderschmitt、Freeman和Barnett正式成立了Xilinx。Vonderschmitt计划将Xilinx重点放在设计创新型的可编程设备上,并与其他公司开展合作,以此进入资本密集型芯片制造领域。他凭借着与他有长达十年的友谊的Seiko Epson高管草间三郎的帮助,让Seiko Epson生产Xilinx 的FPGA。


其实,设计第一个FPGA的任务落在了一个从Zilog公司招聘来的工程师身上,他叫Bill Carter,最初Freeman聘请他是为了Zilog Z8000微处理器项目,后来Carter很快跟随Freeman来到Xilinx从事FPGA设计工作,他以前有双极和MOS IC设计经验,但Seiko Epson的工艺技术是CMOS,所以Xilinx FPGA将是他首个CMOS芯片设计。


像之后的FPGA一样,第一个FPGA是一个非常大的芯片,Vonderschmitt经常建议Carter让设计尽可能简单,不要尝试任何“太先进或太奇特”的东西。设计风险最小化对Vonderschmitt来说非常重要。因为他意识到,如果一家小型初创公司提供的芯片需要不熟悉的设计工具,并通过独特的无晶圆厂商业模式制造,很容易吓跑客户。


因为手表行业的价格竞争非常激烈,所以Seiko Epson的CMOS数字手表芯片采用了非常保守的设计规则,来最大限度地提高产量并降低成本。数字手表芯片通常以32kHz的频率运行,速度很慢。但Xilinx第一个 FPGA设计不会太保守,也不会太慢,争取达到数十兆赫兹的时钟频率。


首个FPGA架构很大程度上是基于模块化CLB(可配置逻辑块)和I/O块重复多次,而重复使用相同的模块极大地简化了FPGA设计,考虑到可用于启动的小型设计团队和最小设计工具,这是必不可少的。这种情况与1968年英特尔创立之初惊人相似,Robert Noyce和Gordon Moore创立英特尔(Intel)是为了成为一家存储设备公司,因为存储芯片设计反复使用相同的存储单元,从而以最小的设计成本生产出相对复杂的芯片。


Carter完成的FPGA设计需要大约85,000个晶体管来实现其64个可配置逻辑块和58个I/O块,而16/32位的摩托罗拉68000微处理器需要更少的晶体管。可以说,FPGA的芯片尺寸几乎比当时生产的任何芯片都大,而且肯定也比Seiko Epson制造过的任何芯片都要来的大。


1985年5月底,第一个Xilinx芯片流片,直到7月初,设计团队才有了第一批芯片。Seiko Epson送来了一个盒子,里面有25片成品晶圆。但从盒子里拿出来的前十个芯片都流片失败,这不是一个好的开始。第十一个芯片显示出一些生命迹象,但表现出非常高的电流消耗,然而最后十四个芯片也因为电源和地存在短路现象而完全失败了。


Carter团队发现,铝晶须覆盖了首批的所有晶圆,蚀刻不良的铝金属化层使电源和地轨短路。幸运的是,晶圆上只有部分失效的金属须非常脆弱,足以像保险丝一样熔断。(第一代FPGA并不是设计成可编程熔丝器件,而是因为缺陷制造工艺使其成为可编程熔丝器件。)测试团队通过向晶圆注入大量电流,成功地蒸发了晶须。这是一场冒险的赌博,但输了也不会失去什么。


在清除短路之后,Carter终于能够将一个简单的配置比特流记录到设备中,成功将一个反相器编程到其中一个CLB中。当Freeman和Vonderschmitt还在日本旅行时,Carter打电话给他们报告说“DONE线已经升高”,这意味着Xilinx成功地创造了世界上最昂贵的反相器。在这一初步尝试成功之后,设计团队开始将更多不同的逻辑电路编程到FPGA中。

1985年11月1日,一份新闻稿宣布了Xilinx XC2064,这是世界上第一个“逻辑单元阵列”。这是FPGA最初的分类,但这个器件注定要被称为FPGA。以下是Xilinx XC2064的照片,采用40引脚DIP封装:


从战略上讲,那篇新闻稿没有将Xilinx XC2064定位为PLD,而是称为一种新型的ASIC,这一措辞反映了Xilinx对高端逻辑可编程性的定位。该新闻稿还宣称:“逻辑单元阵列提供了与其他ASIC相关的所有优势——减少芯片数量、高性能、更小的系统尺寸、更低的功耗和高可靠性——而没有时间、成本和风险损失。”该新闻稿的第二页声明“逻辑单元阵列使用类似门阵列的架构”。


显然,这篇新闻稿进一步拉开了新Xilinx FPGA与当时现有的PAL和PLD之间的距离:


因此,这个器件可与较小的门阵列相比,并提供比可编程阵列逻辑型(或“PAL型”)器件更高的复杂性,后者通常需要提供150至300个等效门。由此可见,XC2064可以取代较小的门阵列;15至75个SSI和MSI(中小规模集成)器件;或者四个或更多个当前可用的PAL类型设备。


尽管拥有这么多的优势,但FPGA普及依旧缓慢,不像MMI的PALs在20世纪70年代后期那样快速普及,原因在于John Birkner和MMI可以确保芯片设计师可以轻易将PALs融入到他们现有的设计方法中:PALs速度快且简单易懂,很适合现有基于ttl的设计技术,虽然一个单独的PAL芯片比一个TTL芯片稍贵一些,但也没有贵很多。


Xilinx的 FPGA却完全不同。就像ASIC一样,FPGA比PAL复杂很多,因此更难理解和使用。而且FPGA设计工具对大多数设计工程师来说完全是陌生的,就像ASIC设计工具一样,一开始,没有人知道如何使用FPGA。再加上早期的FPGA比TTL和PAL器件速度都要慢,XC2064 FPGA无法用64个CLB替代那么多逻辑。Seiko Epson一直努力生产巨大的CMOS芯片意味着,Xilinx 的FPGA价格不得不更高才能盈利。


尽管存在种种困难,但FPGA还是取得了成功。在接下来的二十年里,越来越多的FPGA供应商进入市场,瞄准并吸收了电路板上常见的其他数字功能,包括SRAM、电平转换器、DSP引擎、以太网和其他高速串行收发器以及整个微处理器。随着时间的推移,FPGA产品开始逐渐分为高端、中端和低成本产品线。随着FPGA选择的多样化,工程师们越来越多地开始使用FPGA。经过近四十年的市场发展,现在FPGA已经得到了广泛应用。


2009年,IEEE将Xilinx XC2064列为“震撼世界的25款微芯片”之一,并于2017年将其纳入芯片名人堂。


致谢:感谢电子科技大学黄乐天老师与刘洋同学在翻译和校正中提供的帮助。

鄂ICP备2021011192号-1