多语言展示
当前在线:351今日阅读:113今日分享:31

教你如何分辨与区别复杂PLD

可编程逻辑器件主要包括FPGA和CPLD,FPGA是Field Programmable Gate Array缩写,意为现场可编程门阵列;CPLD是Complex Promrammable Logic Device的缩写,意为复杂可编程逻辑器件。随着芯片技术的发展,CPLD和FPGA的概念在某些方面已经模糊,如Altera和Lattice公司把小容量(小于2K左右逻辑单元)非挥发的可编 程器件归到CPLD里;如Altera的MAXII系列和Lattice的MACH XO系列芯片,把基于SRAM的FPGA和FLASH的储存单元做到一个芯片里面。那么CPLD与FPGA区别有哪些?下面将从结构、系统、设计技巧、厂商命名法则等几个方面来为大家阐述和分析CPLD与FPGA的区别,并分享CPLD与FPGA的辨别方法。
方法/步骤
1

结构上的区别 CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。 FPGA是细粒结构,这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局的改变。 FPGA与CPLD通常的分类方法是: 将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。 将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

2

系统上的区别 尽管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大,且集成度越高越明显。

3

设计技巧上的区别 FPGA是细粒器件,其基本单元和路由结构都比CPLD的小。FPGA是“寄存器丰富”型的(即其寄存器与逻辑门的比例高),而CPLD正好相反,它是 “逻辑丰富”型的。很多设计人员偏爱CPLD是因为它简单易用和高速的优点。CPLD更适合逻辑密集型应用,如状态机和地址解码器逻辑等。而FPGA则更 适用于CPU和DSP等寄存器密集型设计。 小结:许多设计人员都熟悉传统的CPLD,并喜欢这种结构所固有的灵活性和易用性。CPLD 为ASIC和FPGA设计人员提供了一种很好的替代方案,可让他们以更简单、方便易用的结构实现其设计。CPLD现已达到数十万门的密度,并可提供当今通 信设计所需的高性能。大于50万门的设计仍需ASIC和FPGA,但对于小型设计,CPLD不失为一个高性价比的替代方案。 简单的来说,CPLD更适合做逻辑,FPGA更适合做时序。

4

如何根据芯片型号来辨别 目前国内使用的主流FPGA和CPLD芯片,主要是Altera和Xilinx两家。 要辨别他们,读出芯片上标称的型号即可,如果对器件熟悉的话,一看型号的前缀就能辨别 1)以Altera公司的片子为例: ALTERA公司的产品一般以EP开头,代表可重复编程。 ①如果型号以EPM********开头,即MAX系列(其中MAX代表阵列矩阵),就是CPLD ②ALTERA公司的FPGA产品系列代码为EP或EPF,典型产品型号含义如下: EPF10K10:FLEX10K系列FPGA,典型逻辑规模是10K有效逻辑门。 EPF10K30E:FLEX10KE系列FPGA,逻辑规模是EPF10K10的3倍。 EPF20K200E:APEX20KE系列FPGA,逻辑规模是EPF10K10的20倍。 EP1K30:ACEX1K系列FPGA,逻辑规模是EPF10K10的3倍。 EP1S30:STRATIX系列FPGA,逻辑规模是EPF10K10的3倍。 如果以EP2C8*******开头,那它就是CycloneII系列FPGA芯片的一种,等等 ③ALTERA公司的FPGA配置器件系列代码为EPC,典型产品型号含义如下: EPC1:为1型FPGA配置器件。(存放配置文件的存储器) 2)Xilinx公司的CPLD和FPGA器件系列 Xilinx公司的产品一般以XC开头,代表Xilinx公司的产品。典型产品型号含义如下: ①xilinx的XC9500系列 —— cpld XC95108-7 PQ 160C:XC9500系列CPLD,逻辑宏单元数108,引脚间延时为7ns,采用PQFP封装,160个引脚,商用。 ②xilinx的SPARTAN系列——fpga XC2064:XC2000系列FPGA,可配置逻辑块(configurable Logic Block,CLB)为64个(只此型号以CLB为特征)。 XC2018:XC2000系列FPGA,典型逻辑规模是有效门1800。 XC3020:XC2000系列FPGA,典型逻辑规模是有效门2000。 XC4002A:XC4000A系列FPGA,典型逻辑规模是2K有效门。 XCS10:Spartan系列FPGA,典型逻辑规模是10K。 XCS30:Spartan系列FPGA,典型逻辑规模是XCS10的3倍。

推荐信息