可编程逻辑器件与FPGA简介 可编程逻辑器件(Programmable Logic Device,PLD)是一类半定制的通用性器件,用户可以通过对PLD器件进行编程来实现所需的逻辑功能。与专用集成电路ASIC相比,PLD具有灵活性高、设计周期短、成本低、风险小等优势,因而得到了广泛应用,各项相关技术也迅速发展起来,PLD目前已经成为数字系统设计的重要硬件基础。
FPGA基本结构 目前生产FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等,生产的FPGA品种和型号繁多。尽管这些FPGA的具体结构和性能指标各有特色,但它们都有一个共同之处,即由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块,从而实现不同的设计。 存储器资源(块RAM、分布式RAM); 下面以Xilinx公司的Spartan-II系列以及Altera公司的Cyclone-II系列FPGA为例,介绍FPGA的一般结构。Xilinx公司的Spartan-II系列FPGA器件的基本结构如图2所示。主要包括5个可配置部分:(1)可配置逻辑块(Configurable Logic Blocks,CLBs),用于实现大部分逻辑功能;(2)在CLBs的四周分布着可编程的输入输出块(Input/Output Blocks,IOBs),提供封装引脚与内部逻辑之间的连接接口;(3)丰富的多层互连结构的可编程连线(未画出);(4)片上的随机存取块状RAM(BLOCK RAM);(5)全数字式延迟锁相环(DLL)时钟控制块,与每个全局时钟输入缓冲器相连,该闭环系统确保时钟边沿到达内部触发器与其到达输入引脚同步,有效地消除时钟分配的延迟。 Altera公司FPGA器件Cyclone-II系列的基本结构如图3所示。主要包括:(1)逻辑阵列,由多个逻辑阵列块(Logic Array Blocks,LABs)排列而成,用于实现大部分逻辑功能;(2)在芯片四周分布着可编程的输入输出单元(Input/Output Elements,IOEs),提供封装引脚与内部逻辑之间的连接接口;(3)丰富的多层互连结构的可编程连线(未画出);(4)片上的随机存取块状RAM;(5)锁相环(PLL),用于时钟的锁定与同步、能够实现时钟的倍频和分频;(6)高速的硬件乘法器,有助于实现高性能的DSP功能。 图3 Altera Cyclone-II系列FPGA基本结构(略) 目前绝大部分FPGA都采用查找表(Look Up Table,LUT)技术,如Altera的ACEX、APEX、Cyclone、Stratix系列,Xilinx的Spartan、Virtex系列等。这些FPGA中的最基本逻辑单元都是由LUT和触发器组成的。 FPGA的编程技术 目前,市场上有三种基本的FPGA编程技术:SRAM、反熔丝、Flash。其中,SRAM是迄今为止应用范围最广的架构,主要因为它速度快且具有可重编程能力,而反熔丝FPGA只具有一次可编程(One Time Programmable,OTP)能力。基于Flash的FPGA是FPGA领域比较新的技术,也能提供可重编程功能。基于SRAM的FPGA器件经常带来一些其他的成本,包括:启动PROMS支持安全和保密应用的备用电池等等。基于Flash和反熔丝的FPGA没有这些隐含成本,因此可保证较低的总系统成本。 基于SRAM的FPGA器件 这类产品是基于SRAM结构的可再配置型器件,上电时要将配置数据读入片内SRAM中,配置完成就可进入工作状态。掉电后SRAM中的配置数据丢失,FPGA内部逻辑关系随之消失。这种基于SRAM的FPGA可以反复使用。 反熔丝FPGA 采用反熔丝编程技术的FPGA内部具有反熔丝阵列开关结构,其逻辑功能的定义由专用编程器根据设计实现所给出的数据文件,对其内部的反熔丝阵列进行烧录,从而使器件实现相应的逻辑功能。这种器件的缺点是只能一次性编程;优点是具有高抗干扰性和低功耗,适合于要求高可靠性、高保密性的定型产品。 基于Flash的FPGA 在这类FPGA器件中集成了SRAM和非易失性EEPROM两类存储结构。其中SRAM用于在器件正常工作时对系统进行控制,而EEPROM则用来装载SRAM。由于这类FPGA将EEPROM集成在基于SRAM工艺的现场可编程器件中, 因而可以充分发挥EEPROM的非易失特性和SRAM的重配置性。掉电后,配置信息保存在片内的EEPROM中,因此不需要片外的配置芯片,有助于降低系统成本、提高设计的安全性。
如前所述,目前市场上FPGA的品种和型号相当多,它们的具体结构、可用资源以及性能都各具特色。为了在系统设计中选择合适的FPGA器件,充分发挥器件的能力,设计者必须了解FPGA的各项参数和性能指标。表1列出了与器件选型和实际应用密切相关的参数和指标。
数字系统逻辑功能设计之前的一个重要问题就是FPGA器件的选型,包括厂商的选择以及器件系列和型号的选择。下面介绍FPGA选型的一些原则和建议。 表1:FPGA器件的性能参数与指标(略) 每个FPGA厂商都有自己特有的核心技术和相应的产品。对于继承性产品的开发,尽量使用熟悉并一直使用的FPGA厂商的产品;对于新产品的开发,则可以根据待设计系统的特点和要求,以及各种FPGA器件的特性来初步选择FPGA厂商和产品系列。如表2所示。 表2 :初步选择FPGA厂商和产品系列(略) FPGA型号的选择 选择具体型号的FPGA时,需要考虑的因素较多,包括管脚数量、逻辑资源、片内存储器、功耗、封装形式等等。各种FPGA器件的参数如表3所示。另外,为了保证系统具有较好的可扩展性和可升级性,一般应留出一定的资源余量。根据系统需求估计,使用表3列出的数据即可大致选出可能的FPGA器件。 表3:选择FPGA具体型号(略) FPGA选定之后,还有根据FPGA的特性,为其选择合适的电源芯片、片外存储器芯片、配置信息存储器等多种器件。在系统设计和开发阶段,应该尽量选择升级空间大、管脚兼容的器件。在产品开发后期再考虑将这些外围器件替换为其他的兼容器件以降低成本。
随着微电子技术、EDA技术、以及应用系统需求的发展,FPGA正在逐渐成为数字系统开发的平台,并将在以下方面继续完善和提高: (1) 高集成度、大容量、低成本、低电压、低功耗; |
-
引用 seacock 2006/1/13 10:16:58 发表于2楼的内容
-
-
-
helicopter | 当前状态:离线
总积分:106 2024年可用积分:0
注册时间: 2005-11-26
最后登录时间: 2018-05-11
-
helicopter 发表于 2006/1/14 10:25:22
引用 helicopter 2006/1/14 10:25:22 发表于3楼的内容
-
-
引用 mickey607 2008/4/17 10:50:23 发表于4楼的内容
-
引用 憨憨豆子 2009/6/2 16:41:05 发表于5楼的内容