1. 程式人生 > >FPGA基礎知識之2——片內資源

FPGA基礎知識之2——片內資源

    主流的FPGA仍是基於查詢表技術的,已經遠遠超出了先前版本的基本效能,並且整合了常用功能(如RAM、DCM和DSP)的硬核(ASIC型)模組。如圖所示,FPGA晶片主要由7部分組成,分別為:可程式設計輸入輸出單元(IOB)、基本可程式設計邏輯單元(CLB)、完整的時鐘管理(DCM)、嵌入式塊RAM、豐富的佈線資源、內嵌的底層功能單元和內嵌專用硬體模組


1.可程式設計輸入輸出單元(IOB)

    可程式設計輸入/輸出單元簡稱I/O單元,是晶片與外界電路的介面部分,完成不同電氣特性下對輸入/輸出訊號的驅動與匹配要求。FPGA內的I/O按組分類,每組都能狗獨立地支援不同的I/O標準。通過軟體的靈活配置,可是配不通電氣標準與I/O物理特性,可以調整驅動電流的大小,可以改變上、下拉電阻。I/O口的頻率也越來越高     為了便於管理和適應多種電氣標準,FPGA的IOB被劃分為若干組(bank),每個bank的介面標準由其介面電壓VCCO決定,一個bank只能有一種VCCO,但不同的bank可以有不同的VCCO,只有相同電氣標準的接口才能連線在一起。

2.可配置邏輯塊(CLB)

    CLB是FPGA內的基本邏輯單元,CLB的實際數量和特性會因為器件的不同而不同,但是每個CLB都包含一個可配置開關矩陣,此矩陣由4或6個輸入、一些選型電路(MUX)和觸發器組成。開關矩陣是高度靈活的,可以對其進行配置以組成組合邏輯、移位暫存器或RAM。在Xilinx公司的FPGA器件中,CLB有多個相同的Slice和附加邏輯組成,每個CLB模組不僅可以用於實現組合邏輯、時序邏輯,還可以配置為分散式RAM和分散式ROM     Slice是Xilinx公司定義的基本邏輯單位,一個Slice由兩個4輸入的函式發生器(LUT)、進位邏輯、算數邏輯、儲存邏輯和函式複用器組成。

3.數字時鐘管理模組(DCM)

    業內大多數FPGA均提供數字時鐘管理(Xilinx全部FPGA都有這種特性)。Xilinx推出最先進的數字時鐘管理和相位環路鎖定。DCM可以完成對時鐘的分頻倍頻功能,並能維持各時鐘之間的相位關係,即零時鐘偏差

4.嵌入式塊RAM(BRAM)

    BRAM有很高的靈活性,可以被配置位單埠RAM、雙埠RAM、內容地址儲存器(CAM)以及FIFO等常用儲存結構。在實際應用中,晶片內部BRAM數量是晶片選型的一個重要因素     單片塊RAM的容量是18kbits,即位寬為18位元、深度為1024。也可以根據需要更改其位寬與深度(位寬不得大於36bits)。亦可以將多塊BRAM級聯起來形成更大的RAM。

5.豐富的佈線資源

    佈線資源連通FPGA內部所有單元,而連線長度和工藝決定著訊號在連線上的驅動能力和傳輸速度。FPGA晶片內部有著豐富的不限資源,根據工藝、長度、寬度和分佈位置而劃分為4類不同的類別。第一類是全域性佈線資源,用於晶片內部全域性時鐘和全域性復位/置位的佈線;二、長線資源,用以完成晶片bank之間的高速訊號和第二全域性時鐘訊號的佈線;三、是短線資源,用於完成基本邏輯單元之間的邏輯連結和佈線;四、分散式的佈線資源,用於專有時鐘、復位等控制訊號線

6.底層內嵌功能單元

    內嵌功能模組主要是指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等軟處理核

7.內嵌專用硬核

    內嵌專用硬核是相對底層遷入的軟核而言的,等效於ASIC電路。為了提高FPGA效能,晶片生產商在晶片內部集成了一些專用的硬核。例如:專用乘法器,串並收發器(SERDES)可以達到數十Gbps收發速度