電子發燒友網核心提示:可編程邏輯器件主要包括FPGA和CPLD,FPGA是Field Programmable Gate Array縮寫,意為現場可編程門陣列;CPLD是Complex Promrammable Logic Device的縮寫,意為復雜可編程邏輯器件。
隨著芯片技術的發展,CPLD和FPGA的概念在某些方面已經模糊,如Altera和Lattice公司把小容量(小于2K左右邏輯單元)非揮發的可編 程器件歸到CPLD里;如Altera的MAXII系列和Lattice的MACH XO系列芯片,把基于SRAM的FPGA和FLASH的儲存單元做到一個芯片里面。那么CPLD與FPGA區別有哪些?電子發燒友網編輯跟大家一起分享。
本站小編將從結構、系統、設計技巧、廠商命名法則等幾個方面來為大家闡述和分析CPLD與FPGA的區別,并分享CPLD與FPGA的辨別方法。
1.結構上的區別
CPLD是粗粒結構,這意味著進出器件的路徑經過較少的開關,相應地延遲也小。因此,與等效的FPGA相比,CPLD可工作在更高的頻率,具有更好的性能。CPLD的另一個好處是其軟件編譯快,因為其易于路由的結構使得布放設計任務更加容易執行。
FPGA是細粒結構,這意味著每個單元間存在細粒延遲。如果將少量的邏輯緊密排列在一起,FPGA的速度相當快。然而,隨著設計密度的增加,信號不得不通過許多開關,路由延遲也快速增加,從而削弱了整體性能。CPLD的粗粒結構卻能很好地適應這一設計布局的改變。
FPGA與CPLD通常的分類方法是:
將以乘積項結構方式構成邏輯行為的器件稱為CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。
將以查表法結構方式構成邏輯行為的器件稱為FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。
2.系統上的區別
盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由于CPLD和FPGA結構上的差異,具有各自的特點:
①CPLD更適合完成各種算法和組合邏輯,FP GA更適合于完成時序邏輯。換句話說,FPGA更適合于觸發器豐富的結構,而CPLD更適合于觸發器有限而乘積項豐富的結構。
②CPLD的連續式布線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式布線結構決定了其延遲的不可預測性。
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的布線來編程;FP GA可在邏輯門下編程,而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大,且集成度越高越明顯。
3.設計技巧上的區別
FPGA是細粒器件,其基本單元和路由結構都比CPLD的小。FPGA是“寄存器豐富”型的(即其寄存器與邏輯門的比例高),而CPLD正好相反,它是 “邏輯豐富”型的。很多設計人員偏愛CPLD是因為它簡單易用和高速的優點。CPLD更適合邏輯密集型應用,如狀態機和地址解碼器邏輯等。而FPGA則更 適用于CPU和DSP等寄存器密集型設計。
小結:許多設計人員都熟悉傳統的CPLD,并喜歡這種結構所固有的靈活性和易用性。CPLD 為ASIC和FPGA設計人員提供了一種很好的替代方案,可讓他們以更簡單、方便易用的結構實現其設計。CPLD現已達到數十萬門的密度,并可提供當今通 信設計所需的高性能。大于50萬門的設計仍需ASIC和FPGA,但對于小型設計,CPLD不失為一個高性價比的替代方案。
簡單的來說,CPLD更適合做邏輯,FPGA更適合做時序。
4.如何根據芯片型號來辨別
目前國內使用的主流FPGA和CPLD芯片,主要是Altera和Xilinx兩家。
要辨別他們,讀出芯片上標稱的型號即可,如果對器件熟悉的話,一看型號的前綴就能辨別
1)以Altera公司的片子為例:
ALTERA公司的產品一般以EP開頭,代表可重復編程。
①如果型號以EPM********開頭,即MAX系列(其中MAX代表陣列矩陣),就是CPLD
②ALTERA公司的FPGA產品系列代碼為EP或EPF,典型產品型號含義如下:
EPF10K10:FLEX10K系列FPGA,典型邏輯規模是10K有效邏輯門。
EPF10K30E:FLEX10KE系列FPGA,邏輯規模是EPF10K10的3倍。
EPF20K200E:APEX20KE系列FPGA,邏輯規模是EPF10K10的20倍。
EP1K30:ACEX1K系列FPGA,邏輯規模是EPF10K10的3倍。
EP1S30:STRATIX系列FPGA,邏輯規模是EPF10K10的3倍。
如果以EP2C8*******開頭,那它就是CycloneII系列FPGA芯片的一種,等等
③ALTERA公司的FPGA配置器件系列代碼為EPC,典型產品型號含義如下:
EPC1:為1型FPGA配置器件。(存放配置文件的存儲器)
2)Xilinx公司的CPLD和FPGA器件系列
Xilinx公司的產品一般以XC開頭,代表Xilinx公司的產品。典型產品型號含義如下:
①xilinx的XC9500系列 —— cpld
XC95108-7 PQ 160C:XC9500系列CPLD,邏輯宏單元數108,引腳間延時為7ns,采用PQFP封裝,160個引腳,商用。
②xilinx的SPARTAN系列——fpga
XC2064:XC2000系列FPGA,可配置邏輯塊(configurable Logic Block,CLB)為64個(只此型號以CLB為特征)。
XC2018:XC2000系列FPGA,典型邏輯規模是有效門1800。
XC3020:XC2000系列FPGA,典型邏輯規模是有效門2000。
XC4002A:XC4000A系列FPGA,典型邏輯規模是2K有效門。
XCS10:Spartan系列FPGA,典型邏輯規模是10K。
XCS30:Spartan系列FPGA,典型邏輯規模是XCS10的3倍。
評論
查看更多