數字編程是數字電路非常重要的一門課程,FPGA和CPLD是兩個重要的編程工具,本文帶您認識fpga和cpld的聯系和區別。
FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。
CPLD(Complex Programmable Logic Device)復雜可編程邏輯器件,是從PAL和GAL器件發展出來的器件,相對而言規模大,結構復雜,屬于大規模集成電路范圍。是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是借助集成開發軟件平臺,用原理圖、硬件描述語言等方法,生成相應的目標文件,通過下載電纜(“在系統”編程)將代碼傳送到目標芯片中,實現設計的數字系統。
盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由于CPLD和FPGA結構上的差異,具有各自的特點:
1、在編程上FPGA比CPLD具有更大的靈活性?CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的布線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程?
2、CPLD比FPGA使用起來更方便?CPLD的編程采用E2PROM或FASTFLASH技術,無需外部存儲器芯片,使用簡單?而FPGA的編程信息需存放在外部存儲器上,使用方法復雜?
3、CPLD的速度比FPGA快,并且具有較大的時間可預測性?這是由于FPGA是門級編程,并且CLB之間采用分布式互聯,而CPLD是邏輯塊級編程,并且其邏輯塊之間的互聯是集總式的?
4、在編程方式上,CPLD主要是基于E2PROM或FLASH存儲器編程,編程次數可達1萬次,優點是系統斷電時編程信息也不丟失?CPLD又可分為在編程器上編程和在系統編程兩類?FPGA大部分是基于SRAM編程,編程信息在系統斷電時丟失,每次上電時,需從器件外部將編程數據重新寫入SRAM中?其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置?
5、CPLD保密性好,FPGA保密性差?
6、一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯?
7、FPGA的集成度比CPLD高,具有更復雜的布線結構和邏輯實現?
8、CPLD更適合完成各種算法和組合邏輯,FP GA更適合于完成時序邏輯?換句話說,FPGA更適合于觸發器豐富的結構,而CPLD更適合于觸發器有限而乘積項豐富的結構?
9、CPLD的連續式布線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式布線結構決定了其延遲的不可預測性?
-
FPGA
+關注
關注
1630文章
21794瀏覽量
605129 -
cpld
+關注
關注
32文章
1257瀏覽量
169518
發布評論請先 登錄
相關推薦
評論