一、FPGA芯片基本結(jié)構(gòu)
1、可編程邏輯單元(CLB)
這是FPGA芯片中最重要的部分,用于實現(xiàn)數(shù)字邏輯電路中的邏輯功能和控制。包括查找表(LUT)和D觸發(fā)器。查找表是邏輯塊的計算單元,由多個輸入和一個輸出組成,用于實現(xiàn)各種邏輯功能。D觸發(fā)器則用于存儲狀態(tài)和時序控制。FPGA芯片中通常包含數(shù)千個這樣的邏輯單元,以支持復雜的邏輯運算。
2、可編程輸入輸出單元(IOB)
作為FPGA芯片與外界電路的接口,完成不同電氣特性下對輸入/輸出信號的驅(qū)動與匹配要求。FPGA的IOB被劃分為若干個組(bank),每個bank可以獨立地支持不同的I/O標準,并可以通過軟件靈活配置以適應不同的電氣標準和I/O物理特性。
3、嵌入式RAM塊
提供內(nèi)部存儲器資源,用于存儲與內(nèi)存相關的數(shù)據(jù)和程序。包括寄存器、隨機存儲器模塊(RAM)等。RAM可以被配置為單端口RAM、雙端口RAM、內(nèi)容地址存儲器(CAM)以及FIFO等常用存儲結(jié)構(gòu)。
4、布線網(wǎng)絡
連通FPGA內(nèi)部的所有單元,確保信號能夠在芯片內(nèi)部有效傳輸。根據(jù)工藝、長度、寬度和分布位置的不同,布線資源通常被劃分為全局布線資源、長線資源、短線資源和分布式布線資源等。
5、時鐘管理單元
生成和管理時鐘信號,確保同步電路中的各個部分能夠按照預定的時序進行工作。包括DLL和PLL等電路,用于實現(xiàn)時鐘的高精度、低抖動倍頻和分頻,以及占空比調(diào)整和移相等功能。
6、內(nèi)嵌的底層功能單元和專用硬件模塊
提供額外的硬件加速功能,如DSP(數(shù)字信號處理)模塊、CPU軟核等,以提高FPGA的性能和應用范圍。這些模塊可以根據(jù)設計需求進行配置和使用,以實現(xiàn)特定的功能和應用。
二、FPGA芯片的工作原理
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸入輸出模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。
現(xiàn)場可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu)。FPGA利用小型查找表(16×1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。
FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實現(xiàn)的功能,FPGA允許無限次的編程。