学习笔记——FPGA与CPLD的联系与区别

  • Post author:
  • Post category:其他




一、概念介绍


1、FPGA:



(1)概念

:FPGA的内部基本结构为门阵列构成静态存储器(SRAM)。该SRAM可构成函数发生器,即查找表(LUT),通过查找表可实现逻辑函数功能。


(2)逻辑单元

:在FPGA器件内部,用于完成用户逻辑的最小单元。

  • 逻辑单元主要由两部分组成:查找表(LUT)、可编程寄存器。
  • 查找表用于完成用户需要的逻辑功能,一般为4输入1输出的组合逻辑。
  • 可编程寄存器可以配置成D触发器、T触发器、JK触发器、SR触发器,每个寄存器包含四个输入信号:时钟输入、时钟使能、复位输入、数据输入。

在这里插入图片描述


(3)工作原理

:当我们设计好一个逻辑电路图之后,FPGA首先会把这个逻辑电路图的所有可能出现的结果都写如RAM当中。这样就形成了一个表。然后每输入一个信号进行逻辑运算就等于输入一个地址进行查表(和表里的事先存入的结果进行对比)找到地址的对应内容之后直接输出即可。


2、CPLD:



(1)概念

:CPLD是复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,是基于乘积项的可编程器件。


(2)基本结构

:CPLD的内部的基本结构是“与或阵列”,任何一个组合逻辑都可以用“与—或”表达式来描述,所以该“与—或阵列”结构有利于实现大量的组合逻辑功能。


(3)工作原理

:CPLD的逻辑框图如下图所示。首先输入信号通过输入电路然后经过与阵列,因为CPLD是基于乘积项的,所以在与阵列和或阵列之间有一个乘积项,然后通过输出电路输出或者是反馈到输入电路。这是CPLD的整个过程。

在这里插入图片描述

  • 此种CPLD的结构主要包括宏单元,可编程的连线(PIA)和I/O控制模块,基本逻辑功能就是由宏单元来实现的。PIA可编程的连线则起到复杂信号传递,连接所有宏单元的作用,I/O控制块负责输入输出的电气特性控制。
  • INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2是全局时钟,清零和输出使能信号,这些信号有专用连线与CPLD中每个宏单元相连。

在这里插入图片描述



二、FPGA与CPLD的联系

  • FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。CPLD和FPGA都能实现逻辑运算。


    – 补充概念

    PAL:PAL是可编程阵列逻辑器件、数字集成电路半成品,芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者按照设计要求运用开发工具将这些片内的元件连接起来,此过程称为编程。

    GAL:通用阵列逻辑,英文全称:generic array logic。 GAL器件是从PAL发现过来的,其采用了EECMOS工艺使得该器件的编程非常方便,另外由于其输出采用了逻辑宏单元结构使得电路的逻辑设计更加灵活。



三、FPGA与CPLD的区别


1、诞生时间

:FPGA晚于CPLD


2、适合的领域不同



FPGA:更适合做运算

CPLD:更适合做控制(内部结构决定)


3、逻辑结构不同:


FPGA:类似于门阵列,拥有较多的触发器和储存器资源,可以说FPGA就是由

CPLD:CPLD用与或阵列实现的,相当于一大块可编程的与或阵列


4、系统结构:


FPGA:有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。

CPLD:是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器组成。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。


5、内部模块不同:


FPGA:其内含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。


6、速度不同


FPGA:速度快

CPLD:速度慢


7、集成度不同


FPGA:集成度高

CPLD:集成度低



参考链接

https://blog.csdn.net/maxwell2ic/article/details/81067430



版权声明:本文为quanqueen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。