FPGA是CPLD发展的产物之一,可以说是CPLD的进阶版,具体差别如下:
①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 ②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 ③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而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大,且集成度越高越明显。
详情请参考这篇文章http://www.21ic.com/app/eda/201112/101055.htm
CPLD
FPGA
儘管FPGA和CPLD都是可編程ASIC元件,但由於FPGA和CPLD結構上的差異,彼此之間還是存在各自不同的特點:
CPLD適合用來實現各種運算和組合邏輯(combinational logic),FPGA則是適用於實現循序邏輯(sequential logic)。換句話說,FPGA適合於觸發器(flip-flop)較多的結構,而CPLD則適合於觸發器有限而乘積項(product term)較多的結構。
CPLD的時間特性預估比FPGA容易。CPLD的連續式佈線(互聯)結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構使得其時間延遲的預測變的困難。同樣的理由也造成CPLD的速度比FPGA快,
在編程上FPGA比CPLD具有更大的靈活性。CPLD透過修改具有固定內部連線電路的邏輯功能來編程,而FPGA主要是透過改變內部電路佈線來編程,也就是說:FPGA可在邏輯閘下編程,而CPLD是在邏輯塊下編程。
FPGA的集成度比CPLD高,適合較複雜的佈線結構和邏輯實現,所以FPGA元間的可編程邏輯閘數比起CPLD大許多。
CPLD使用上比FPGA方便。CPLD的編程採用E2PROM或Flash技術,使用時外部不需要另外的記憶儲存元件,而FPGA的編程採用SRAM技術,所以使用時外部需要搭配記憶儲存元件存放編程訊息(netlist file),使用方法較複雜。 這特性進一步造成FPGA的保密特性較CPLD差;因為FPGA的電路編程資訊,另外儲存在外部的記憶元件中(EPROM / Flash),電路資料容易被他人讀取,電路容易被複製。
在編程方式上,CPLD主要是基於E2PROM或Flash儲存編程,可編程次數大於1萬次,優點是系統斷電時,編程訊息不會消失。FPGA大部分是基於SRAM編程,編程訊息會在系統斷電時消失,所以每次上電時系統都要重新將編程訊息從外部記憶裝置讀入FPGA中的SRAM,其優點是可編程次數不限,並且在開發過程中可以很方便的隨時更改編程。
一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
隨著製程與電路設計技術的進步,實踐可編程元件的技術將逐漸整合CPLD與FPGA彼此所長,整合Lookup Table與Product Term技術而成。
MAX、Cyclone系列device的邏輯基本單元是Logic Element (LE),以Look-Up Table (LUT)為基礎。Stratix系列device的邏輯基本單元是Adaptive Logic Module (ALM),對於有組合邏輯的設計有較好的performance。由以上可知CPLD和FPGA各有所長,也非誰取代誰,各有適用之處,選擇時依照需要做哪種ASIC來選擇驗證工具是CPLD還是FPGA即可以上
MAX、Cyclone系列device的邏輯基本單元是Logic Element (LE),以Look-Up Table (LUT)為基礎。
Stratix系列device的邏輯基本單元是Adaptive Logic Module (ALM),對於有組合邏輯的設計有較好的performance。
由以上可知CPLD和FPGA各有所長,也非誰取代誰,各有適用之處,選擇時依照需要做哪種ASIC來選擇驗證工具是CPLD還是FPGA即可
以上