|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
, ]) l& O) v: d' \8 s3 p
* w: i+ c, _* t- y% I/ e1、FPGA和ASIC的比较3 D; B" @7 R2 G7 |( q: Z" [0 u
ASIC是英文的ApplicaTIonSpecificIntegratedCircuits缩写,即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。目前用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速度以及编程方式上具有各自的特点。ASIC的特点是面向特定用户的需求,品种多、批量少,要求设计和生产周期短,它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、功耗更低、可*性提高、性能提高、保密性增强、成本降低等优点。
h+ u! ~$ ~. ~9 P( ^! T: q2 C, G
+ u, Z: D4 K, m8 D/ l, M FPGA特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易的由ASIC实现,因此开发风险也大为降低。但ASIC也有它固有的优势,芯片可以获得最优的性能,即面积利用率高、速度快、功耗低,批量成本低,所以在今后一段时间内ASIC仍然会占据高端芯片市场和大批量应用的成熟中低端市场。
9 l) ^5 O4 f* j9 n+ f$ K1 T o- R( K
2、FPGA与CPLD的比较2 h0 o& x. |! A/ W4 `$ T1 X
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
2 N4 C- v/ G! w6 e/ A- x1 {5 L% a- i
1 Z. E7 ]( C: q9 \5 F: x3 _0 n 一是CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序FPGA逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。: A! \, p$ S* u; l
" @, t2 {0 @/ W1 m 二是CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。) H, }9 K$ o; U2 @) Q) E$ x
8 R2 M( t' ~1 {, ]5 W- N
三是在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。$ T4 J: g) w2 K4 g3 i$ \. F8 |! ]
. _4 y8 F, {) e0 S 四是FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。+ V; B. v; ^4 D: h) k/ J/ H+ v
& i( d3 q Q' m8 m2 m
五是CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
; w Q1 g- n9 W: c! {8 b- k: P- i, ^) I7 S5 `6 y
六是PLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
0 a2 A0 T+ l8 t) n( |9 {
9 e7 I+ p8 K9 y) l/ o5 @ 七是在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。& |- V5 t6 O6 B) Y
5 J8 q' d/ r- Z. E# Q X4 ?
八是CPLD保密性好,FPGA保密性差。6 j- v: P8 t" H& I/ M
5 u+ D( W4 y( n0 ~) K( b" d4 Y
九是一般情况下,CPLD的功耗要比FPGA大,且集成 | 6 ]" G! ^5 T- \! Q. l
|
|