随锐旗下互动传媒:

ASIC、FPGA/CPLD的区别与发展

http://www.weaseek.com  2008-06-10 14:25:24  来源:搜讯论坛

ASIC、FPGA/CPLD在电子设计领域得到了极大的应用。本文介绍了ASIC、FPGA/CPLD的基本概念、特点、区别及其发展趋势,对如何选择FPGA/CPLD芯片、ASIC设计与FPGA/CPLD设计的区别作出了相关的说明。

1、引言

可编程逻辑器件(Programmable Logic Device,PLD)给数字系统的设计带来了革命性的变化。它的影响丝毫不亚于20世纪70年代单片机的发明和使用, PLD能完成任何数字器件的功能,上至CPU,下至简单的74电路。PLD如同一张白纸,可通过原理图输入法或硬件描述语言,或两者混合自由的设计一个数字系统。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。PLD的这些优点使得PLD技术从20世纪90年代以后得到飞速的发展,成为电子设计领域中最具有活力和发展前途的一项技术。

2、ASIC、FPGA/CPLD的区别

2.1 ASIC定义及设计分类

ASIC(Application Specific Intergrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。目前用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速度以及编程方式上具有各自的特点。ASIC的特点是面向特定用户的需求,品种多、批量少,要求设计和生产周期短,它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。

ASIC 设计主要有全定制(full custom)设计方法和半定制(semi- custom)设计方法。半定制设计又可分为门阵列设计、标准单元设计、可编程逻辑设计等等。全定制方法是完全由设计师根据工艺,以尽可能高的速度和尽可能小的面积以及完全满意的封装、独立地进行芯片设计。这种方法虽然灵活性高,而且可以达到最优的设计性能,但是需要花费大量的时间与人力来进行人工的布局布线,而且一旦需要修改内部设计,将不得不影响到其它部分的布局。所以,它的设计成本相对较高,适合于大批量的ASIC 芯片设计,如存储芯片的设计等等。相比之下,半定制方法是一种基于库元件的约束性设计。约束的主要目的是简化设计、缩短设计周期,并提高芯片的成品率。它更多地利用了EDA 系统来完成布局布线等工作,可以大大地减少设计工程师的工作量,因此它比较适合于小规模设计生产和实验。

2.2 FPGA/CPLD定义及区别

CPLD(复杂逻辑可编程器件)和FPGA(现场可编程门阵列)是80年代中后期出现的,其特点是具有用户可编程的特性。利用CPLD/FPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现系统的集成,从而大大缩短了产品开发、上市的时间,降低了开发成本。此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可像软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。以FPGA为核心的PLD产品是近几年集成电路中发展得最快的产品。随着FPGA性能的高速发展和设计人员自身能力的提高,FPGA将进一步扩大可编程芯片的领地,将复杂专用芯片挤向高端和超复杂应用。IP资源复用理念将得到普遍认同并成为主要设计方式,MCU,DSP,MPU等嵌入式处理器IP将成为FPGA应用的核心。

2.2.1 CPLD定义及特点

CPLD主要是由可编程逻辑宏单元(LMC,Logic Macro Cell)围绕中心的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。到90年代,CPLD发展更为迅速,不仅具有电擦除特性,而且出现了边缘扫描及在线可编程等高级特性。

CPLD可编程方案的优点如下:

逻辑和存储器资源丰富(Cypress De1ta 39K200的RAM超过480 Kb)

带冗余路由资源的灵活时序模型

改变引脚输出很灵活

可以装在系统上后重新编程

I/O单元数目多

具有可保证性能的集成存储器控制逻辑

提供单片CPLD和可编程PHY方案

2.2.2 FPGA定义及特点

FPGA采用了逻辑单元阵列LCA ( Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB ( Configurable Logic Block )、输入输出模块IOB ( Input Output Block )和内部连线(Interconnect)三个部分。可配置逻辑模块是实现用户功能的基本单元,它们通常排列成一个阵列,散布整个芯片;输入输出模块IOB完成芯片上逻辑与外部封装脚的接口,常围绕着阵列排列于芯片四周;内部连线包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路。不同厂家生产的FPGA在可编程逻辑块的规模,内部互连线的结构和采用的可编程元件上存在较大的差异。较常用的有Altera,Xilinx和Actel公司的FPGA。

FPGA的基本特点主要有:

采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片

FPGA可做其它全定制或半定制ASIC电路的中试样片

FPGA内部有丰富的触发器和I/O引脚

FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一

FPGA采用高速CHMOS工艺,功耗低,可以与CMOS,TTL电平兼容

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM,PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。

FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式,主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA,外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

FPGA是80年代中期出现的高密度可编程逻辑器件(PLD)。FPGA器件及其系统软件是开发大规模数字集成电路的最新技术。它利用计算机辅助设计,以电路原理图、VHDL、布尔方程、真值表或状态机等格式,输入设计逻辑,然后经一系列变换,将输入的逻辑转换成适合于FPGA器件结构的图形文件或文本形式.此时不仅可以观察整个设计在器件中实际布线的结果,了解各网络的延时特性,进行人工修改或编辑:从而可利用模拟手段,对设计的输入、输出及任意点信号进行模拟仿真,包括验证设计功能是否正确的功能模拟,以及确定最终设计是否满足相位和延时要求的定时模拟。把经过模拟验证后的设计文件转换成比特流文件或PROM(可编程只读存储器)格式文件,把常规的编程器对EPROM(可擦可编程只读存储器)编程。然后把这EPROM与FPGA器件适当连接,加上(5V)电源。此FPGA器件就可作为大规模专用集成电路使用。用不同的设计文件配置同一块FPGA“白片”,则可实现不同的逻辑功能。FPGA器件可实现所有数字电路功能。目前,器件集成度己经达到了两万门数量级,工作频率可达300MHz以上。一般可在几个小时或几天内完成一个设计,并可随时修改。这加速了产品设计开发的进程,免去了昂贵的ASIC(专用集成电路)器件半导体生产工艺费用及投资风险。

2.2.3 FPGA/CPLD的选择

CPLD是复杂可编程逻辑器件的简称,FPGA是现场可编程门阵列的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/FPGA。目前有多家公司生产CPLD/FPGA,最大的三家是:ALTERA, XILINX,LATTICE。CPLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20-30多个组合逻辑输入。而FPGA的一个LUT只能处理4输入的组合逻辑,因此,CPLD适合用于设计译码等复杂组合逻辑。但FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,CPLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于CPLD。所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。

尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:

·CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。

·CPLD的连续式布线结构决定了它的时序延迟是均匀的、预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

·在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定的内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。

·FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

·CPLD比FPGA使用起来更方便。CPLD的编程采用EEPROM或FAST FLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

·在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类.FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。

·CPLD保密性好,FPGA保密性差。

·一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

2.3 ASIC设计与FPGA/CPLD设计的区别

FPGA 开发流程大致为:选定器件,安装软件,设计输入,代码调试(包括管脚定义、时序定义、时序分析),设计仿真(功能仿真、时序仿真)和下载调试。而ASIC 是为某个客户定制的芯片,与FPGA 相比,有非通用的后端设计费、制掩模费、测试费等,故前期成本较高。在ASIC 设计过程中,往往要用到FPGA 进行原型验证。FPGA 验证是进行ASIC 设计的重要环节,其后,还需要引入ASIC 版本源码,插入IO PAD,DFT,功耗估计和进行其它后端流程。完成FPGA 验证可以说就完成了ASIC 整套流程的50~80%。

在过去的二十年间,ASIC 与FPGA 一直是电子设计的主流技术。在相当长的一段时间内,二者不同的技术特征造就了它们应用于不同的市场:ASIC 被用于大批量的专用产品,以尽可能简化设计、降低制造成本,实现良好的性价比;FPGA 虽单价较高,但由于其可编程的灵活性受小批量应用的青睐,很多时候还被用于ASIC 设计中的原型验证。然而在最近的几年中,原有的平衡逐渐被打破。随着半导体制造技术的进步,硅器件的单位面积制造成本迅速降低,FPGA 厂商不断采用新工艺使得FPGA 的价格不断下降;相反随着设计复杂性的增加,ASIC 的非重复性工程(NRE)费用、最少订购数量以及开发工具套件的费用都在上涨,加之面市时间的压力,对产品设计的快捷性和灵活性提出更高的要求,因此FPGA表现出强于ASIC 的发展势头,这特别反映在新开工设计项目对设计方法的选择上。但是原有FPGA 架构相对于ASIC的固有弱点,如功耗高、速度慢、资源冗余,价格偏贵等,使FPGA 在面对复杂功能设计的要求时还是会感到吃力,因此人们开始考虑通过技术上的融合ASIC 与FPGA 之间寻找一条“中间道路”,它们在某些方面有慢慢靠拢的趋势。

根据Zeidman Consulting 公司的比较结论,在经济萧条时期,由于价格是市场的主要驱动力,产品的批量小,小型企业倾向于利用FPGA,大型企业倾向于使用ASIC,或者将FPGA 转换为ASIC。在经济起飞时期,价格因素的作用减少,所有的企业将大量利用FPGA,只有对较大批量和极低价格的产品的特殊要求下才使用ASIC。FPGA 最本质的特性是可编程性和设计周期短的优势,而这正是ASIC的弱点。两者在价格上的比较要考虑多种因素,但趋势是向有利于FPGA 的方面发展。因为深亚微米工艺的掩模费用更加昂贵,因此NRE 费用急剧上升。一般的ASIC 在0.25μm 工艺线的NRE 费用为10 万美元左右,在0.13μm 时要在100 万美元左右。原因是增大的晶圆和减小的芯片,厂家要求增加订购批量。ASlC 的设计周期越来越长,而FPGA 的设计周期仍然很短,设计者不必担心深亚微米的影响。因此有人认为,ASIC 不久会萎缩到较小的市场份额。随着ASIC 向深亚微米工艺发展,掩模的复杂度提高,逼迫低端的ASIC 必须在FPGA 方面找出自己的出路。

3、ASIC、FPGA/CPLD的发展趋势

我国科技规划指出近期产业化的重点是:以加强集成电路设计为重点,积极支持集成电路设计与整机开发相结合,设计开发市场需求较大的整机产品所需的各种专用集成电路和系统级芯片;积极发展0.25~0.18μm 的深亚微米集成电路技术,扩大集成电路生产加工和封装能力,提高工艺技术水平,扩大产品品种和生产规模;积极鼓励国内外有经济实力和技术实力的企业以及投资机构在国内建立国际先进水平的集成电路芯片生产线,提高我国集成电路生产技术水平。由此可见,芯片设计是我国目前大力扶持和重点发展的产业方向。

目前,ASIC芯片设计除了向更大规模、更高工艺技术的方向发展外,还有两个明显的发展特征:一是向IP内核方向的发展,一是向SOC 的技术方向发展。IP 内核是指满足特定规范,并能在设计中复用的功能模块。在IC 设计中,IP 内核复用可以有效地缩短产品开发周期并降低成本。目前整个IP 产业尚不成熟,行业规范和交流渠道缺乏,限制了IP 产业的发展。IP 内核可以在不同的硬件描述级别实现,依据产品交付的方式,可分为三类IP 内核:软核(Soft cores)、固核(Firm cores)和硬核(Hard cores)。SOC 就是将系统的全部功能模块集成到单一半导体芯片上,包括CPU、I/O 接口、存储器,以及一些重要的模拟集成电路等。功能模块化的系统芯片具有易于增加新功能和缩短上市时间的显著特点,是ASIC设计业当前、乃至可预见未来的主流设计方式。一个芯片如果包含了可编程处理器(Programmable processor)、控制器(Controllers)、信号处理器(Signal processors)和片上存储器(On-chip memory)等部分就是一个SOC 芯片。

随着FPGA性能的高速发展和设计人员自身能力的提高,FPGA将进一步扩大可编程芯片的领地,将复杂专用芯片挤向高端和超复杂应用。目前FPGA的发展趋势主要体现在以下几个方面:

大容量、低电压、低功耗FPGA大容量FPGA是市场发展的焦点。FPGA产业中的两大霸主:Altera和Xilinx在超大容量FPGA上展开了激烈的竞争。Altera推出的APEXⅡEP2A70,其容量为67200个LE(Logic Element,逻辑单元),Xilinx推出的Vitex lI 6000,其容量为33792个slices(一个slices约等于2个LE)。采用深亚微米(DSM)的半导体工艺后,器件在性能提高的同时,价格也在逐步降低。由于便携式应用产品的发展,对FPGA的低电压、低功耗的要求日益迫切。因此,无论那个厂家、哪种类型的产品,都在瞄准这个方向而努力。

系统级高密度FPGA随着生产规模的提高,产品应用成本的下降,FPGA的应用已经不是过去的仅仅适用于系统接口部件的现场集成,而是将它灵活地应用于系统级(包括其核心功能芯片)设计之中。在这样的背景下,国际主要FPGA厂家在系统级高密度FPGA 的技术发展上,主要强调了两个方面:FPGA的IP(Intellec—tual Property,知识产权)硬核和IP软核。当前具有IP内核的系统级FPGA的开发主要体现在两个方面:一方面是FPGA厂商将IP硬核(指完成版图设计的功能单元模块)嵌入到FPGA器件中,另一方面是大力扩充优化的IP软核(指利用HDL语言设计并经过综合验证的功能单元模块),用户可以直接利用这些预定义的、经过测试和验证的IP核资源,有效地完成复杂的片上系统设计。

FPGA和ASIC出现相互融合虽然标准逻辑ASIC芯片尺寸小、功能强、功耗低,但其设计复杂,并且有批量要求。FPGA价格较低廉,能在现场进行编程,但它们体积大、能力有限,而且功耗比ASIC大。正因如此,FPGA和ASIC正在互相融合,取长补短。随着一些ASIC制造商提供具有可编程逻辑的标准单元,FPGA制造商重新对标准逻辑单元发生兴趣。

动态可重构FPGA是指在一定条件下芯片不仅具有在系统重新配置电路功能的特性,而且还具有在系统动态重构电路逻辑的能力。对于数字时序逻辑系统,动态可重构FPGA的意义在于其时序逻辑的发生不是通过调用芯片内不同区域、不同逻辑资源来组合而成,而是通过对FPGA进行局部的或全局的芯片逻辑的动态重构而实现的。动态可重构FPGA在器件编程结构上具有专门的特征,其内部逻辑块和内部连线的改变,可以通过读取不同的S 中的数据来直接实现这样的逻辑重构,时间往往在纳秒级,有助于实现FPGA系统逻辑功能的动态重构。

4、小结

FPGA/CPLD迅速发展大大促进了电子设计技术的进步,并且有利于开发具有自己知识产权的专用集成电路。随着半导体制造工艺的不同提高,FPGA 的集成度将不断提高,制造成本将不断降低,其作为替代ASIC来实现电子系统的前景将日趋光明。

[责任编辑:梧桐]热门关键词: ASIC FPGA CPLD