可编程逻辑器件 英文全称为:programmable logic device 即 PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。
概念这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。
PLD与一般数字芯片不同的是:PLD内部的数字电路可以在出厂后才规划决定,有些类型的PLD也允许在规划决定后再次进行变更、改变,而一般数字芯片在出厂前就已经决定其内部电路,无法在出厂后再次改变,事实上一般的模拟芯片、混讯芯片也都一样,都是在出厂后就无法再对其内部电路进行调修。
发展历史70年代:出现只读存储器PROM (Programmable Read only Memory),可编程逻辑阵列器件PLA (Programmable Logic Array)
70年代末:AMD推出了可编程阵列逻辑PAL (Programmable Array Logic)
80年代:Lattice公司推出了通用阵列逻辑GAL ( Generic Array Logic)
80年代中:Xilinx公司推出了现场可编程门阵列FPGA (Field Programmable GateArray )。Altera公司推出了可擦除的可编程逻辑器件EPLD (Erase Programmable LogicDevice),集成度高,设计灵活,可多次反复编程
90年代初:Lattice公司又推出了在系统可编程概念ISP及其在系统可编程大规模集成器件ispLSI)
现以Xilinx、Altera、Lattice为主要厂商,生产的FPGA单片可达上千万门、速度可实现550MHz,采用65nm甚至更高的光刻技术。1
分类逻辑器件可分为两大类 - 固定逻辑器件和可编程逻辑器件。 一如其名,固定逻辑器件中的电路是永久性的,它们完成一种或一组功能 - 一旦制造完成,就无法改变。 另一方面,可编程逻辑器件(CPLD)是能够为客户提供范围广泛的多种逻辑能力、特性、速度和电压特性的标准成品部件 - 而且此类器件可在任何时间改变,从而完成许多种不同的功能。
对于固定逻辑器件,根据器件复杂性的不同,从设计、原型到最终生产所需要的时间可从数月至一年多不等。 而且,如果器件工作不合适,或者如果应用要求发生了变化,那么就必须开发全新的设计。 设计和验证固定逻辑的前期工作需要大量的“非重发性工程成本”,或NRE。 NRE表示在固定逻辑器件最终从芯片制造厂制造出来以前客户需要投入的所有成本,这些成本包括工程资源、昂贵的软件设计工具、用来制造芯片不同金属层的昂贵光刻掩模组,以及初始原型器件的生产成本。 这些NRE成本可能从数十万美元至数百万美元。
对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。 然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。 原型中使用的PLD器件与正式生产最终设备(如网络路由器、ADSL调制解调器、DVD播放器、或汽车导航系统)时所使用的PLD完全相同。 这样就没有了NRE成本,最终的设计也比采用定制固定逻辑器件时完成得更快。
采用PLD的另一个关键优点是在设计阶段中客户可根据需要修改电路,直到对设计工作感到满意为止。 这是因为PLD基于可重写的存储器技术--要改变设计,只需要简单地对器件进行重新编程。 一旦设计完成,客户可立即投入生产,只需要利用最终软件设计文件简单地编程所需要数量的PLD就可以了。
可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(PLD)。 在这两类可编程逻辑器件中,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。 最新的FPGA器件,如Xilinx Virtex系列中的部分器件,可提供八百万"系统门"(相对逻辑密度)。 这些先进的器件还提供诸如内建的硬连线处理器(如IBM Power PC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。 FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。
与此相比,PLD提供的逻辑资源少得多 - 最高约1万门。 但是,PLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。 而且如Xilinx CoolRunner系列PLD器件需要的功耗极低。
对比PLD有可编程只读存储器(PROM)、可擦除可编程存储器(EPROM)、可编程逻辑阵列(简称PLA)、可编阵列逻辑(简称PAL)和通用阵列逻辑(简称GAL)等几种。它们的结构特点和功能列于表中。
PLA的总体结构与PROM类似,也由与门阵列、或门阵列和输出缓冲器组成;它的与门阵列是可编程的。在产生同样的组合逻辑函数时,使用PLA比使用PROM节省与门阵列和或门阵列中的单元数。
有的PAL器件为寄存器输出结构,所以用PAL不仅能构成组合逻辑电路,也能构成时序逻辑电路。GAL的输出宏逻辑单元有不同的工作模式,并允许通过编程选定。这些工作模式包括了PAL的各种输出结构。GAL更具通用性。PAL和GAL的编程工作比较复杂,需使用专门的开发工具(包括编程器和编程语言)进行。这些开发工具使用起来很方便。
特点固定逻辑器件和PLD各有自己的优点。 例如,固定逻辑设计经常更适合大批量应用,因为它们可更为经济地大批量生产。 对有些需要极高性能的应用,固定逻辑也可能是最佳的选择。
然而,可编程逻辑器件提供了一些优于固定逻辑器件的重要优点,包括:PLD在设计过程中为客户提供了更大的灵活性,因为对于PLD来说,设计反复只需要简单地改变编程文件就可以了,而且设计改变的结果可立即在工作器件中看到。
PLD不需要漫长的前置时间来制造原型或正式产品 - PLD器件已经放在分销商的货架上并可随时付运。 PLD不需要客户支付高昂的NRE成本和购买昂贵的掩模组- PLD供应商在设计其可编程器件时已经支付了这些成本,并且可通过PLD产品线延续多年的生命期来分摊这些成本。
PLD允许客户在需要时仅订购所需要的数量,从而使客户可控制库存。 采用固定逻辑器件的客户经常会面临需要废弃的过量库存,而当对其产品的需求高涨时,他们又可能为器件供货不足所苦,并且不得不面对生产延迟的现实。
PLD甚至在设备付运到客户那儿以后还可以重新编程。 事实上,由于有了可编程逻辑器件,一些设备制造商正在尝试为已经安装在现场的产品增加新功能或者进行升级。 要实现这一点,只需要通过因特网将新的编程文件上载到PLD就可以在系统中创建出新的硬件逻辑。2
发展前景过去几年时间里,可编程逻辑供应商取得了巨大的技术进步,以致PLD被众多设计人员视为是逻辑解决方案的当然之选。 能够实现这一点的重要原因之一是象Xilinx这样的PLD供应商是"无晶圆制造厂"企业,并不直接拥有芯片制造工厂,Xilinx将芯片制造工作外包给IBM Microelectronics 和 UMC这样的主要业务就是制造芯片的合作伙伴。 这一策略使Xilinx可以集中精力设计新产品结构、软件工具和IP核心,同时还可以利用最先进的半导体制造工艺技术。 先进的工艺技术在一系列关键领域为PLD提供了帮助:更快的性能、集成更多功能、降低功耗和成本等。 Xilinx采用先进的0.13um 低K铜金属工艺生产可编程逻辑器件,这也是业界最好的工艺之一。
例如,仅仅数年前,最大规模的FPGA器件也仅仅为数万系统门,工作在40 MHz。 过去的FPGA也相对较贵,当时最先进的FPGA器件大约要150美元。 然而,具有最先进特性的FPGA可提供百万门的逻辑容量、工作在300 MHz,成本低至不到10美元,并且还提供了更高水平的集成特性,如处理器和存储器。
同样重要的是,PLD有越来越多的知识产权(IP)核心库的支持 - 用户可利用这些预定义和预测试的软件模块在PLD内迅速实现系统功能。 IP核心包括从复杂数字信号处理算法和存储器控制器直到总线接口和成熟的软件微处理器在内的一切。 此类IP核心为客户节约了大量时间和费用 - 否则,用户可能需要数月的时间才能实现这些功能,而且还会进一步延迟产品推向市场的时间。3
其它相关编程语言
有关之前所谈到的“PAL”,若要以手工的方式来产生JEDEC档实是过于复杂,所以多半改用电脑程序(也称:计算机程序)来产生,这种程序(程序)称为“逻辑编译器,logic compiler”,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码(也称:源代码)也得用特定的编程语言(也称:程序语言、编程语言)来撰写,此称之为hardware description language(硬件描述语言),简称:HDL。
而且,HDL并非仅有一种,而是有许多种,如ABEL、AHDL、Confluence、CUPL、HDCal、JHDL、Lava、Lola、MyHDL、PALASM、RHDL等都是,但最具知名也最普遍使用的是VHDL与Verilog。
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学