发信人: ireal (羽絮), 信区: Circuit 标 题: CPLD和FPGA的区别(推荐)(转贴) 发信站: BBS 水木清华站 (Fri Jun 11 19:45:34 2004), 站内 一、用FPGA,还是用CPLD? Michael T. Moore,Cypress半导体公司高级应用工程师 随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既 灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到CPLD容易使用、时 序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA 和ASIC。现在,设计人员可以体会到密度高达数十万门的CPLD所带来的好处。 CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测 。因此,原有设计的运行可以预测,也很可靠,而且修改设计也很容易。CPLD在本质上 很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。 与FPGA相比,CPLD的I/O更多,尺寸更小。 如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。CPLD 可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为 系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以著手进行硬件 设计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更 好,它的NRE费用低於ASIC,更灵活,产品也可以更快入市。CPLD可编程方案的优点如下 : 邏輯和存儲器資源豐富(Cypress Delta39K200的RAM超過480 Kb) 帶冗余路由資源的靈活時序模型 改變引腳輸出很靈活 可以裝在系統上後重新編程 I/O數目多 具有可保証性能的集成存儲器控制邏輯 提供單片CPLD和可編程PHY方案 由於有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出 ,可以很快上市。 CPLD与FPGA有何区别? CPLD的密度范围很宽,可以用於最简单的逻辑设计,也可以用於很复杂的设计。可以用 它把逻辑、高性能多端口和FIFO存储器,以及用于要求严格的通信用SERDES集成在一起 。 虽然CPLD与FPGA有许多共同之处,但两者有著本质的区别。就像FPGA一样,设计人员也 应当了解所用的CPLD结构,以便用最少的资源实现最好的性能。 本文以目前世界上最大的CPLD系列Cypress Delta39KTM系列高密度CPLD为例,介绍CPLD 的结构。 CPLD的结构 CPLD是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的比 例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的。 FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。 CPLD以群阵列(array of clusters)的形式排列,由水平和垂直路由通道连接起来。这 些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。 CPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。CPLD的逻辑群比FP GA的基本单元大得多,因此FPGA是细粒的。 CPLD的功能块 CPLD最基本的单元是宏单元(见图1的左侧)。一个宏单元包含一个寄存器(使用多达16个 乘积项作为其输入)及其它有用特性。 因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外 的路径。这就是为何CPLD被认为是“逻辑丰富”型的。 宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成(见图1中间)。宏单 元执行一个AND操作,然后一个OR操作以实现组合逻辑。 每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵(见图1)。 图1 宏单元、逻辑模块和逻辑群结构 每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。前者每模块 有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用 控制逻辑的FIFO。 CPLD有什麽好处? I/O数量多 CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。 时序模型简单 CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模 型主要应归功于CPLD的粗粒度特性。 图2 带路由通道的CPLD结构-----------(注意放大看清图片可通过另存后打开方法实 现) 图2是一个组合tPD的路径(tPD是指一个逻辑途径上引脚到引脚之间的传输延迟)。CPLD可 在给定的时间内提供较宽的相等状态,而与路由无关。这一能力是设计成功的关键,不 但可加速初始设计工作,而且可加快设计调试过程。 粗粒CPLD结构的优点 CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此, 与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。 CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易 执行。 细粒FPGA结构的优点 FPGA是细粒结构,这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一 起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由 延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局 的改变。 灵活的输出引脚 CPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引 脚,而时序仍保持不变。 CPLD中的嵌入式存储器 CPLD内置冗余高速通信存储器,其集成的FIFO和双端口控制逻辑可确保高速运行。 这使得用户的设计仅需较少的逻辑资源就可获得较高的性能。 有了集成的FIFO控制逻辑,用户就无须手工创建逻辑。它还节省了设计人员的编程 资源。 例如,CPLD的真正双端口RAM包含专用仲裁逻辑。当地址冲突发生时,这种逻辑就可 提供仲裁功能,无须从可编程门创建仲裁逻辑。CPLD还集成了带标识逻辑的FIFO。 Cypress Delta39K具有5倍于同样密度FPGA的存储器容量: CPLD FPGA Device RAM RAM Device 50K 120kb 64kb 50Kb 100K 240kb 80kb 100Kb 200K 480kb 112kb 200K 对于那些需要大存储器的设计,较低密度的CPLD就可满足要求,成本也相应较低。这显 然在成本和功耗方面是一大优势。 为什么CPLD和FPGA需要不同的逻辑设计技巧? FPGA是细粒器件,其基本单元和路由结构都比CPLD的小。FPGA是“寄存器丰富”型的(即 其寄存器与逻辑门的比例高),而CPLD正好相反,它是“逻辑丰富”型的。 很多设计人员偏爱CPLD是因为它简单易用和高速的优点。CPLD更适合逻辑密集型应用, 如状态机和地址解码器逻辑等。而FPGA则更适用于CPU和DSP等寄存器密集型设计。 新的CPLD封装 CPLD有多种密度和封装类型,包括单芯片自引导方案。自引导方案在单个封装内集成了 FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省板空间。在给定 的封装尺寸内,有更高的器件密度共享引脚输出。这就为设计人员提供了“放大”设计 的便利,而无须更改板上的引脚输出。 CPLD的功耗 与同样密度的FPGA相比,CPLD的待机功耗更低。 CPLD FPGA 器件 待機電流(在Vcc 為1.8V時) 50K 300μA 200mA 100K 600μA 200mA 200K 1.25mA 300mA CPLD特别适合那些要求低功耗和低温度的电池供电应用,像手持设备。 CPLD设计实例 本设计在UMTS基站的预失真模块中采用Delta39K CPLD。 这是一种存储器密集型的应用,因此Delta 39K特别合适。客户比较钟爱Cypress CPLD的 存储器和逻辑的比例,以及存储器的速度。集成的存储器控制逻辑可确保存储器高速运 行,这绝对是Delta39K的一大优势。选择Delta39K的其它因素还包括CPLD结构的简单且 可预测的时序模型,以及其多种可支持工业温度范围的型号。 图3 采用CPLD的基站设计实例 CPLD和PSI可编程PHY器件 集成的可编程PHY现已可用,这是Cypress可编程串行接口(PSITM)器件的一种。Cypress 的PSI器件集成了可编程逻辑和串行接口,是一种具有可变数据速率的灵活方案。它还符 合Bellcore抖动兼容性等多个标准,而且集成了在每个通道上带有CDR的8/10B编解码功 能。 高速可编程PHY尤其适合典型线卡应用中的端口和背板方案。SERDES、CDR和可编程逻辑 的有机集成可让用户快速地创建定制方案,并集中在接口的并行方面。它可支持逻辑和 PHY的软件仿真。 图4 高速PSI结构 频率轻快的可编程PHY特别适于背板应用,可支持多个标准,如千兆以太网、Fibre Cha nnel、SMPTE和HDTV等。“频率轻快”的PSI在单个芯片上混合了从200 Mbps到12 Gbps的 本文所描述的布局规划技巧同样适用于常规的CPLD设计和可编程PHY。可编程PHY可能是 最基本的数据通信器件,可实现用户逻辑和灵活串行接口的无缝集成。 小结 许多设计人员都熟悉传统的PLD,并喜欢这种结构所固有的灵活性和易用性。CPLD为ASI C和FPGA设计人员提供了一种很好的替代方案,可让他们以更简单、方便易用的结构实现 其设计。CPLD现已达到数十万门的密度,并可提供当今通信设计所需的高性能。大于50 万门的设计仍需ASIC和FPGA,但对于小型设计,CPLD不失为一个高性价比的替代方案。 二、简述FPGA与CPLD在硬件结构上的区别? 系统的比较,与大家共享: 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 ②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦ 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程 器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优 点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
⑧CPLD保密性好,FPGA保密性差。
⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。 随 著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到 CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度 高达数十万门的CPLD所带来的好处。 CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。因此,原有设计 的运行可以预测,也很可靠,而且修改设计也很容易。CPLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。与 FPGA相比,CPLD的I/O更多,尺寸更小。 如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。CPLD可让设备做 出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以著手进行硬件设 计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低於ASIC,更灵活,产品也可以更快入市。 CPLD可编程方案的优点如下: ●逻辑和存储器资源丰富(Cypress Delta39K200的RAM超过480 Kb) ●带冗余路由资源的灵活时序模型 ●改变引脚输出很灵活 ●可以装在系统上后重新编程 ●I/O数目多 ●具有可保证性能的集成存储器控制逻辑 ●提供单片CPLD和可编程PHY方案 由于有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市 CPLD的结构 CPLD是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的。FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。 CPLD以群阵列(array of clusters)的形式排列,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。 CPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。 CPLD的功能块 CPLD最基本的单元是宏单元。一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。 因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。这就是为何CPLD被认为是“逻辑丰富”型的。
宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成。宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。
每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。 每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFO。 CPLD有什麽好处? I/O数量多 CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。 时序模型简单
CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模型主要应归功于CPLD的粗粒度特性。 CPLD可在给定的时间内提供较宽的相等状态,而与路由无关。这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。 粗粒CPLD结构的优点 CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。 CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。 细粒FPGA结构的优点 FPGA是细粒结构,这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局的改变。
灵活的输出引脚
CPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。 新的CPLD封装 CPLD 有多种密度和封装类型,包括单芯片自引导方案。自引导方案在单个封装内集成了FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省 板空间。在给定的封装尺寸内,有更高的器件密度共享引脚输出。这就为设计人员提供了“放大”设计的便利,而无须更改板上的引脚输出。 |
|
来自: JennyskySharry > 《我的图书馆》