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

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

3天内不再提示

CPLD和FPGA的区别

FPGA之家 来源:硬件助手 2024-01-23 09:17 次阅读

本文主要介绍CPLDFPGA的区别。

CPLD和FPGA都是由逻辑阵列模块构成的,但是CPLD的LAB基于乘积和宏单元,而FPGA的LAB使用基于LUT的逻辑单元。CPLD的LAB围绕中心全局互连排列,随着器件中逻辑数量的增加,呈指数增长。FPGA的LAB以网格阵列排列,随器件密度线性增长。CPLD互连包括LAB本地可编程阵列及中心可编程互连。FPGA器件除了包括本地互连,用于各个LAB,但是和LAB逻辑分开,器件还包括行列互连,这些互连跨过阵列中的多个LAB,以及整个芯片的长宽。

CPLD

CPLD是基于乘积项技术(Product-Term)、EPPROM或FLASH工艺;直接烧写程序调电后程序不会消失;一般可以擦写几百次,并且一般宏单元在512以下。比如ALTERA的MAX3000/5000/7000/9000和CLASSIC系列)。

CPLD可分为三块结构:可编程逻辑阵列LAB(Logic Array Block,由若干宏单元(LMC,Logic Maro Cell)组成),可编程内部连线(PIA)和I/O控制块(IO Control Block)。

宏单元是CPLD的基本结构,由它来实现基本的逻辑功能。LMC内部主要包括与阵列、或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。

每个宏单元都与GCLK(全局时钟)、OE(输出使能)、GCLR(清零)等控制信号直接相连,并且延时相同。各宏单元之间由固定长度的金属线互连,这样保证逻辑电路的延时固定。

一个宏单元主要包括了LAB的Local Array(逻辑阵列),Product-Term SelectMatrix(乘积项选择矩阵)和一个可编程D触发器组成。其中逻辑阵列的每一个交叉点都可以通过编程实现导通从而实现与逻辑,乘积项选择矩阵可实现或逻辑。这两部分协同工作,就可以实现一个完整的组合逻辑。输出可以选择通过D触发器,也可以对触发器进行旁路。因此CPLD非常适合实现组合逻辑,再配合触发器也能够实现一定的时序逻辑。

I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。

可编程内部连线的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O单元之间提供互连网络。各逻辑宏单元通过可编程连线阵列接收来自输入端的信号,并将宏单元的信号送往目的地。这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。

FPGA

FPGA是基于查找表(Look-Up-Table,LUT)技术、SRAM工艺(可迅速反复地编程);直接烧写程序掉电后程序丢失;理论上擦写100万次以上;一般使用需要外挂EEPROM,可以达到几百万门电路。比如ALTERA的APEX、FLEX、ACEX、STRATIX、CYCLONE等等系列,Xilinx的Spartan、Artix、Kintex、Virtex、UltraScale、UltraScale+等等系列。

FPGA由可编程逻辑功能块(CLB)、输入/输出模块(IOB)及可编程互连资源(PIR)等三种可编程电路和一个SRAM结构的配置存储单元组成。

CLB是实现逻辑功能的基本单元,CLB主要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB主要由查找表LUT构成,查找表是FPGA最根本的逻辑单元。我们设计的逻辑电路最终都是通过EDA工具把所有可能的结果计算出来然后储存在查找表里面。每次根据输入信号查找对应的结果,然后输出就可以了。也就是说FPGA的工作更像是一个RAM,根据不同的输入信号(地址)输出相应的数据。

IOB主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能,主要完成芯片上的逻辑与外部引脚的接口

可编程互连资源(PIR)包括各种长度的连线线段和一些可编程连接开关,通过自动布线实现各种电路的连接,实现FPGA内部CLB之间或IOB之间以及CLB与IOB之间连接起来,构成特定功能的电路。

CPLD FPGA
内部结构 Product-Term Look-Up Table
程序存储 内部EEPROM SRAM,外挂EEPROM
资源类型 组合电路资源丰富 触发器资源丰富
使用场合 组合逻辑 时序逻辑
基本逻辑组成 LAB由宏单元构成 LAB有LE或ALM构成
建立逻辑功能 乘积和 LUT或ALUT
逻辑布局 LAB围绕中心全局互连 LAB网格阵列排列
互连 LAB本地和全局互连 LAB本地和行/列/分段/整片互连
集成度
布线结构 连续式 分段式
引脚延迟 时序延迟是均匀的和可预测的 延迟不可预测
保密性 可加密 一般不能保密
使用灵活性 通过修改具有固定内连电路的逻辑功能来编程(在逻辑块下编程) 通过改变内部连线的布线来编程(在逻辑门下编程,更灵活)

最新工艺的CPLD也是基于SRAM工艺,结构上和资源上越来越和FPGA趋同。主要差异在于:CPLD通过集成片内FLASH实现掉电不丢失数据,FPGA需要外部FLASH加载。

审核编辑:汤梓红

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

    关注

    1628

    文章

    21725

    浏览量

    602914
  • cpld
    +关注

    关注

    32

    文章

    1248

    浏览量

    169322
  • 时钟
    +关注

    关注

    10

    文章

    1733

    浏览量

    131443
  • 触发器
    +关注

    关注

    14

    文章

    2000

    浏览量

    61127

原文标题:FPGA系列之“CPLD和FPGA的区别”

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

收藏 人收藏

    评论

    相关推荐

    新手入门:教你如何分辨与区别复杂PLD

    CPLDFPGA区别有哪些?电子发烧友网编辑跟大家一起分享。本站小编将从结构、系统、设计技巧、厂商命名法则等几个方面来为大家阐述和分析CPLDF
    发表于 11-19 16:39 9248次阅读

    FPGACPLD区别

    FPGACPLD区别 尽管很多人听说过CPLD,但是关于CPLDFPGA之间的
    发表于 09-27 09:49

    CPLDFPGA区别是什么?

    CPLDFPGA区别是什么?
    发表于 07-25 16:26

    FPGACPLD区别

    尽管很多人听说过FPGACPLD,但是关于FPGACPLD之间的区别,了解的人可能不是很多。虽然FP
    发表于 02-21 06:19

    FPGACPLD区别是什么

    FPGACPLD区别是什么?Latch和Register区别在哪?行为描述中Latch如何产生的?
    发表于 09-22 07:55

    cpld fpga 区别

    cpld fpga 区别 系统的比较,与大家共享:尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具
    发表于 01-15 09:58 5616次阅读
    <b class='flag-5'>cpld</b> <b class='flag-5'>fpga</b> <b class='flag-5'>区别</b>

    FPGA/CPLD的设计思想

    FPGACPLD区别,以及设计思路思想
    发表于 02-17 11:20 39次下载

    CPLDFPGA区别

    CPLDFPGA区别,好东西,喜欢的朋友可以下载来学习。
    发表于 02-19 16:59 0次下载

    关于CPLDFPGA区别

    CPLDFPGA都是我们经常会用到的器件。有的说有配置芯片的是FPGA,没有的是CPLD;有的说逻辑资源多的是FPGA,少的是
    发表于 09-18 16:35 5次下载
    关于<b class='flag-5'>CPLD</b>和<b class='flag-5'>FPGA</b>的<b class='flag-5'>区别</b>

    cpldfpga区别,cpldfpga的优缺点

    中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGACPLD区别和优缺点分析。
    发表于 10-24 10:04 4.8w次阅读

    CPLDFPGA两者的区别

    CPLDFPGA都是我们经常会用到的器件。有的说有配置芯片的是FPGA,没有的是CPLD;有的说逻辑资源多的是FPGA,少的是
    发表于 05-24 02:03 5w次阅读
    <b class='flag-5'>CPLD</b>和<b class='flag-5'>FPGA</b>两者的<b class='flag-5'>区别</b>

    CPLDFPGA区别对比概述

    PLD(Programmable Logic Device):可编程逻辑器件,数字集成电路半成品,芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者按照设计要求运用开发工具将这些片内的元件连接起来,此过程称为编程;
    发表于 04-10 08:52 7487次阅读
    <b class='flag-5'>CPLD</b>与<b class='flag-5'>FPGA</b>的<b class='flag-5'>区别</b>对比概述

    CPLDFPGA区别是什么

    可编程逻辑包括 PAL、GAL、PLD 等。通过不断发展,它已经发展成为现在的CPLD/FPGACPLD(复杂可编程逻辑器件)和FPGA(现场可编程门阵列)的功能基本相同,只是实现原
    的头像 发表于 07-03 14:33 9508次阅读
    <b class='flag-5'>CPLD</b>和<b class='flag-5'>FPGA</b>的<b class='flag-5'>区别</b>是什么

    CPLDFPGA区别是什么?有什么用途?

    你知道CPLD吗?它是“复杂可编程逻辑器件”的缩写,它是一种数字IC,允许用户根据需要多次重写和擦除程序。随着CPLD等可编程器件的出现,产品开发变得更快、成本更低。在本文中,将介绍CPLD和PLD(可编程逻辑器件)。
    的头像 发表于 07-06 14:30 5559次阅读

    fpgacpld区别

    FPGA(现场可编程门阵列)和CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,但它们在多个方面存在显著的区别
    的头像 发表于 03-15 14:56 1136次阅读