0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详细了解可编程逻辑器件(PLD)

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2022-03-22 12:36 次阅读

FPGA的发展历史

PLD简介

在过去的十年中,可编程逻辑器件(PLD)市场不断增长,对PLD的需求不断增加。具有可编程特性且可编程的芯片称为PLD。PLD也称为现场可编程器件(FPD)。FPD用于实现数字逻辑,用户可以配置集成电路以实现不同的设计。这种集成电路的编程是通过使用EDA工具进行特殊编程来完成的。

市场上推出的第一个可编程芯片是可编程只读存储器(PROM)。PROM有许多地址线和数据线。地址线用作逻辑电路输入,数据线用作逻辑电路输出,因为PROM的结构效率低下,无法用于实现复杂的数字逻辑。20世纪70年代开发的器件是PLA,它具有两级逻辑,用于实现小密度逻辑。在PLA进化之后,可编程逻辑器件发生了真正的进化。之后,SPLD、CPLD和FPGA在20世纪80年代早期发展起来。早期的可编程逻辑器件如图9.1所示。

表9.2 PLD分类

逻辑单元 PAL或者PLA SPLD CLB
密度 几百个逻辑门 几千个逻辑门 少数lac逻辑门
类型 富门逻辑Gate rich logic 门到达逻辑Gate reach logic 触发器丰富逻辑Flip-flop rich logic
应用 小密度FSM 中等门计数FSM 复合FSM
PLD SPLD CPLD FPGA

PLD分类如表9.2所示。

以下是用于理解现场可编程设备的关键术语。

PAL是一种密度相对较小的现场可编程器件(FPD),它具有可编程和平面,然后是固定或平面,称为可编程阵列逻辑(PAL)。可编程逻辑阵列(PLA)是一种密度相对较小的现场可编程器件(FPD),它具有可编程和平面,然后是可编程或平面。PLA结构有两级逻辑,可在全定制芯片上使用。

任何类似PAL或PLA的结构称为简单可编程逻辑器件(SPLD)。SPLD由于具有良好的时序性能,被用于实现小型门计数状态机。

复杂可编程逻辑器件(CPLD)是指在同一芯片上由多个类似于SPLD的模块组成的具有互连逻辑的结构,称为复杂可编程逻辑器件(CPLD)。CPLD也称为mega-PAL、Super-PLA或增强型PLD(EPLD)。在实际场景中,CPLD用于实现中等密度状态机,因为与SPLD相比,CPLD具有更好的定时性能。CPLD结构如图9.2所示。

134269de-a91b-11ec-952b-dac502259ad0.png

图9.2复杂可编程逻辑器件系统框图

135c518c-a91b-11ec-952b-dac502259ad0.png

图9.3基本FPGA架构

现场可编程门阵列(FPGA)是由触发器和逻辑块等更多资源组成的可编程逻辑,用于实现高密度逻辑,被称为现场可编程门阵列(FPGA)。FPGA也称为可编程ASIC,由可配置逻辑块(CLB)、IO块(IOB)和可编程互连组成。现代FPGA甚至包括乘法器、RAMDSP处理器核心。带有关键块、逻辑块、IO块和可编程互连的FPGA如图9.3所示。

互连现场可编程设备中的布线资源称为互连。

可编程开关用于将一条互连线连接到另一条互连线或将逻辑块连接到互连线的开关称为可编程开关。

可配置逻辑块(CLB)可配置用于所需组合和顺序逻辑功能的逻辑块称为CLB。在FPGA上实现逻辑时,逻辑被分解为小密度逻辑块并映射到多个CLB上。

逻辑密度FPGA中每单位面积的逻辑量称为逻辑密度。

逻辑容量映射到单场可编程器件的逻辑量称为逻辑容量。逻辑容量以门阵列中逻辑门的数量的形式给出。逻辑容量可以认为是两个输入与非门或通用门的数量。

现场可编程设备的最大工作频率是时序逻辑性能的度量。对于组合逻辑,设计中的最长路径决定了性能。

结构化ASIC和FPGA设计的比较如表9.3所示。

表9.3结构化ASIC与FPGA的比较

原型样本的时间 4–8周 0周
批量生产总时间 12–15周 8周
供应商NRE/屏蔽成本 10万至20万美元 75000美元
转换的设计成本 25万至30万美元 $0
转换工具的额外成本 10万至20万美元 $0
单位成本 低的 低的
危险性 高的 低的
在系统中进行更改的灵活性 不灵活 灵活的
从原型到生产的设计转换 附加工程 免转换
选择标准 结构化ASIC* FPGA

FPGA分类

现代FPGA被称为可编程ASIC,用于各种应用,包括ASIC SOC设计和原型设计。FPGA编程包括以下类型,本节将对此进行讨论。任何FPGA的主要编程类型有

基于SRAM的FPGA

市场上的大多数FPGA都基于SRAM技术。它们将配置位文件存储在使用锁存器设计的SRAM单元中。由于SRAM是易失性的,因此需要在启动时对其进行配置。有两种编程模式:主模式和从模式。SRAM存储单元如图9.4所示。

1380d5ca-a91b-11ec-952b-dac502259ad0.png

图9.4 SRAM单元

在主模式下,FPGA从外部源读取可配置数据。

在从模式下,FPGA通过使用外部主设备(如处理器)进行配置。外部配置接口可以是JTAG(边界扫描)。

基于FLASH的FPGA

在这种类型的FPGA中,FLASH用于存储配置数据。因此,该FPGA的主要资源是FLASH。因此,这类FPGA的功耗较低,并且对辐射影响的耐受性较差。在基于SRAM的FPGA中,内部FLASH仅在通电期间用于加载配置文件。FLASH中使用的浮栅晶体管如图9.5所示。

139924e0-a91b-11ec-952b-dac502259ad0.png

图9.5 FLASH中的浮栅晶体管

反熔丝FPGA

这些类型的FPGA仅用于编程一次,与前两种类型的FPGA相比,它们有所不同。反熔丝与保险丝相反,最初它们不导电,但可以燃烧以导电。

13ac3a62-a91b-11ec-952b-dac502259ad0.png

图9.6反熔丝结构

一旦对其进行编程,就无法重新编程,因为燃烧的熔丝无法强制进入初始状态。如图9.6所示。

FPGA构建块

以下是FPGA体系结构中的关键结构,本节对此进行了描述。FPGA架构如图9.7所示。

可配置逻辑块(CLB),CLB由查找表(LUT)、多路复用器寄存器组成。基于RAM的LUT用于实现数字逻辑。CLB可编程实现多种逻辑功能。甚至CLB也用于存储数据。

输入-输出块(IOB)该块用于控制设备内部逻辑和IO引脚之间的数据流。每个IO用于支持三态控制的双向数据流。几乎有24种不同的IO标准,其中包括七种不同的特殊IO高性能标准。双数据速率寄存器还具有数字控制阻抗功能。

块RAM(BRAM)用于存储大量数据,以双端口RAM的形式提供。例如,18 Kbit双端口块RAM。BRAM可以由多个块组成,具体取决于设备。

数字时钟管理器(DCM)它们用于时钟管理,并提供完全校准的数字时钟解决方案。它们用于均匀的时钟分布、时钟信号的延迟、对具有均匀时钟偏移的时钟信号进行乘法或除法。

乘法器专用乘法器块用于执行两个“n”位数字的乘法。根据设备的不同,“n”可能会有所不同。如果n=18,则专用块用于执行两个18位数字的乘法。

DSP模块它们是用于实现滤波、数据处理等DSP功能的嵌入式DSP模块。这些模块用于提高FPGA的整体性能,同时为DSP应用程序处理大量数据。

13cf6cf8-a91b-11ec-952b-dac502259ad0.png

图9.7 FPGA架构(源Xilinx)

13e72c4e-a91b-11ec-952b-dac502259ad0.jpg

FPGA设计流程

13f8ebd2-a91b-11ec-952b-dac502259ad0.jpg

FPGA中仿真概念

14116626-a91b-11ec-952b-dac502259ad0.jpg

Verilog复杂逻辑设计指南-奇偶校验生成器和校验器及筒式移位器

144925c0-a91b-11ec-952b-dac502259ad0.png

1470e420-a91b-11ec-952b-dac502259ad0.jpg

Verilog时序电路设计指南

1486cf2e-a91b-11ec-952b-dac502259ad0.jpg

Verilog时序逻辑硬件建模设计(五)异步计数器&总结

1495fe40-a91b-11ec-952b-dac502259ad0.jpg

Verilog时序逻辑硬件建模设计(四)移位寄存器

14aa9f6c-a91b-11ec-952b-dac502259ad0.jpg

Verilog时序逻辑硬件建模设计(三)同步计数器

14bd914e-a91b-11ec-952b-dac502259ad0.jpg

Verilog时序逻辑硬件建模设计(二)同步和异步复位

14daf630-a91b-11ec-952b-dac502259ad0.jpg

Verilog时序逻辑硬件建模设计(一)锁存器D-latch和触发器Flip-Flop

Verilog组合逻辑设计指南

15000736-a91b-11ec-952b-dac502259ad0.jpg

组合逻辑硬件建模设计(二)算术电路

Verilog 里面,always,assign和always@(*)区别

152a03e2-a91b-11ec-952b-dac502259ad0.jpg

组合逻辑硬件建模设计(一)逻辑门

数字硬件建模-重新从另一方面理解Verilog(二)

154f0e58-a91b-11ec-952b-dac502259ad0.jpg

数字硬件建模-从另一方面理解Verilog(一)

数字硬件建模综述

原文标题:FPGA的发展历史

文章出处:【微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1592

    文章

    21209

    浏览量

    592185
  • 寄存器
    +关注

    关注

    30

    文章

    4994

    浏览量

    117422
  • 硬件
    +关注

    关注

    11

    文章

    2913

    浏览量

    64592

原文标题:FPGA的发展历史

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PLD/可编程逻辑器件的入门知识

    PLD比学习单片机要简单的多,有数字电路基础,会使用计算机,就可以进行PLD的开发。不熟悉PLD的朋友,可以先看可编程逻辑器件的发展历程
    发表于 06-20 10:38

    可编程逻辑器件

    可编程逻辑器件到底是干什么用的呢,简单的说,就是通过重新写程序,重新注入到这个器件中达到实现其它的功能。最常见的当属电脑了。电脑本身除了加法,减法和简单的逻辑运算四种。比如要是想实现
    发表于 04-15 10:02

    分享款不错的基于可编程逻辑器件PLD的数字电路设计方案

    分享款不错的基于可编程逻辑器件PLD的数字电路设计方案
    发表于 04-30 06:34

    PLD可编程逻辑器件

    PLD可编程逻辑器件 英文全称为:programmable logic device 即 PLDPLD是做为种通用集成电路产生的,他的
    发表于 07-22 09:05

    可编程逻辑器件在积分式A/D转换器中的应用

    本文通过详细介绍PLD 器件在积分式A/D 转换器数字控制部分的设计,说明可编程逻辑器件PLD)主要是复杂
    发表于 08-29 10:17 28次下载

    第三十二讲 可编程逻辑器件及应用

    第三十二讲 可编程逻辑器件及应用第10章 可编程逻辑器件及应用10.1 概述10.1.1 PLD器件的基本结构10.1.2 PLD
    发表于 03-30 16:37 1336次阅读
    第三十二讲 <b class='flag-5'>可编程逻辑器件</b>及应用

    什么是PLD(可编程逻辑器件)

    什么是PLD(可编程逻辑器件) PLD可编程逻辑器件(Programable Logic Device)的简称,FPGA是现场可编程门阵
    发表于 06-20 10:32 1.4w次阅读
    什么是<b class='flag-5'>PLD</b>(<b class='flag-5'>可编程逻辑器件</b>)

    基于可编程逻辑器件的数字电路设计

    基于可编程逻辑器件的数字电路设计  0 引 言   可编程逻辑器件PLD(Programmable Logic De-vice)是一种数字电路,它可以由用户来进行编程和进行配置,
    发表于 11-16 10:46 1475次阅读
    基于<b class='flag-5'>可编程逻辑器件</b>的数字电路设计

    EDA技术与应用(可编程逻辑器件)

    7.1 可编程逻辑器件的基本原理 7.2 可编程逻辑器件的设计技术 7.3 可编程逻辑器件编程与配置
    发表于 05-23 10:46 142次下载
    EDA技术与应用(<b class='flag-5'>可编程逻辑器件</b>)

    可编程逻辑器件技术_pld技术

    可编程逻辑器件PLD(programmable logic device)是作为一种通用集成电路生产的,其逻辑功能按照用户对器件编程来决定。
    发表于 06-16 22:13
    <b class='flag-5'>可编程逻辑器件</b>技术_<b class='flag-5'>pld</b>技术

    可编程逻辑器件的分类有哪些

    可编程逻辑器件PLD)是20世纪70年代发展起来的一种新型逻辑器件,是目前数字系统设计的主要硬件基础。根据可编程逻辑器件结构、集成度以及
    发表于 06-10 17:52 2.7w次阅读

    PLD可编程逻辑器件的原理详细讲解

    可编程逻辑器件PLD--ProgrammableLogic Device):器件的功能不是固定不变的,而是可根据用户的需要而进行改变,即由编程的方法来确定
    发表于 01-21 17:04 33次下载
    <b class='flag-5'>PLD</b><b class='flag-5'>可编程逻辑器件</b>的原理<b class='flag-5'>详细</b>讲解

    可编程逻辑器件PLD课件下载

    可编程逻辑器件PLD课件下载
    发表于 08-13 10:58 31次下载

    可编程逻辑器件测试方法

    可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑
    的头像 发表于 06-06 15:35 677次阅读
    <b class='flag-5'>可编程逻辑器件</b>测试方法

    可编程逻辑器件测试

    可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑
    发表于 06-06 15:37 414次阅读
    <b class='flag-5'>可编程逻辑器件</b>测试