1.pld/fpga/cpld
pld(programmable logic device):可程式設計邏輯器件,數字積體電路半成品,晶元上按照一定的排列方式整合了大量的門和觸發器等基本邏輯元件,使用者按照設計要求運用開發工具將這些片內的元件連線起來,此過程稱為程式設計;
fpga:基於查詢表技術,要外掛程式配置用的eeprom的pld產品;由邏輯功能塊排列為陣列,並由可程式設計的內部連線連線這些功能塊。
cpld(複雜可程式設計邏輯器件 complex programmable logic device):基於乘積項技術,不需要外掛程式配置用的pld產品。由可程式設計的與門,或門陣列以及巨集單元構成。與門,或門陣列可以重新程式設計,實現多種邏輯功能。巨集單元則可以實現組合,時序邏輯功能模組。
2.cpld與fpga的結構
cpld乙個基本單元(巨集單元)就可以分解十幾個甚至20,30多個組合邏輯輸入,而fpga的乙個基本單元(lut)只能處理4輸入的組合邏輯,由此看來,cpld適合用於設計解碼等複雜的組合邏輯電路。
fpga中包含的基本單元和觸發器數量很多,成千上萬,而cpld一般只能做到512個邏輯單元。因此,在設計中使用到大量觸發器,如設計乙個複雜的時序邏輯電路,那麼就應該用fpga。
3.cpld的工作原理
cpld是基於乘積項的,此種cpld的結構主要包括巨集單元,可程式設計的連線(pia)和i/o控制模組,基本邏輯功能就是由巨集單元來實現的。
pia則起到復雜訊號傳遞,連線所有巨集單元的作用,i/o控制塊負責輸入輸出的電氣特性控制。input/gclk1,input/gclrn,input/oe1,input/oe2是全域性時鐘,清零和輸出使能訊號,這些訊號有專用連線與cpld中每個巨集單元相連。
cpld器件結構圖
cpld的巨集單元左側是乘積項陣列,即「與或」陣列,每個交叉點都是乙個可程式設計熔絲,如果導通就實現「與」邏輯,後面的乘積項選擇矩陣是乙個「或」陣列,兩者一起實現組合邏輯。最右側是乙個可程式設計的d觸發器,它的時鐘,清零輸入都可以程式設計選擇。
cpld巨集單元圖
4.fpga的工作原理
fpga是基於查詢表的原理與結構,查詢表簡稱lut(look-up-table),本質上就是乙個ram(掉電不儲存資料),目前使用最多的是4輸入lut,使用者通過原理圖或硬體描述語言描述了乙個邏輯電路以後,fpga開發軟體會自動計算邏輯電路的所有可能的結果,並把結果事先寫入ram,這樣,每輸入乙個訊號進行邏輯運算就等於輸入乙個位址進行查表,找出位址對應的內容,然後輸出即可。
4輸入與門實現邏輯電路和lut的實現方式
參考博文:
關於CPLD與FPGA的對比分析
1.pld fpga cpld pld programmable logic device 可程式設計邏輯器件,數字積體電路半成品,晶元上按照一定的排列方式整合了大量的門和觸發器等基本邏輯元件,使用者按照設計要求運用開發工具將這些片內的元件連線起來,此過程稱為程式設計 fpga 基於查詢表技術,要外...
FPGA與CPLD的區別
儘管fpga和cpld都是可程式設計asic器件,有很多共同特點,但由於cpld和fpga結構上的差異,具有各自的特點 cpld更適合完成各種演算法和組合邏輯,fp ga更適合於完成時序邏輯。換句話說,fpga更適合於觸發器豐富的結構,而cpld更適合於觸發器有限而乘積項豐富的結構。cpld的連續式...
FPGA與CPLD的區別
儘管fpga和cpld都是可程式設計asic器件,有很多共同特點,但由於cpld和fpga結構上的差異,具有各自的特點 cpld更適合完成各種演算法和組合邏輯,fp ga更適合於完成時序邏輯。換句話說,fpga更適合於觸發器豐富的結構,而cpld更適合於觸發器有限而乘積項豐富的結構。cpld的連續式...