當前位置:編程學習大全網 - 編程語言 - FPGA和CPLD的區別

FPGA和CPLD的區別

FPGA與CPLD的概念及其區別

壹、FPGA與CPLD的基本概念

1.CPLD

CPLD主要是由可編程邏輯宏單元(LMC,Logic Macro Cell)圍繞中心的可編程互連矩陣單元組成,其中LMC邏輯結構較復雜,並具有復雜的I/O單元互連結構,可由用戶根據需要生成特定的電路結構,完成壹定的功能。由於 CPLD內部采用固定長度的金屬線進行各邏輯塊的互連,所以設計的邏輯電路具有時間可預測性,避免了分段式互連結構時序不完全預測的缺點。到90年代,CPLD發展更為迅速,不僅具有電擦除特性,而且出現了邊緣掃描及在線可編程等高級特性。較常用的有Xilinx公司的EPLD和Altera公司的CPLD。

2. FPGA

FPGA通常包含三類可編程資源:可編程邏輯功能塊、可編程I/O塊和可編程互連。可編程邏輯功能塊是實現用戶功能的基本單元,它們通常排列成壹個陣列,散布於整個芯片;可編程I/O塊完成芯片上邏輯與外部封裝腳的接口,常圍繞著陣列排列於芯片四周;可編程內部互連包括各種長度的連線線段和壹些可編程連接開關,它們將各個可編程邏輯塊或I/O塊連接起來,FPGA在可編程邏輯塊的規模,內部互連線的結構和采用的可編程元件上存在較大的差異。較常用的有Altera、Xinlinx和Actel公司的FPGA。FPGA壹 般用於邏輯仿真。電路設計工程師設計壹個電路首先要確定線路,然後進行軟件模擬及優化,以確認所設計電路的功能及性能。然而隨著電路規模的不斷增大,工作 頻率的不斷提高,將會給電路引入許多分布參數的影響,而這些影響用軟件模擬的方法較難反映出來,所以有必要做硬件仿真。FPGA就可以實現硬件仿真以做成模型機。將軟件模擬後的線路經壹定處理後下載到FPGA,就可容易地得到壹個模型機,從該模型機,設計者就很直觀地測試其邏輯功能及性能指標。

二、FPGA與CPLD區別

盡管FPGA和CPLD都是可編程ASIC器件,有很多***同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:

①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大,且集成度越高越明顯。

隨著復雜可編程邏輯器件(CPLD)密度的提高,數字器件設計人員在進行大型設計時,既靈活又容易,而且產品可以很快進入市常許多設計人員已經感受到 CPLD容易使用。時序可預測和速度高等優點,然而,在過去由於受到CPLD密度的限制,他們只好轉向FPGA和ASIC。現在,設計人員可以體會到密度 高達數十萬門的CPLD所帶來的好處。

  • 上一篇:用C++編寫:為訓練小學生的算術能力,現請妳幫忙設計壹個100以內的隨機出題程序,每次運行生成100道題。
  • 下一篇:有哪些口碑很好的樂高產品值得推薦?
  • copyright 2024編程學習大全網