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