史海钩沉:关于可编程逻辑,你可能已经遗忘的8件事

今年,xilinx已经成立30周年了,在过去的30年里,可编程逻辑行业得到了显著的发展,这也意味着过去的许多技术都成为了历史,让我们揭开时间的面纱,从消遣的角度去回顾一下这些尘封往事。
schematic entry(原理图输入)-曾几何时,原理图就是工程师们的一切,一张羊皮图纸,一支自动铅笔,一把直尺,一个绿色逻辑模版,一块橡皮擦,一块金属擦除模板,直到上世纪80年代,计算机的出现,使原理图的制作技术得到了一个大的飞跃。到上世纪80年代中期,在原理图技术正在发生转变的时候,fpga登上了历史舞台。随着fpga的容量越来越大,原理图变得越来越复杂和笨拙,这就好像几年前asic设计所经历的事情一样。到了上世纪90年代,日渐增长的复杂度迫使工程师们学习verilog和vhdl语言来使用大容量的器件,现在,这项流行的技术已经基本取代了原理图输入。但是,在xilinx vivado设计套件的ip集成工具中,我们可以看到原理图输入的新的形式,在这里,ip模块以一种图形化的视图形式出现,而不用再去考虑ip内部的复杂度,图形化设计又重新在设计中占有了一席之地。
fpla,pal和gal在1975年,signetics(西格尼蒂克)公司出品的第一代可编程逻辑器件被称为fpla(现场可编程逻辑阵列)。fpla的特点是尺寸大、速度慢、价格昂贵、不易使用,并且功耗很大,这些特点导致它无法在商业领域获得成功。mmi(monolithic memories inc)推出简化改进后的fpla,又称为pal(可编程阵列逻辑),是第一个获得成功的可编程逻辑器件,改进之后,不可以对或阵列进行编程,这样大大简化了片上的互连以及可编程的熔断点。mmi制造的双极型pal非常便宜,这也助长了“blow-and-go”工程设计模式(不需要做任何仿真)的滋长,许多设计工程师的工作台上都有一小堆用过的pal器件来提醒自己更加细心的工作。(我把我用坏的pal器件放在一个纸杯中)pal器件获得巨大成功,以至于国家半导体、ti和amd等公司都开始提供管脚兼容的器件。在上世纪80年代,双极型pal发展成了基于eprom的gals(通用阵列逻辑),并最终演变成cpld。
熔丝映射-我们并不总是用hdl语言来配置可编程逻辑。工程师们曾经使用熔丝图来直接表现片上的熔断点和互连,根据逻辑等式,可以在pal数据手册的片上互连图上进行标注,以此来表示哪些熔丝需要熔断,哪些保持不变,然后需要手工把熔丝图转换为一个包含“0”和“1”字符串的二进制编程文件,这个文件可以告诉器件编程人员哪些熔丝需要熔断,哪些保持不变。幸运的是,熔丝图编程方法很快就不再被人们所采用。这是一张mmi熔丝图,出自eetimes的“how it was: programmable logic”,作者是max maxfield。该文是基于aubrey kagan的口述整理而成,他是一家位于多伦多,从事工控接口和开关电源设计的公司(emphatec)的工程主管。
abel(高级布尔表达式语言)-由data i/o公司在1984年4月份提出的一种早期的硬件描述语言。在那个时代里,abel与cupl和palasm同台竞争。data i/o公司拆分abel产品线,成立一个名为synario设计系统的eda公司,然后,又在1997年把synario卖给了minc公司。minc是一家专注于开发fpga开发工具的公司,该公司在1998年倒闭,xilinx收购了minc的部分资产,这其中就包括了abel语言和工具集,abel成为xilinx webpack工具套件的一部分。点击此处阅读michael holly撰写的abel语言的历史,michael holly是data i/o公司最早的开发人员之一。
cupl(通用可编程逻辑的编译器)-加州圣何塞的assisted technology最早研发出cupl,并在1983年9月份对外发布。出于可移植性的考虑,cupl是用c语言开发而成,它是最早的商业化设计工具,可以支持多个pld系列,personal cad systems (p-cad)在1985年收购了assisted technology以及cupl,可编程器件供应商logical devices后来收购了cupl,然后转手卖给了altium,在上世纪90年代,cupl出现在altium公司的protel设计系统中,现在是以一个设计插件的形式存在。logical devices仍然提供pal/pld设计软件,用于基于prom/ eprom可编程逻辑器件,这个软件就是cubel,它是在早期的cupl和abel硬件描述语言的基础上开发而成。
palasm-上世纪80年代早期,mmi公司的john birkner合作开发了“pal汇编语言”,以此来取代熔丝图编程。它最初是用fortran iv编写而成,可以运行在大型主机或者微机上。birkner创立了structured design公司,该公司提供sd20 pal编程器,用于第一代20个管脚的mmi双极型pal器件,后面又推出sd20/24编程器,增加了对24个管脚的pal器件的支持。structured design的器件编程器使用内嵌的palasm编译器,不需要使用微机,程序可以保存在sd20的exatron “stringy floppy”磁带驱动器中,或者通过rs-232串行接口来输入和输出,通常情况下,rs-232是与pc机进行连接。
data i/o器件编程器-当需要一个通用的器件编程器,既可以用于eprom,也可以用于可编程逻辑器件,那么就需要了解data i/o公司,它制造出了最早的商用编程器。data i/o成立于1969年,在整个70年代,为了适应可编程器件日益提高的复杂度,它推出了一系列处理能力不断增强的产品。在80年代,data i/o推出model 29型号的编程器,它能够使用unipak适配器来对eprom进行编程,也可以使用一个logicpak插件适配器来对pld器件进行编程。data i/o现在提供为生产线设计的大容量、高速度的器件编程器。
data i/o model 29b编程器外加logicpak适配器。图片来源: michael holley
uv擦除器-最早的可编程逻辑器件使用片上可编程熔丝,它们只能一次性编程,导致工程师的桌上经常会出现一堆烧坏的器件,一些pld供应商很快意识到可擦除的pld器件会更加受到市场欢迎,他们改进了uv eprom单元用于pld器件,这样,也就意味着绝大部分的设计实验室需要有一个uv擦除器来负责擦除可编程逻辑器件中的内容。uv擦除器曾经相当昂贵,但是现在在亚马逊只要不到20美金就能买到买到一个简单的uv擦除器。
德州仪器ttl数据手册-如果你是一个上世纪70年代的数字设计工程师,那么有着橘黄色封面的ti ttl数据手册就是你的设计圣经。在手册里,你能够找到设计数字系统所能用到的所有模块。在1971年ti 7400系列逻辑器件首次引入微处理器概念之前,许多系统都是基于没有微处理器的ttl器件或者其他lsi的器件来开发的。最早的用于可编程逻辑器件的ip模块是ti ttl数据手册及其补充部分描述的更加复杂的部件,设计人员使用这种内嵌数字模块的可编程逻辑,可以简化整个系统的实现,这些数字模块就是ip重用的早期原型。

为何创牌不足2年的三翼鸟,就有了头部效应?
Mimo智能婴儿服面世 首款搭载英特尔Edison芯片
FBG光纤反射器,FTTX网络链路监控的理想光端
人工智能驱动的医疗机器人的成功之后
戴姆勒引入3D打印技术,重塑供应链节省成本
史海钩沉:关于可编程逻辑,你可能已经遗忘的8件事
小米mix2:oppo叫板小米mix2,国产机哪家强?
中兴通讯助力民生银行推进科技和金融业务深度融合
快讯:AMD 7代APU新品A6-9400悄然上架,28nm双核挖掘机
基于TMS320F2812 DSP芯片和DAC0832设计微弱振动信号自适应采集系统
源创通信SinoV-410P 2U高度 4 fxs/fxo Asterisk卡介绍
高抗干扰LCD驱动控制电路-VK2C23A/B
行业 | 闻泰科技以小博大收购安世集团控股权
半导体激光器的主要组成部分有哪些?
如何判定杂散来源?
1万毫安时PD移动电源对比:ZENDURE和ANKER孰强孰弱
利用复合放大器实现高精度的±500 mA电流源
LED灯具和光源的不同
MMC的基本工作原理和常见调制方法
无线充电宝怎么样配对,目前最好的无线充电宝推荐