EEJournal

专题文章
现在就订阅

FPGA是怎么来的,第一部分

1981年,我开始为科罗拉多州博尔德市的Cadnetix公司设计工程工作站。当时顶尖的计算机辅助工程(CAE)供应商——Daisy Systems、Mentor Graphics和Valid Logic(我称它们为DMV)——都成立于1981年,就像Cadnetix一样,每家公司都开发了自己专有的CAE软件套件。我帮助设计的5个专有Cadnetix工作站,从1982年到1985年推出,都是基于摩托罗拉半导体68000微处理器家族的版本(68000、68010和68020),运行专有的精简版Unix(我私下称其为宦官,这是一个内部笑话)。

Daisy的CAE软件用于逻辑设计,运行在Daisy专有的Unix版本Daisy- dnix上,运行在Daisy专有的工程工作站Daisy Logician上,随后是Mega Logician。Mentor的CAE软件用于IC布局和pcb设计,在Apollo Aegis和Apollo/Domain操作系统下的早期Apollo DN100工作站上运行。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芯片占用了大量的电路板空间,这在pcb空间和功耗方面是昂贵的,定制芯片更难设计,在NRE方面成本高昂,并且在设计周期中插入数月。

对现场可编程逻辑设备的需求日益增长,这样工程师就可以开发逻辑设计,构建它们,测试它们,并快速修改它们。半导体供应商认识到一个市场机会,并加紧迎接挑战。首先是现场可编程逻辑阵列(fpla),接着是pal、gal和cpld。fpga终于在1985年出现在可编程逻辑食物链的顶端。

在20世纪70年代末和80年代初,关于设计工程师如何使用可编程逻辑的最著名的流行描述可能是Tracy Kidder的畅销书新机器的灵魂,出版于1981年。1982年,这本书获得了国家非虚构类图书奖和普利策一般非虚构类图书奖。这本书成为MMI(单片存储器)最好的销售工具之一。

Kidder的书描述了Eclipse MV/8000微型计算机的开发过程,它是DEC VAX的竞争对手,是Data General在20世纪80年代推出的。这台微型计算机的逻辑设计很大程度上基于MMI的PAL(可编程阵列逻辑)器件,这在书中起着突出的作用。老实说,我不知道一本关于pal和系统工程的书是如何成为全国畅销书的。如果我这样做了,我自己就能写出获奖的畅销书了——但是谈论PALs有点超前了。这个故事从prom开始,也许更早一点。

现场可编程性几乎从集成电路开发的一开始就一直是集成电路设计的一个重要方面。我所知道的第一个可编程ic是哈里斯半导体HM-01xx商业二极管矩阵。这些14针DIP部件包含40或48个硅二极管阵列,每个二极管都坐落在一块硅上的介电隔离护城河中,所有二极管都通过铝互连和可熔链路连接。需要750毫安才能击穿其中一个易熔链。下面是其中一个二极管阵列的示意图:

哈里斯在20世纪60年代中期开始销售这些二极管阵列。以下是拿破仑·卡夫兰(Napoleone Cavlan)在计算机历史博物馆口述历史中与卡夫兰和罗纳德·克莱恩(Ronald Cline)的讨论,他们都在Signetics公司工作,参与了第一个现场可编程逻辑阵列(FPLA)的开发,Signetics 82S100:

“还有一个元素取得了一定的成功,我在1967年使用了它。这些是二极管矩阵与可熔镍铬合金[我相信]链接由哈里斯制造。每个封装大约有50个二极管,排列成行和列。我用它们设计了一个磁芯存储器模拟器作为波塞冬制导导弹上存储器的备份。我还设计了一个程序来给这些芯片编程。”

我将在本系列文章的第2部分中讨论Cavlan和Cline关于signnetics 82S100 FPLA开发的口述历史,但这有点超前。卡夫兰关于哈里斯二极管阵列的陈述表明,集成易熔链是制造早期可编程逻辑芯片所需的关键片上元件,在20世纪60年代就已经存在。

在阅读了卡夫兰口述历史中的哈里斯二极管阵列后,我查找了相应的数据表。当我第一次在数据表中看到这些二极管阵列时,我想知道它们可能用于什么应用。突然间,我感到一种联系迅速建立起来。这种联系让我想起了十年前我写的一个故事。这是Stanley Frankel的故事,他是一位早期的计算机先驱,当我开始我的研究时,他几乎消失在时间的迷雾中。我花了三年的时间才挖掘出足够的弗兰克尔的资料来讲述他的故事。

第二次世界大战期间,弗兰克尔在新墨西哥州洛斯阿拉莫斯为罗伯特·奥本海默(Robert Oppenheimer)的曼哈顿项目工作时爱上了机器计算。他曾是奥本海默的研究生之一,奥本海默把他带到洛斯阿拉莫斯帮助研制原子弹。弗兰克尔是利用机器计算模拟物理过程的专家。

起初,他在机电Marchant和Friedan计算器上进行原子弹模拟。弗兰克尔发明了一种方法,将大型物理计算的部分工作外包给“计算机”,在当时,这些计算机是由女性操作的。弗兰克尔并不知道这一点,但他正在开发用计算机算法解决大问题的原型。后来,弗兰克尔将这些算法转移到洛斯阿拉莫斯国家实验室获得的IBM制表读卡器上,以帮助进行计算。

最终,弗兰克尔连接上了世界上第一台全电子可编程数字计算机ENIAC。战争即将结束时,弗兰克尔在曼哈顿计划中的最后一项任务是运行一个过于简化的、一维的氘-氚聚变反应模拟,以验证爱德华·泰勒关于假想氢弹爆炸内部反应顺序的理论。弗兰克尔的模拟是ENIAC上运行的第一个真正的程序。之前的程序只是由计算机开发人员创建的测试套件,用于消除机器中的错误。

弗兰克尔的热核模拟程序需要100万张霍勒里斯打孔卡,用火车车厢从新墨西哥州运送到ENIAC位于宾夕法尼亚州摩尔学校的家中。这些打孔卡片只包含数据。ENIAC不是存储程序计算机。你对它进行物理编程,有点像FPGA,使用电线连接各种功能单元以创建所需的操作序列。ENIAC的具体计算结果仍然是保密的,但我们知道洛斯阿拉莫斯在弗兰克尔带着他的结果回来后继续研发泰勒的氢弹。

到1950年,弗兰克尔——这个为美国国防部成功开发了第一个用于制造核武器和热核武器的模拟算法的人——失去了他的安全许可,这要归功于乔·麦卡锡、HUAC和红色恐慌。为什么?弗兰克尔犯了什么罪或违反了什么信任?弗兰克尔的父亲,而不是弗兰克尔,在20世纪30年代是一名共产主义者,这就是弗兰克尔被取消从事秘密国防项目的资格的全部原因。

由于需要非机密工作,弗兰克尔与同事埃尔德雷德·纳尔逊(Eldred Nelson)开始了咨询业务,后来加入了位于加州帕萨迪纳的加州理工学院工程部新成立的数字计算小组。这是当时他能继续从事计算机工作的唯一途径。当时所有的计算机基本上都是大型机。

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

弗兰克尔称他的113管计算机为“MINAC”,有点像“最小的ENIAC”。他在1954年设计了这台计算机,到1956年,MINAC成为了一台商用计算机。Librascope从Frankel获得MINAC设计许可,并将其用于生产桌面大小的Librascope LGP-30计算机。有人说,LGP-30是第一台“个人”电脑。它不是分时的;它不需要特殊的空调房间;它的电源是标准的115伏墙电流。除了被广泛用作数据处理的通用计算机外,LGP-30还被用作工业测试和过程控制的嵌入式计算机。

MINAC设计中使用的二极管来自附近的休斯半导体(Hughes Semiconductor)的一个组件废品桶,该公司刚刚开始生产锗二极管。休斯鼓励弗兰克尔从废品堆里随意挑选。它们没有达到规格,但在逻辑电路中工作得很好。十年后,哈里斯半导体(Harris Semiconductor)开始生产带有现场可编程保险丝的40二极管和48二极管阵列,并向数字设计师推销。

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

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

从1984年哈里斯双极目录的二极管阵列数据表自豪地宣布,这些阵列是“CMOS兼容。”我不清楚这是什么意思,但这就是IC营销。也许是指阵列的20伏反向击穿电压。理论上,你可以运行一些早期的CMOS逻辑家族在电源电压高达18伏,如果你不介意冒着“骑闪电”的风险,通过电源电压尖峰在IC内部诱导可控硅锁存,看着设备在无限供电电流中燃烧。CMOS锁存是一个严重的问题,直到20世纪80年代。现在已经不是了。(是的,这是另一个故事,也是另一个时间。)

到1970年,哈里斯宣布了可编程逻辑发展史上的下一个发展阶段——双极PROM。这些小型prom中的可编程元件是易熔金属链,由镍铬合金而不是铝制成。双极prom当然可以用来创建逻辑电路的查找表。它们很适合开发小型逻辑电路和状态机,但由于当时可用的PROM尺寸(32×8和256×4位),它们为逻辑设计人员提供了很少的输入和输出引脚,用于从PROM查找表创建逻辑。

也许双极PROM对可编程逻辑发展的最大贡献是开发了制造和测试方法,以确保PROM的片上可熔连接是可靠的。Harris在其PROM设计中增加了测试行和列,以便在晶圆探测期间进行破坏性熔丝测试。在晶圆测试期间,在每个设备的每一行和每一列中吹一个保险丝对于确保设备的整体功能有很大的帮助。

到20世纪70年代中期,制造现场可编程逻辑芯片所需的所有细节都已经到位。剩下的就是有人把这些碎片拼在一起,制造出设备。这是本系列文章的第2部分所讨论的主题,EEJournal将在本周晚些时候发表。

引用:

口述历史小组,计算机历史博物馆,2009年9月15日。

AMD 22V10可编程阵列逻辑(PAL)开发团队口述历史小组,计算机历史博物馆,2012年7月19日。

关于“FPGA的由来,第1部分”的8个想法

  1. 嗨,史蒂夫,感谢你为罗伯特·奥本海默在洛斯阿拉莫斯的曼哈顿项目中讲述了斯坦利·弗兰克尔对机器计算的热爱。我发现Frankel的热核模拟程序需要一百万张Hollerith打孔卡,用火车车厢从新墨西哥州运到ENIAC在宾夕法尼亚州摩尔学校的家,这让我很惊讶!
    谁能忘记特蕾西·基德的《新机器之魂》呢?这绝对是MMI (Monolithic memory)最好的销售工具之一。
    我记得Data General的工程师们变得如此沉迷于设计他们自己的芯片,以至于他们会使用一个PAL16R8注册的PAL来执行反相寄存器功能,而不是一个74LS374八进制寄存器加上两个74LS04逆变器,如果它允许他们把设计放在一块PC板上的话。

    1. 很高兴接到你的电话,约翰!有趣的是,工程师们如此喜欢你的pal,以至于他们使用5美元的零件而不是几个低于1美元的零件来节省电路板空间。

  2. 嗨,Steve——我无法告诉你我是多么欣赏这篇深入探讨可编程逻辑起源的文章——我非常期待接下来的专栏。

留言回复

有特色的博客
2023年1月19日
你是否在调整表带或更换手表电池时遇到问题?如果是这样,我将带来好消息....
2023年1月19日
AMD以制造一些世界上最先进的处理器而闻名。AMD的EPYC服务器处理器代表了高性能计算、云和企业工作负载向前迈出的一大步。当涉及到产品设计周期的仿真阶段时,…
2023年1月18日
了解为什么2023年将是多芯片系统的大时代,因为芯片设计人员使用芯片技术和UCIe标准来满足HPC及其他领域不断增长的PPA要求。为什么2023年对多模系统有巨大的希望,这篇文章首先出现在从硅到软件....上
2023年1月16日
所以你的网迹有太多的寄生抗性。它是从哪里来的?你运行你的... ...

有特色的视频

Synopsys 224G和112G以太网PHY IP OIF互操作在ECOC 2022

Synopsys对此

本特色视频展示了Synopsys 224G和112G以太网PHY IP长中距离性能的四个演示,与第三方通道和服务器互操作。

了解更多

特色粉笔演讲亚博里的电子竞技

机器的预测运行状况管理/预测性维护解决方案

逮老鼠的电子产品Advantech

预测性健康管理,也称为预测性维护,是我们工业生态系统的重要组成部分。在本期Chalk Talk节目中,Am亚博里的电子竞技elia Dalton与研华的Eric Wang讨论了数据采集、数据处理和人工智能在预测健康管理中的作用,构建这些类型系统的挑战,以及哪种预测性维护解决方案最适合您的下一个设计。

更多关于研华WISE-750智能振动网关的信息

Baidu