分析CPLD與FPGA區(qū)別
可編程邏輯器件主要包括FPGA和CPLD,FPGA是Field Programmable Gate Array縮寫,CPLD是Complex Promrammable Logic Device的縮寫。隨著芯片技術的發(fā)展,CPLD和FPGA的概念已經(jīng)模糊在一起,如Altera和Lattice公司把小容量(小于2K左右邏輯單元)非揮發(fā)的可編程器件歸到CPLD里,如Altera的MAXII系列和Lattice的MACH XO系列芯片,把基于SRAM的FPGA和FLASH的儲存單元做到一個芯片里面,以及跟傳統(tǒng)的CPLD不一樣了。那么CPLD與FPGA區(qū)別有哪些方面呢?我們一起來了解一下吧!
本文引用地址:http://www.ex-cimer.com/article/193082.htm1.CPLD與FPGA在結構方面的區(qū)別:
CPLD是粗粒結構,這意味著進出器件的路徑經(jīng)過較少的開關,相應地延遲也小。因此,與等效的FPGA相比,CPLD可工作在更高的頻率,具有更好的性能。CPLD的另一個好處是其軟件編譯快,因為其易于路由的結構使得布放設計任務更加容易執(zhí)行。
FPGA是細粒結構,這意味著每個單元間存在細粒延遲。如果將少量的邏輯緊密排列在一起,F(xiàn)PGA的速度相當快。然而,隨著設計密度的增加,信號不得不通過許多開關,路由延遲也快速增加,從而削弱了整體性能。CPLD的粗粒結構卻能很好地適應這一設計布局的改變。
2.CPLD與FPGA在系統(tǒng)方面的區(qū)別:
盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由于CPLD和FPGA結構上的差異,具有各自的特點:
①CPLD更適合完成各種算法和組合邏輯,F(xiàn)P GA更適合于完成時序邏輯。換句話說,F(xiàn)PGA更適合于觸發(fā)器豐富的結構,而CPLD更適合于觸發(fā)器有限而乘積項豐富的結構。
②CPLD的連續(xù)式布線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式布線結構決定了其延遲的不可預測性。
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,F(xiàn)PGA主要通過改變內部連線的布線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
④FPGA的集成度比CPLD高,具有更復雜的布線結構和邏輯實現(xiàn)。
⑤CPLD比FPGA使用起來更方便。CPLD的編程采用E2PROM或FASTFLASH技術,無需外部存儲器芯片,使用簡單。而FPGA的編程信息需存放在外部存儲器上,使用方法復雜。
⑥CPLD的速度比FPGA快,并且具有較大的時間可預測性。這是由于FPGA是門級編程,并且CLB之間采用分布式互聯(lián),而CPLD是邏輯塊級編程,并且其邏輯塊之間的互聯(lián)是集總式的。
⑦在編程方式上,CPLD主要是基于E2PROM或FLASH存儲器編程,編程次數(shù)可達1萬次,優(yōu)點是系統(tǒng)斷電時編程信息也不丟失。CPLD又可分為在編程器上編程和在系統(tǒng)編程兩類。FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時丟失,每次上電時,需從器件外部將編程數(shù)據(jù)重新寫入SRAM中。其優(yōu)點是可以編程任意次,可在工作中快速編程,從而實現(xiàn)板級和系統(tǒng)級的動態(tài)配置。
⑧CPLD保密性好,F(xiàn)PGA保密性差。
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
3.CPLD與FPGA在設計技巧方面的區(qū)別:
FPGA是細粒器件,其基本單元和路由結構都比CPLD的小。FPGA是“寄存器豐富”型的(即其寄存器與邏輯門的比例高),而CPLD正好相反,它是“邏輯豐富”型的。很多設計人員偏愛CPLD是因為它簡單易用和高速的優(yōu)點。CPLD更適合邏輯密集型應用,如狀態(tài)機和地址解碼器邏輯等。而FPGA則更適用于CPU和DSP等寄存器密集型設計。
小結:許多設計人員都熟悉傳統(tǒng)的CPLD,并喜歡這種結構所固有的靈活性和易用性。CPLD為ASIC和FPGA設計人員提供了一種很好的替代方案,可讓他們以更簡單、方便易用的結構實現(xiàn)其設計。CPLD現(xiàn)已達到數(shù)十萬門的密度,并可提供當今通信設計所需的高性能。大于50萬門的設計仍需ASIC和FPGA,但對于小型設計,CPLD不失為一個高性價比的替代方案。
評論