FPGA與CPLD的區(qū)别
FPGA和(hé)CPLD都是可(kě)編程ASIC器(qì)件,有(yǒu)很(hěn)多(duō)共同特點,但(dàn)由于CPLD和(hé)FPGA結構上(shàng)的差異,具有(yǒu)各自的特點:
①CPLD更适合完成各種算(suàn)法和(hé)組合邏輯,FP GA更适合于完成時(shí)序邏輯。換句話(huà)說,FPGA更适合于觸發器(qì)豐富的結構,而CPLD更适合于觸發器(qì)有(yǒu)限而乘積項豐富的結構。
②CPLD的連續式布線結構決定了它的時(shí)序延遲是均勻的和(hé)可(kě)預測的,而FPGA的分段式布線結構決定了其延遲的不可(kě)預測性。
③在編程上(shàng)FPGA比CPLD具有(yǒu)更大(dà)的靈活性。CPLD通(tōng)過修改具有(yǒu)固定內(nèi)連電(diàn)路的邏輯功能來(lái)編程,FPGA主要通(tōng)過改變內(nèi)部連線的布線來(lái)編程;FP GA可(kě)在邏輯門(mén)下編程,而CPLD是在邏輯塊下編程。
④FPGA的集成度比CPLD高(gāo),具有(yǒu)更複雜的布線結構和(hé)邏輯實現。
⑤CPLD比FPGA使用起來(lái)更方便。CPLD的編程采用E2PROM或FASTFLASH技(jì)術(shù),無需外部存儲器(qì)芯片,使用簡單。而FPGA的編程信息需存放在外部存儲器(qì)上(shàng),使用方法複雜。
⑥CPLD的速度比FPGA快,并且具有(yǒu)較大(dà)的時(shí)間(jiān)可(kě)預測性。這是由于FPGA是門(mén)級編程,并且CLB之間(jiān)采用分布式互聯,而CPLD是邏輯塊級編程,并且其邏輯塊之間(jiān)的互聯是集總式的。
⑦在編程方式上(shàng),CPLD主要是基于E2PROM或FLASH存儲器(qì)編程,編程次數(shù)可(kě)達1萬次,優點是系統斷電(diàn)時(shí)編程信息也不丢失。CPLD又可(kě)分為(wèi)在編程器(qì)上(shàng)編程和(hé)在系統編程兩類。FPGA大(dà)部分是基于SRAM編程,編程信息在系統斷電(diàn)時(shí)丢失,每次上(shàng)電(diàn)時(shí),需從器(qì)件外部将編程數(shù)據重新寫入SRAM中。其優點是可(kě)以編程任意次,可(kě)在工作(zuò)中快速編程,從而實現闆級和(hé)系統級的動态配置。
⑧CPLD保密性好,FPGA保密性差。
CPLD之所以稱作(zuò)粗粒,是因為(wèi),與路由數(shù)量相比,邏輯群要大(dà)得(de)到。CPLD的邏輯群比FPGA的基本單元大(dà)得(de)多(duō),因此FPGA是細粒的。CPLD的功能塊CPLD最基本的單元是宏單元。一個(gè)宏單元包含一個(gè)寄存器(qì)(使用多(duō)達16個(gè)乘積項作(zuò)為(wèi)其輸入)及其它有(yǒu)用特性。因為(wèi)每個(gè)宏單元用了16個(gè)乘積項,因此設計(jì)人(rén)員可(kě)部署大(dà)量的組合邏輯而不用增加額外的路徑。這就是為(wèi)何CPLD被認為(wèi)是“邏輯豐富”型的。
宏單元以邏輯模塊的形式排列(LB),每個(gè)邏輯模塊由16個(gè)宏單元組成。宏單元執行(xíng)一個(gè)AND操作(zuò),然後一個(gè)OR操作(zuò)以實現組合邏輯。
每個(gè)邏輯群有(yǒu)8個(gè)邏輯模塊,所有(yǒu)邏輯群都連接到同一個(gè)可(kě)編程互聯矩陣。每個(gè)群還(hái)包含兩個(gè)單端口邏輯群存儲器(qì)模塊和(hé)一個(gè)多(duō)端口通(tōng)道(dào)存儲器(qì)模塊。前者每模塊有(yǒu)8,192b存儲器(qì),後者包含4,096b專用通(tōng)信存儲器(qì)且可(kě)配置為(wèi)單端口、多(duō)端口或帶專用控制(zhì)邏輯的FIFO。CPLD有(yǒu)什麽好處?I/O數(shù)量多(duō)CPLD的好處之一是在給定的器(qì)件密度上(shàng)可(kě)提供更多(duō)的I/O數(shù),有(yǒu)時(shí)甚至高(gāo)達70%。時(shí)序模型簡單CPLD優于其它可(kě)編程結構之處在于它具有(yǒu)簡單且可(kě)預測的時(shí)序模型。這種簡單的時(shí)序模型主要應歸功于CPLD的粗粒度特性。CPLD可(kě)在給定的時(shí)間(jiān)內(nèi)提供較寬的相等狀态,而與路由無關。這一能力是設計(jì)成功的關鍵,不但(dàn)可(kě)加速初始設計(jì)工作(zuò),而且可(kě)加快設計(jì)調試過程。粗粒CPLD結構的優點CPLD是粗粒結構,這意味著進出器(qì)件的路徑經過較少(shǎo)的開(kāi)關,相應地延遲也小(xiǎo)。因此,與等效的FPGA相比,CPLD可(kě)工作(zuò)在更高(gāo)的頻率,具有(yǒu)更好的性能。CPLD的另一個(gè)好處是其軟件編譯快,因為(wèi)其易于路由的結構使得(de)布放設計(jì)任務更加容易執行(xíng)。
細粒FPGA結構的優點FPGA是細粒結構,這意味著每個(gè)單元間(jiān)存在細粒延遲。如果将少(shǎo)量的邏輯緊密排列在一起,FPGA的速度相當快。然而,随著設計(jì)密度的增加,信号不得(de)不通(tōng)過許多(duō)開(kāi)關,路由延遲也快速增加,從而削弱了整體(tǐ)性能。CPLD的粗粒結構卻能很(hěn)好地适應這一設計(jì)布局的改變。
靈活的輸出引腳CPLD的粗粒結構和(hé)時(shí)序特性可(kě)預測,因此設計(jì)人(rén)員在設計(jì)流程的後期仍可(kě)以改變輸出引腳,而時(shí)序仍保持不變。新的CPLD封裝CPLD有(yǒu)多(duō)種密度和(hé)封裝類型,包括單芯片自引導方案。自引導方案在單個(gè)封裝內(nèi)集成了FLASH存儲器(qì)和(hé)CPLD,無須外部引導單元,從而可(kě)降低(dī)設計(jì)複雜性并節省闆空(kōng)間(jiān)。在給定的封裝尺寸內(nèi),有(yǒu)更高(gāo)的器(qì)件密度共享引腳輸出。這就為(wèi)設計(jì)人(rén)員提供了“放大(dà)”設計(jì)的便利,而無須更改闆上(shàng)的引腳輸出。