關於FPGA與CPLD之間的區別分析

2021-01-13 電子發燒友
關於FPGA與CPLD之間的區別分析

電子發燒友 發表於 2019-04-03 11:08:47

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,就可容易地得到一個模型機,從該模型機,設計者就很直觀地測試其邏輯功能及性能指標。

3.系統比較:

儘管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所帶來的好處。

CPLD結構在一個邏輯路徑上採用1至16個乘積項,因而大型複雜設計的運行速度可以預測。因此,原有設計的運行可以預測,也很可靠,而且修改設計也很容易。CPLD在本質上很靈活、時序簡單、路由性能極好,用戶可以改變他們的設計同時保持引腳輸出不變。與FPGA相比,CPLD的I/O更多,尺寸更小。

如今,通信系統使用很多標準,必須根據客戶的需要配置設備以支持不同的標準。CPLD可讓設備做出相應的調整以支持多種協議,並隨著標準和協議的演變而改變功能。這為系統設計人員帶來很大的方便,因為在標準尚未完全成熟之前他們就可以著手進行硬體設計,然後再修改代碼以滿足最終標準的要求。CPLD的速度和延遲特性比純軟體方案更好,它的NRE費用低於ASIC,更靈活,產品也可以更快入市。CPLD可編程方案的優點如下:

●邏輯和存儲器資源豐富(Cypress Delta39K200的RAM超過480 Kb)

●帶冗餘路由資源的靈活時序模型

●改變引腳輸出很靈活

●可以裝在系統上後重新編程

●I/O數目多

●具有可保證性能的集成存儲器控制邏輯

●提供單片CPLD和可編程PHY方案

由於有這些優點,設計建模成本低,可在設計過程的任一階段添加設計或改變引腳輸出,可以很快上市

CPLD的結構

CPLD是屬於粗粒結構的可編程邏輯器件。它具有豐富的邏輯資源(即邏輯門與寄存器的比例高)和高度靈活的路由資源。CPLD的路由是連接在一起的,而FPGA的路由是分割開的。FPGA可能更靈活,但包括很多跳線,因此速度較CPLD慢。

CPLD以群陣列(array of clusters)的形式排列,由水平和垂直路由通道連接起來。這些路由通道把信號送到器件的引腳上或者傳進來,並且把CPLD內部的邏輯群連接起來。CPLD之所以稱作粗粒,是因為,與路由數量相比,邏輯群要大得到。CPLD的邏輯群比FPGA的基本單元大得多,因此FPGA是細粒的。

CPLD的功能塊

CPLD最基本的單元是宏單元。一個宏單元包含一個寄存器(使用多達16個乘積項作為其輸入)及其它有用特性。

因為每個宏單元用了16個乘積項,因此設計人員可部署大量的組合邏輯而不用增加額外的路徑。這就是為何CPLD被認為是「邏輯豐富」型的。

宏單元以邏輯模塊的形式排列(LB),每個邏輯模塊由16個宏單元組成。宏單元執行一個AND操作,然後一個OR操作以實現組合邏輯。

每個邏輯群有8個邏輯模塊,所有邏輯群都連接到同一個可編程互聯矩陣。

每個群還包含兩個單埠邏輯群存儲器模塊和一個多埠通道存儲器模塊。前者每模塊有8,192b存儲器,後者包含4,096b專用通信存儲器且可配置為單埠、多埠或帶專用控制邏輯的FIFO。

CPLD有什麼好處?

I/O數量多

CPLD的好處之一是在給定的器件密度上可提供更多的I/O數,有時甚至高達70%。

時序模型簡單

CPLD優於其它可編程結構之處在於它具有簡單且可預測的時序模型。這種簡單的時序模型主要應歸功於CPLD的粗粒度特性。

CPLD可在給定的時間內提供較寬的相等狀態,而與路由無關。這一能力是設計成功的關鍵,不但可加速初始設計工作,而且可加快設計調試過程。

粗粒CPLD結構的優點

CPLD是粗粒結構,這意味著進出器件的路徑經過較少的開關,相應地延遲也小。因此,與等效的FPGA相比,CPLD可工作在更高的頻率,具有更好的性能。

CPLD的另一個好處是其軟體編譯快,因為其易於路由的結構使得布放設計任務更加容易執行。

細粒FPGA結構的優點

FPGA是細粒結構,這意味著每個單元間存在細粒延遲。如果將少量的邏輯緊密排列在一起,FPGA的速度相當快。然而,隨著設計密度的增加,信號不得不通過許多開關,路由延遲也快速增加,從而削弱了整體性能。CPLD的粗粒結構卻能很好地適應這一設計布局的改變。

靈活的輸出引腳

CPLD的粗粒結構和時序特性可預測,因此設計人員在設計流程的後期仍可以改變輸出引腳,而時序仍保持不變。

新的CPLD封裝

CPLD有多種密度和封裝類型,包括單晶片自引導方案。自引導方案在單個封裝內集成了FLASH存儲器和CPLD無須外部引導單元,從而可降低設計複雜性並節省板空間。在給定的封裝尺寸內,有更高的器件密度共享引腳輸出。這就為設計人員提供了「放大」設計的便利,而無須更改板上的引腳輸出。

FPGA是一種高密度的可編程邏輯器件,自從Xilinx公司1985年推出第一片FPGA以來,FPGA的集成密度和性能提高很快,其集成密度最高達500萬門/片以上,系統性能可達200MHz。由於FPGA器件集成度高,方便易用,開發和上市周期短,在數字設計和電子生產中得到迅速普及和應用,並一度在高密度的可編程邏輯器件領域中獨佔鰲頭。

CPLD是由 GAL發展起來的 ,其主體結構仍是與或陣列 ,自從 90年代初 Lattice公司高性能的具有在系統可編程ISP(In System Programmable)功能的 CPLD以來 ,CPLD發展迅速。具有 ISP功能的 CPLD器件由於具有同 FPGA器件相似的集成度和易用性 ,在速度上還有一定的優勢 ,使其在可編程邏輯器件技術的競爭中與 FPGA並駕齊驅 ,成為兩支領導可編程器件技術發展的力量之一。

結構

FPGA器件在結構上 ,由邏輯功能塊排列為陣列 ,並由可編程的內部連線連接這些功能塊來

實現一定的邏輯功能

CPLD是將多個可編程陣列邏輯 (PAL)器件集成到一個晶片 ,具有類似 PAL的結構。一般情況下CPLD器件中至少包含三種結構 :可編程邏輯功能塊 (FB);可編程 I/ O單元 ;可編程內部連線集成度

FPGA可以達到比 CPLD更高的集成度 ,同時也具有更複雜的布線結構和邏輯實現適合結構

FPGA更適合於觸發器豐富的結構 ,而 CPLD更適合於觸發器有限而積項豐富的結構編程

CPLD通過修改具有固定內連電路的邏輯功能來編程 ,FPGA主要通過改變內部連線的布線來編程 ;FPGA可在邏輯門下編程 ,而 CPLD是在邏輯塊下編程 ,在編程上 FPGA比 CPLD具有更大的靈活性

功率消耗

CPLD的缺點比較突出。一般情況下 ,CPLD功耗要比 FPGA大 ,且集成度越高越明顯

速度

CPLD優於 FPGA。由於 FPGA是門級編程 ,且 CLB之間是採用分布式互連 ;而 CPLD是邏輯塊級編程 ,且其邏輯塊互連是集總式的。因此 ,CPLD比 FPGA有較高的速度和較大的時間可預測性 ,產品可以給出引腿到引腿的最大延遲時間

編程方式

目前的 CPLD主要是基於E2 PROM或 FLASH存儲器編程 ,編程次數達 1萬次。其優點是在系統斷電後 ,編程信息不丟失。CPLD又可分為在編程器上編程和在系統編程 (ISP) CPLD兩種。 ISP器件的優點是不需要編程器 ,可先將器件裝焊於印製板 ,再經過編程電纜進行編程,編程、調試和維護都很方便

FPGA大部分是基於 SRAM編程 ,其缺點是編程數據信息在系統斷電時丟失 ,每次上電時 ,需從器件的外部存儲器或計算機中將編程數據寫入 SRAM中。其優點是可進行任意次數的編程,並可在工作中快速編程 ,實現板級和系統級的動態配置 ,因此可稱為在線重配置 (ICR:In CircuitReconfigurable)的 PLD或可重配置硬體(RHP:Reconfigurable Hardware Product)。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • fpga/cpld - fpga_電子產品世界
    fpga 文章
  • CPLD、FPGA、DSP的聯繫和區別?
    另外還允許在程序空間和數據空間之間進行傳輸,因為增加了器件的靈活性。其工作原理是接收模擬信號,轉換為0或1的數位訊號,再對數位訊號進行修改、刪除、強化,並在其他系統晶片中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條複雜指令程序,遠遠超過通用微處理器,是數位化電子世界中日益重要的電腦晶片。
  • 用FPGA實現FFT算法
    引言  DFT(Discrete Fourier Transformation)是數位訊號分析與處理如圖形、語音及圖像等領域的重要變換工具,直接計算DFT的計算量與變換區間長度N的平方成正比。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    3 語音識別系統設計 3.1 語音信號的特點 語音信號的頻率成分主要分布在300~3400hz之間,根據採樣定理選擇信號的採樣率為8 khz。語音信號的一個特點在於他的"短時性",有時在一個短時段呈現隨機噪聲的特性,而另一段表現周期信號的特性,或二者兼而有之。
  • 關於Xilinx FPGA如何獲取FPGA的Device DNA
    關於Xilinx FPGA如何獲取FPGA的Device DNA Evening 發表於 2021-01-02 09:44:00 作者:Evening Xilinx每一個FPGA都有一個獨特的ID
  • 基於FPGA高精度浮點運算器的FFT設計與仿真
    關鍵詞 快速傅立葉變換;浮點;蝶形運算;VHDL FFT作為數位訊號處理中的重要的手段之一,主要在數字通信、語音信號處理、圖像處理、功率譜估計、仿真、系統分析、雷達理論、光學、醫學、地震以及數值分析等方面得到廣泛應用。基於FPGA實現FFT,具有軟體編程的靈活性及電路擴展性強等優點。
  • fpga應用領域_fpga應用三個主要方向
    fpga的優勢   1)通信高速接口設計。FPGA可以用來做高速信號處理,一般如果AD採樣率高,數據速率高,這時就需要FPGA對數據進行處理,比如對數據進行抽取濾波,降低數據速率,使信號容易處理,傳輸,存儲。   2)數位訊號處理。包括圖像處理,雷達信號處理,醫學信號處理等。
  • 零基礎學FPGA(七)淺談狀態機
    本文引用地址:http://www.eepw.com.cn/article/267960.htm  關於狀態機呢,想必大家應該都接觸過,通俗的講就是數電裡我們學的狀態轉換圖。狀態機分為兩中類型,一種叫Mealy型,一種叫Moore型。前者就是說時序邏輯的輸出不僅取決於當前的狀態,還取決於輸入,而後者就是時序邏輯的輸出僅僅取決於當前的狀態。下面兩個圖分別表示兩種不同的狀態機。
  • FPGA/CPLD設計小技巧
    你也許並不總能避免這個條件在這些情況下確定你已使用了適當的同步電路來跨越時鐘域不要使用沒有相位關係的多個時鐘再次你也許並不總能避免這個條件相反許多設計都需要這樣在這 些情況下確定你已適當地約束了跨越時鐘域的路徑不要使用內部鎖存器內部鎖存器會混淆時序而且常常會引入另外的時鐘信號內部鎖存器在透明門打開時可以被看成是組合邏輯但在門被鎖存時 可以被看成是同步元件這將會混淆時序分析
  • 基於Spartan-6 FPGA的Sinc3 Filter設計
    fs調製器的時鐘頻率即採樣頻率fs、抽取率M和輸出數據的頻率fdata之間的關係為:        濾波器相關文章:濾波器原理 fpga
  • 如何在FPGA中實現狀態機
    狀 態機是在數量有限的狀態之間進行轉換的邏輯結構。一個狀態機在某個特定的時間點只處於一種狀態。但在一系列觸發器的觸發下,將在不同狀態間進行轉換。本文引用地址:http://www.eepw.com.cn/article/266770.htm  理論上講,狀態機可以分為Moore狀態機和Mealy狀態機兩大類。它們之間的差異僅在於如何生成狀態機的輸出。
  • 基於FPGA的無損圖像壓縮系統設計
    編者按:  摘要:本文簡要介紹了圖像壓縮的重要性和常用的無損圖像壓縮算法,分析了快速高效無損圖像壓縮算法(FELICS)的優勢,隨後詳細分析了該算法的編碼步驟和硬體實現方案,最後公布了基於該方案的FPGA性能指標。
  • 基於fpga二維小波變換核的實時可重構電路
    項目背景及可行性分析本文引用地址:http://www.eepw.com.cn/article/266432.htm  2.1 項目名稱及摘要:  基於fpga二維小波變換核的實時可重構電路  現場可編程門陣列為可進化設計提供了一個理想的模板
  • 賽靈思Verilog(FPGA/CPLD)設計小技巧
    >  • 再次你也許並不總能避免這個條件相反許多設計都需要這樣在這 些情況下確定你已適當地約束了跨越時鐘域的路徑  **不要使用內部鎖存器  • 內部鎖存器會混淆時序而且常常會引入另外的時鐘信號  • 內部鎖存器在透明門打開時可以被看成是組合邏輯但在門被鎖存時 可以被看成是同步元件這將會混淆時序分析
  • 用FPGA實現FFT算法(圖)
    引言  dft(discrete fourier transformation)是數位訊號分析與處理如圖形、語音及圖像等領域的重要變換工具,直接計算dft的計算量與變換區間長度n的平方成正比。
  • OFDM系統中DAGC的應用研究及FPGA實現
    1 DFT輸入功率範圍分析  B3G和4G移動通信系統中採用的OFDM技術以OFDM符號為單位進行調製解調,該類系統中高層的子載波分配機制,可以使各個OFDM符號幅度變化較其他通信系統大得多。因此,OFDM符號在接收端中射頻進行放大後,傳至基帶用DFT進行子載波解調,此時的符號功率往往有著較大的動態範圍。
  • 採用FPGA實現多種類型的數位訊號處理濾波器
    兩種濾波器的最大區別在於有無反饋。對未採用反饋的 FIR 濾波器,在給定的輸入響應下,濾波器的輸出最終會穩定為 0。而對採用反饋的IIR 濾波器,在相同的給定輸入下,輸出不會穩定為 0。FIR 濾波器的設計由於未採用反饋,故天生具有穩定性,因為濾波器的所有極點都與原點重合。IIR 濾波器就沒有這麼幸運。
  • FPGA開發外設子板模塊電路設計詳解
    FPGA以並行運算為主,以硬體描述語言來實現;相比於PC或單片機(無論是馮諾依曼結構還是哈佛結構)的順序操作有很大區別,也造成了FPGA開發入門較難。目前國內有專業的FPGA外協開發廠家,開發展基本電路如下:蜂鳴器電路如圖3.47所示。FM信號由FPGA的I/O口控制。當FM為高電平時,Q1的BE導通,則CE導通,蜂鳴器的5V和GND形成迴路,發出聲音。
  • 聲納圖像動態範圍擴展與FPGA實現
    基於課題組研製的多波束成像聲納原理樣機的研製,分析了數據動態範圍壓縮導致圖像細節丟失的原因及其對成像質量的影響,採用JPL快速平方根近似算法改善了開方運算FPGA實現過程的資源佔用和系統延時。最後,對改進設計方案進行了實驗驗證,通過多波束成像聲納系統的消聲水池實驗證明了本文動態範圍擴展方法的有效性和可行性,系統成像質量改善明顯,達到優化設計的預期目標。
  • 基於FPGA IP核的FFT實現
    這裡從Altera IP核出發,建立了基4算法的512點FFT工程,對不同參數設置造成的誤差問題進行分析,並在EP2C70F896C8器件上進行基於Quartus II的綜合仿真,得到利用FFT IP核的FFT算法高效實現,最後利用Matlab進行的計算機仿真分析證明了工程結果的正確性。