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)。
評論
查看更多