关于CPLD与FPGA的对比分析
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的實現方式
參考博文:https://www.cnblogs.com/chensimin1990/p/5684329.html
總結
以上是生活随笔為你收集整理的关于CPLD与FPGA的对比分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最全介绍的代理模式---第一节-静态代理
- 下一篇: 微信小程序中进行公共数据的存储使用