1之間的結構差異。CPLD和FPGA
CPLD是壹種粗粒度結構,意味著進出器件的路徑經過的開關更少,延遲也相應小。因此,與等效的FPGA相比,CPLD可以工作在更高的頻率,性能更好。CPLD的另壹個優點是其快速的軟件編譯,因為其易於布線的結構使得布局設計任務更容易執行。
FPGA是壹個細粒度的結構,這意味著每個單元之間有壹個細粒度的延遲。如果少量的邏輯緊密排列在壹起,FPGA的速度是相當快的。但是,隨著設計密度的增加,信號要經過許多開關,路由延遲也迅速增加,從而削弱了整體性能。而CPLD的粗粒度結構可以很好的適應這種設計布局的變化。
2.2的區別。系統中的CPLD和FPGA:
雖然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存儲器,編程次數可以達到10000次。優點是當系統斷電時,編程信息不會丟失。CPLD可分為兩類:在編程器上編程和在系統中編程。FPGA多基於SRAM編程,系統掉電時編程信息丟失。每次上電時,編程數據都需要從器件外部重新寫入SRAM。它的優點是可以隨時編程,在工作中可以快速編程,從而實現板級和系統級的動態配置。
8 ⑧CPLD安全性好,FPGA安全性差。
⑨壹般來說,CPLD的功耗比FPGA大,集成度越高越明顯。
3.3 .設計技巧的差異。CPLD和FPGA:
FPGA是壹種細粒度的器件,基本單元和布線結構都比CPLD小。FPGA是“寄存器豐富”(即寄存器與邏輯門的比值高),而CPLD正好相反,是“邏輯豐富”。許多設計人員更喜歡CPLD,因為它簡單且速度快。CPLD更適合邏輯密集型應用,如狀態機和地址解碼器邏輯。FPGA更適合CPU、DSP等寄存器密集型設計。
總結:許多設計人員熟悉傳統的CPLD,喜歡這種結構固有的靈活性和易用性。CPLD為ASIC和FPGA設計人員提供了壹個很好的選擇,使他們能夠用更簡單、更方便的結構來實現他們的設計。CPLD現在已經達到了幾十萬門的密度,可以提供當今通信設計所需的高性能。50萬門以上的設計仍然需要ASIC和FPGA,但對於小型設計,CPLD是性價比較高的替代方案。