現場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD)都屬于大型可編程邏輯器件,十年前它們發明伊始是為了充當膠合邏輯以及ASIC原型器件,但自出現后,它們的功能擴展非常迅速。嵌入式加速器和微處理器應用曾經一度僅使用DSP和ASSP,但FPGA以及CPLD后來也成為了強有力的候選。一旦設計師了解FPGA和CPLD架構的基礎知識,就可以提升許多設計的性能、效率并縮短設計周期。
在演化到目前最新形態的FPGA和CPLD之前,可編程邏輯已經有很長的發展歷史。這兩種技術之間的體系結構差別可由名稱識別出來。FPGA結構非常像ASIC門陣列,事實上,它最初用于ASIC原型。 CPLD則是一堆可編程邏輯元件的網絡,這些元件連接起來可以創建一個更大的系統。
可編程邏輯基礎
為理解FPGA和CPLD的基礎配置思路,可以重新回顧一下可編程陣列邏輯(PAL)的特性。PAL最初具備一個寬泛的可編程與(AND)門平面,可以對輸入進入與操作。或(OR)平面是固定的,限制了可以一起進行或操作的項數。也加入了一些基礎邏輯單元,比如多路復用器、異或和鎖存器,也包括一些時序單元,例如觸發器。
這些電路元件的組合幫助設計者實現大量的邏輯功能,包括狀態機需要的時鐘時序邏輯。PAL速度非常快,可以取代很多上一代設計中的標準邏輯。圖1顯示了一個基礎的PAL,其中的可編程元件(顯示為熔絲)將輸入信號的真值和互補值同時連接到圖中所示的與門。與門,也被稱為乘積項,通過或運算,形成乘積項之和的邏輯陣列。
圖1:簡化的可編程陣列邏輯(PAL)
CPLD和FPGA在PAL和ASIC門陣列之間創造了一種妥善并且非常具有擴展性的媒介。CPLD和PAL速度一樣快,但更為復雜。FPGA方法復雜性與門陣列接近但是可編程。
CPLD架構
雖然每家CPLD廠商都有其獨特實現,但所有CPLD具備一些共有特征,比如都擁有功能塊(FB)、輸入/輸出模塊(I / O)以及互連矩陣。 CPLD均通過使用特定制造商工藝對應的元件編程。存儲器件可以是EPROM單元、EEPROM單元或Flash EPROM單元。圖2顯示了一個典型的CPLD架構。
圖2:簡化的CPLD架構
FPGA架構
FPGA架構與ASIC類似,但與CPLD差異巨大。一個通用的FPGA架構包括配置邏輯塊(CLB)陣列、I / O焊盤和可編程互連,如圖3所示。加入了時鐘電路以驅動時鐘信號到每一個邏輯塊。算術邏輯單元、存儲單元和譯碼器也是典型的組件。
圖3:基礎FPGA架構
FPGA邏輯蘊藏在CLB中,CLB包含了RAM資源,可用于創建組合邏輯功能,這些功能也常稱為查找表(LUT)。它還包含了觸發器,可用于時序存儲元件,還包含了多路復用器,以用于邏輯塊內和外部資源之間的邏輯的布線。多路復用器還可用于極性選擇以及復位和清零輸入選擇。
可配置I / O塊包含帶有三態以及開路輸出控制集合功能的一對輸入和輸出緩沖對。輸出的極性通常可編程為高有效或低有效輸出,并且輸出的壓擺率經常也可以被編程為快或慢的上升和下降時間。輸入端和輸出端通常包含觸發器。在輸入端使用觸發器,這樣在到達觸發器之前就不會有太多時延,但將增加器件保持時間的要求。在輸出端,觸發器允許時序信號直接輸出到管腳,不會遇受顯著延遲問題。
為避免信號延遲帶來的不利后果,互聯結構最終呈現出層次化結構,在這種結構中長連線(它們也可以被用作總線)連接芯片中物理上遠離的多個關鍵CLB。短連線連接彼此接近的多個獨立CLB。類似于CPLD中的開關矩陣,以特殊方式連接多條長連線和短連線。芯片內的可編程開關使能CLB與互連線的連接,以及互連線彼此間的連接,還有互連線與開關矩陣的連接。
利用三態緩沖器將多個CLB連接形成一個長連線,多條長連線就組成了總線。時鐘通過長連線分布在整個FPGA中,這樣的長連線稱為全局時鐘線,專門面向低阻抗和快速傳播進行了優化。他們連接到時鐘緩沖器,以及連接到每個CLB中的時序元件。
-
復用器
+關注
關注
1文章
707瀏覽量
28308 -
觸發器
+關注
關注
14文章
2000瀏覽量
61132 -
可編程邏輯
+關注
關注
7文章
515瀏覽量
44083
發布評論請先 登錄
相關推薦
評論