找回密码
 注册
关于网站域名变更的通知
查看: 284|回复: 2
打印 上一主题 下一主题

CPLD和FPGA结构上的相同点和不同点

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2021-12-14 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    FPGAcpld都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
    4 w% c8 v. A% i% j①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。; f8 a' s" d' y
    ②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。: `" t& m5 X- f; C- Q. Z& D4 d
    % W9 t9 @% D; S# q3 {$ F. M: [
    ③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而CPLD是在逻辑块下编程。
      e4 R) i* ~: I3 o6 S8 r; |( ~" u5 ^3 I# m1 |- N" M
    ④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
    ( R3 z# X8 K. F/ X, B3 x( }: M
    5 H3 A) a. X) M- g: A+ ], X⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。8 Q) n* o& {  D5 l7 d; \. f# D6 Z9 H

    + g  C4 `4 F0 N) A/ t$ C; Z" N⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
    % f  d& [* H+ B6 T( }) A
    $ x( x! W' P5 f! s' p# e⑦ 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程 器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优 点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
    - O0 @: l1 U* T- _! N. P( a, m0 \+ l5 Q3 v: z6 P
    ⑧CPLD保密性好,FPGA保密性差。
    $ Q# p2 o1 A* T% o1 t% S2 j: \( j5 i7 n1 y% h2 @8 c
    ⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
    7 l$ j8 t" K0 K# M1 z; Y  A! H, a随 著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到 CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度 高达数十万门的CPLD所带来的好处。2 [. Z; n& K, t5 h: l: s
    CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。因此,原有设计 的运行可以预测,也很可靠,而且修改设计也很容易。CPLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。与 FPGA相比,CPLD的I/O更多,尺寸更小。
    3 N/ w% ^6 \/ C' X" m6 F如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。CPLD可让设备做 出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以著手进行硬件设 计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低於ASIC,更灵活,产品也可以更快入市。 CPLD可编程方案的优点如下:4 L8 O1 E/ |9 d" r6 Q, I
    ●逻辑和存储器资源丰富(Cypress Delta39K200的RAM超过480 Kb)
    % t6 a* H- ~0 b7 c* ~●带冗余路由资源的灵活时序模型; @+ l+ p0 J- {& C* ?. G
    ●改变引脚输出很灵活
      S% a; d  a4 g# B  {●可以装在系统上后重新编程: w0 H1 J5 p7 g' \* Q4 v( F
    ●I/O数目多& B! y+ n9 `% {& ?6 z1 W
    ●具有可保证性能的集成存储器控制逻辑& p8 z5 m" \8 `) g/ U( I% D1 B
    ●提供单片CPLD和可编程PHY方案* j2 U+ i8 h% d5 F/ _& {
    由于有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市8 Z8 U5 {1 k- p+ G; v$ c# u
    CPLD的结构
    / v& J7 f8 M3 ~* n$ B4 C7 N4 ^CPLD是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的。FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。
    4 Q5 v  B" ?! ?0 uCPLD以群阵列(array of clusters)的形式排列,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。
    7 ^1 v7 R, Y$ u, [: sCPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。
    / @' J! ^! d0 G7 F9 d, ]CPLD的功能块8 ]8 @2 V7 v4 O" K9 C, l
    CPLD最基本的单元是宏单元。一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。) K' I' e1 `% x
    因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。这就是为何CPLD被认为是“逻辑丰富”型的。* p( `0 q9 W9 D' Y) s

    7 \& W2 L# G+ T; J4 W宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成。宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。
    . F* ?4 s2 I7 S* L6 o, A% [; d7 X$ ]3 t
    每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。- ?  y! j. g) {9 S
    每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFO。# r2 K( X: R  H$ i- b3 s4 y6 I9 C$ s! k/ `
    CPLD有什麽好处?
    5 h8 k( V: o  }' d4 c" [) ^I/O数量多
    & K8 r9 G4 K( X* d$ j$ v2 xCPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。
    % N5 ~! K" F$ H* G: ^" y8 {时序模型简单7 i8 w0 `& o* R0 M2 p
    CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模型主要应归功于CPLD的粗粒度特性。
    " W8 k( K) k# V8 L' v% F7 L8 Y* PCPLD可在给定的时间内提供较宽的相等状态,而与路由无关。这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。
    : C/ P+ c1 Z3 V/ \+ G- e+ D粗粒CPLD结构的优点; _5 I0 L/ @) i4 i+ L5 ~9 {4 P
    CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。+ m# p* Z  n% W9 L5 _7 E( C6 O
    CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。# ?6 F' s7 q9 K1 P7 P) \8 C
    细粒FPGA结构的优点
    " K" l# A* a  F0 H. LFPGA是细粒结构,这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局的改变。. a: r* w3 O0 d6 y8 G: P" C

    ) U( N8 ^& J, X* W6 ^灵活的输出引脚
    5 R8 |0 G9 ]8 Z4 cCPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。
    7 x) w4 q3 O  t) ?$ R7 R# |新的CPLD封装8 b. s! n$ O  x6 V6 g3 Y. ^
    CPLD 有多种密度和封装类型,包括单芯片自引导方案。自引导方案在单个封装内集成了FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省 板空间。在给定的封装尺寸内,有更高的器件密度共享引脚输出。这就为设计人员提供了“放大”设计的便利,而无须更改板上的引脚输出。
    7 I. F" v1 B6 p6 N
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2021-12-14 11:28 | 只看该作者
    FPGA与CPLD(Complex Programmable Logic Device)相比,两者都包括了一些相对大数量的可编程逻辑单元。但是两者有明显差别:在逻辑门的集成度上,CPLD的密度在几千到几万个逻辑单元之间,而FPGA通常是几万到几百万;在系统结构上,CPLD由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器,这样缺乏编辑的灵活性,但对逻辑间的延时却是可以预计,而FPGA却是拥有很多的连接单元,可以更加灵活的编辑设计,结构却更复杂的多;在内部嵌入模块上,CPLD一般没有内置模块,而FPGA内含有高层次的内置模块(如PLL,存储器模块,DSP模块);CPLD采用非易失性的Flash,EEPROM设计,掉电后,芯片内的数据也不会丢失,上电后立即可以运行,而FPGA是基于易失性的SRAM结构设计,需要外部配置ROM。根据两者的特变,CPLD偏向于简单的控制通道应用以及组合逻辑,而FPGA偏向于较复杂且高速的控制通道应用以及数据处理。
  • TA的每日心情
    开心
    2022-1-21 15:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2021-12-14 11:28 | 只看该作者
    cpld和fpga的主要区别是他们的系统结构。cpld是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而fpga却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。 cpld和fpga另外一个区别是大多数的fpga含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的fpga支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些fpga可以让设备的一部分重新编辑而其他部分继续正常运行。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-26 07:42 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表