FPGA简介|结构,组件,应用

在本文中,我们将看到一个称为字段可编程的门阵列或简称FPGA的特殊主题。我们将探索可编程逻辑设备和不同类型的现场可编程设备(FPD)的概念,例如PLA,PAL,CPLD,FPGA。另外,我们将看到典型的FPGA设备的架构及其优势。

介绍

现场可编程的门阵列(FPGA)是数字IC(集成电路),它使硬件设计工程师能够根据其要求对定制的数字逻辑进行编程。“现场编程”一词意味着IC的数字逻辑在其制造(或制造)过程中不是固定的,而是由最终用户(设计师)编程的。

为了提供此可编程性,FPGA由可配置(或可编程)的逻辑块和这些块之间的可配置互连组成。这种可配置的逻辑和FPGA的互连(路由)使它们成为通用且灵活的,但与此同时,与标准单元格的类似口径ASIC相比,它也使它们缓慢而饥饿。

自从将FPGA引入市场以来已经过去了三十多年,在漫长的范围内,他们经历了严重的技术进步,并获得了不断增长的知名度。

有关PLD(可编程逻辑设备)的简短说明

在研究主要主题之前,我想简要讨论可编程逻辑设备的概念。所以,什么是PLD。它是一个包含大量逻辑门和触发器的IC,用户可以配置以实现各种功能。

最简单的可编程逻辑设备由一个和&或门组成,这些门的逻辑及其互连可以通过编程过程配置。

当工程师想要实现自定义逻辑并受到预先配置的集成电路的限制时,PLD特别有用。PLD提供了一种通过硬件配置的力量实现自定义数字电路的方法,而不是使用软件实施它。

不同类型的PLD

基本上,PLD可以分为三种类型。他们是:

  • 简单的可编程逻辑设备(SPLD)
  • 复杂的可编程逻辑设备(CPLD)
  • 现场编程门阵列(FPGA)

简单的可编程逻辑设备进一步分为:

  • 可编程逻辑阵列(PLA)
  • 可编程阵列逻辑(PAL)
  • 通用阵列逻辑(gal)

现在让我们查看有关所有这些PLD的一些基本细节。

可编程逻辑阵列(PLA)

PLA由带有可编程互连的一个和栅极平面组成,或带有可编程互连的或栅极平面。以下是一个简单的四个输入 - 带有和&或门的四个输出PLA。

PLA结构

任何输入可以通过连接水平和垂直互连线连接到任何输入和门。然后,来自不同和门的输出可以应用于具有可编程互连的任何或门。

可编程阵列逻辑(PAL)

PAL与PLA相似,但区别在于,在PAL中,仅在制造过程中固定或栅极平面时,只有栅极和栅极平面。即使PAL的灵活性不如PLA,它们消除了与可编程或门相关的时间延迟。

PAL结构

通用阵列逻辑(gal)

明智的架构,一个gal类似于PAL,但区别在于可编程结构。PALS使用PROM,这是一次性编程,而GAL则使用EEPROM,可以重新编程。

复杂的可编程逻辑设备(CPLD)

从SPLD设备上升,我们获得了CPLD。它是在SPLD设备顶部开发的,以创建更大且复杂的设计。CPLD由一个数字逻辑块(或功能块)组成,该块在内部由PAL或PAL与Macrocell一起组成。

CPLD结构

MacRocell由任何其他电路和信号极性控制组成,以提供真实的信号或其补体。

现场编程门阵列(FPGA)

明智的复杂性,CPLD比SPLD复杂得多。但是FPGA比CPLD更复杂。FPGA的体系结构完全不同,因为它由可编程逻辑单元,可编程互连和可编程IO块组成。

FPGA结构

什么是FPGA?

简称现场可编程的门阵列或FPGA是预制的硅设备,由可重新配置逻辑电路的矩阵组成,并以二维阵列排列的可编程互连。可以配置可编程逻辑单元以执行任何数字功能,并且可编程互连(或开关)提供不同逻辑单元之间的连接。

使用FPGA,您可以通过指定每个逻辑块的逻辑或功能并设置每个可编程开关的连接来实现任何自定义设计。由于设计自定义电路的过程是在现场而不是在FAB中完成的,因此该设备被称为“现场可编程”。

以下图像在非常广泛的意义上显示了FPGA的典型内部结构。

FPGA框图

如您所见,FPGA的核心由可配置的逻辑单元和可编程互连组成。这些被许多可编程的IO块所包围,这些块用于与外部世界交谈。

FPGA的组件

现在让我们仔细研究FPGA的结构。通常,FPGA由三个组成基本组件。他们是:

  • 可编程逻辑单元(或逻辑块) - 负责实现核心逻辑功能。
  • 可编程路由 - 负责连接逻辑块。
  • IO块 - 通过路由连接到逻辑块,并有助于建立外部连接。

逻辑块

基于Xilinx的FPGA中的逻辑块称为可配置的逻辑块或CLB,而基于Altera的FPGA中的相似结构称为逻辑数组块或实验室。让我们使用CLB一词进行此讨论。CLB是FPGA的基本组件,它既提供逻辑和存储功能。基本的逻辑块可以像晶体管,NAND门,多路复用器,查找表(LUT),PAL结构甚至是处理器一样。Xilinx和Altera都使用基于查找表(LUT)逻辑块来实现逻辑和存储功能。

逻辑块可以由单个基本逻辑元素或一组互连的基本逻辑元素组成,其中基本逻辑元素是查找表的组合(又是由SRAM和多路复用器组成)和一个拖鞋。

基本逻辑元素

带有“ n”输入的LUT由2组成n配置位,由SRAM单元实现。使用这2nSRAM位,可以将LUT配置为实现任何逻辑功能。

路由

如果逻辑块提供了计算功能,则可编程路由网络负责互连这些逻辑块。路由网络提供了一个逻辑块与另一个逻辑块之间以及逻辑块和IO块之间的互连,以完全实现自定义电路。

基本上,路由网络包括与可编程开关连接电线,可以使用任何编程技术配置。基本上有两种类型的路由体系结构。他们是:

  • 岛风格的路由(也称为网状路由)
  • 分层路由

在岛风格的路由体系结构中,逻辑块以二维阵列排列,并使用可编程路由网络进行互连。这种类型的路由广泛用于商业FPGA。

岛风格的路线

许多逻辑块仅限于本地连接集,层次结构架构通过将逻辑块分为几个组或群集来利用此功能。如果逻辑块驻留在同一集群中,则层次路由将它们连接到低级别的层次结构。

如果逻辑块驻留在不同的群集中,则接线是在更高级别的层次结构上进行的。

分层路由

FPGA编程技术

我们已经讨论了FPGA的可重编程架构,但现在让我们看到一些最常用的编程技术,这些技术负责此类可重构体系结构。

以下是FPGA中使用的著名编程技术。

  • SRAM
  • EEPROM / FLASH
  • 反装饰

其他技术包括EPROM和可熔的链接,但它们用于CPLD和其他PLD,但不用于FPGA,因此,让我们将讨论限于FPGA相关编程技术。

SRAM

我们知道,有两种类型的半导体RAM称为SRAM和DRAM。SRAM是静态RAM的缩写,而DRAM对于动态RAM来说是短的。SRAM是使用晶体管设计的,术语静态表示在基本SRAM存储器单元上加载的值将保持不变,直到故意更改或删除功率时。

下图显示了一个典型的6晶体管SRAM单元于存储1位。

基本的SRAM单元

这与DRAM相反,DRAM由晶体管和电容器的组合组合。“动态”一词是指在基本DRAM存储器单元中加载的值有效到电容器中的电荷为止。当电容器随着时间的流逝而失去电荷时,必须定期为记忆电池充电以保持电荷。这也被称为清爽。

许多FPGA供应商在基于SRAM的FPGA中实现静态存储单元进行编程。基于SRAM的FPGA用于对逻辑单元和互连进行编程,并且由于其重新编程性和CMOS技术的使用而变得非常占主导地位,CMOS技术以其低动力消耗,高速和更严格的整合而闻名。

SRAM编程

EEPROM / FLASH

基于SRAM的编程技术的紧密替代方法是基于EEPROM或FLASH编程技术。基于Flash的编程的主要优点是其非易失性性质。尽管Flash支持重新编程性,但与SRAM技术相比,可以完成此操作的次数非常小。

反装饰

防配合编程技术是一种旧技术,可生产一次性可编程设备。它们是使用称为Antifuse的链接来实施的,该链接在其未编程状态下具有很高的电阻,可以被视为开路。

编程时,将高压和电流提供给输入。结果,最初以无定形硅的形式(基本上是具有很高电阻的绝缘体)连接两个金属轨道的反用法,通过转换为导电多硅烷。

反使用编程

与其他两种技术相比,Antifuse One占据最少的空间,但仅作为一次性可编程选择。

申请

  • 在引入FPGA的早期,它们通常用于在小数据上实施中小型复杂的状态机和数据处理任务。随着多年来它们的复杂性和能力的提高,它们已纳入了几种汽车,消费者和工业应用中。
  • 最初,FPGA为原型ASIC设计提供了一个简单的选择,因为它们可以轻松地重新配置以测试并尝试在完成主设计之前尝试使用硬件的几种变体。但是,它们作为最终产品的功能,具有相对较短的市场时间和较小的实施成本,它们已被作为某些ASIC的直接竞争对手实施。
  • 具有乘数,复杂的路由和片上RAM的现代FPGA可以促进DSP操作,而DSP操作以前在专用的数字信号处理器上是可能的。
  • 随着FPGA的成本下降,他们获得了嵌入式控制应用程序的严重竞争者。FPGA可用于实现任何微控制器的软核处理器以及自定义IO功能。

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map