0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA內(nèi)部詳細架構(gòu)

FPGA研究院 ? 來源:FPGA研究院 ? 作者:FPGA研究院 ? 2022-10-20 09:56 ? 次閱讀

FPGA 芯片整體架構(gòu)如下所示,大體按照時鐘域劃分的,即根據(jù)不同的工藝、器件速度和對應的時鐘進行劃分:

b851a6f2-5018-11ed-a3b6-dac502259ad0.png

b86c1154-5018-11ed-a3b6-dac502259ad0.png

FPGA 內(nèi)部詳細架構(gòu)又細分為如下六大模塊:

1、可編程輸入輸出單元(IOB)(Input Output Block)

為了便于管理和適應多種電器標準,F(xiàn)PGA 的 IOB 被劃分為若干個組(Bank),每個 Bank 的接口標準由其接口電壓 VCCO 決定,一個 Bank 只能有一種 VCCO,但不同 Bank 的 VCCO 可以不同。只有相同電氣標準和物理特性的端口才能連接在一起,VCCO 電壓相同是接口標準的基本條件。

b881998e-5018-11ed-a3b6-dac502259ad0.png

2、可配置邏輯塊(CLB)(Configurable Logic Block)

FPGA 的基本可編程邏輯單元是 CLB,而一個 CLB 是由查找表、數(shù)據(jù)選擇器、進位鏈、寄存器組成的。查找表和多路選擇器完成組合邏輯功能,寄存器(可配置成觸發(fā)器或鎖存器),完成時序邏輯功能。在賽靈思公司公司的 FPGA 器件中,一個 CLB 由多個(一般為 4 個或 2 個)相同的 Slice 和附加邏輯構(gòu)成。

Slice 又分為 SLICEL(Logic)和 SLICEM(Memory)。SLICEL 和 SLICEM 內(nèi)部都各自包含了 4 個 6 輸入查找表(LUT6)、3 個數(shù)據(jù)選擇器(Mux)、1 個進位鏈(Carry Chain)和 8 個觸發(fā)器(Flip-Flop):

查找表:6輸入查找表類似于一個容量為 64bits的ROM(26= 64)(工藝上是珍貴的 SRAM 資源),6 表示地址輸入位寬為 6 bits,存儲的內(nèi)容作為輸入對應的輸出結(jié)果的邏輯運算,并在 FPGA 配置時載入。

對于查找表:目前主流 FPGA 都采用了基于 SRAM 工藝的查找表(LUT)(Look Up Table)結(jié)構(gòu)。LUT 本質(zhì)上就是一個 RAM。當用戶通過原理圖或 HDL 語言描述了一個邏輯電路以后,F(xiàn)PGA 開發(fā)軟件會自動計算邏輯電路的所有可能結(jié)果,列成一個真值表的形式,并把真值表(即輸入對應的輸出邏輯)事先寫入 RAM,這樣,每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應的內(nèi)容,然后輸出即可。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的RAM。

數(shù)據(jù)選擇器:數(shù)據(jù)選擇器一般在 FPGA 配置后固定下來。
進位鏈:超前進位加法器,方便加法器的實現(xiàn),加快復雜加法的運算。
寄存器:可以配置成多種工作方式,比如 FF 或 Latch,同步復位或異步復位、復位高有效或低有效等等。
SLICEM 的結(jié)構(gòu)與 SLICEL 的結(jié)構(gòu)類似,最大的區(qū)別是使用了一個新的單元代替 SLICE 中的查找表。這個新的單元可以配置為 LUT、RAM、ROM 或移位寄存器(SRL16 或 SRL32),從而可以實現(xiàn) LUT 的邏輯功能,也能做存儲單元(多個單元組合起來可以提供更大的容量)和移位寄存器(提供延遲等功能)。

其中 SLICEM 中 LUT 的輸入端都地址和寫地址為 8 位,高兩位可能是將 4 個 LUT 并聯(lián)一起作為一個大的 RAM 或 ROM 時用,同時 SLICEL 和 SLICEM 的 LUT 均可設(shè)為 5 位或 6 位查找表。

b893fdd6-5018-11ed-a3b6-dac502259ad0.png

b8aae65e-5018-11ed-a3b6-dac502259ad0.png

b8c6dec2-5018-11ed-a3b6-dac502259ad0.png

3、嵌入式塊 RAM(BRAM)(Block RAM)

塊RAM可被配置為 ROM、RAM 以及FIFO等常用的存儲模塊。區(qū)別于分布式 RAM(Distributed RAM)(主要由 LUT 組成的,不占用 BRAM 的資源)。分布式 RAM 也可以被配置為 ROM、RAM 以及 FIFO 等常用的存儲模塊,但是性能不如 BRAM,畢竟 BRAM 才是專用的,一般是 BRAM 資源不夠用的情況下才使用分布式 RAM。反之,BRAM 由一定數(shù)量固定大小的存儲塊構(gòu)成的,使用 BRAM 資源不占用額外的邏輯資源,并且速度快,不過使用的時候消耗的 BRAM 資源只能是其塊大小的整數(shù)倍,就算你只存了 1 bit 也要占用一個 BRAM。

b9231e94-5018-11ed-a3b6-dac502259ad0.png

b9441dec-5018-11ed-a3b6-dac502259ad0.png

b958cdf0-5018-11ed-a3b6-dac502259ad0.png

一個 BRAM 的大小為 36K Bits,并且分成兩個小的 BRAM 各自為 18K Bits,排列成又分為上下兩塊,上半部分為 RAMB18 下半部分為 RAMBFIFO36。在 FIFO 例化的時候可以將 BRAM 設(shè)置為 FIFO 時,不會使用額外的 CLB 資源,并且這部分 RAM 是真雙口 RAM。

b980ee98-5018-11ed-a3b6-dac502259ad0.png

b9993764-5018-11ed-a3b6-dac502259ad0.jpg

FPGA 所采用的邏輯單元陣列 LCA(Logic Cell Array)內(nèi)部所包括的可配置邏輯模塊 CLB(Configurable Logic Block)、 輸出輸入模塊 IOB(Input Output Block)和內(nèi)部互連線(Interconnect)三個部分。前面兩種已經(jīng)介紹完畢,接下來介紹第三種:

4、互連線資源(Interconnect)

布線資源連通FPGA內(nèi)部的所有單元,而連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。FPGA 芯片內(nèi)部有著豐富的布線資源,根據(jù)工藝、長度、寬度和分布位置的不同而劃分為 4 類不同的類別:第一類是全局布線資源,用于芯片內(nèi)部全局時鐘和全局復位/置位的布線;第二類是長線資源,用于完成芯片 Bank 間的高速信號和第二全局時鐘信號的布線;第三類是短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;第四類是分布式的布線資源,用于專有時鐘、復位等控制信號線。

5、底層內(nèi)嵌功能單元

內(nèi)嵌功能模塊主要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP(Digital System Processing)(數(shù)字信號處理)、DCM(Digital Clock Manager)(提供數(shù)字時鐘管理和相位環(huán)路鎖定)、和CPU(Central Processing Unit)等等軟處理核(比如 MicroBlaze 的軟核)?,F(xiàn)在越來越豐富的內(nèi)嵌功能單元,使得單片 FPGA 成為了系統(tǒng)級的設(shè)計工具,使其具備了軟硬件聯(lián)合設(shè)計的能力,逐步向 SoC 平臺過渡。

關(guān)于 DCM:DCM 是 FPGA 內(nèi)部處理時鐘的重要器件,他的作用主要有三個:消除時鐘偏斜(Clock De-Skew)、頻率合成(Frequency Synthesis)和相位調(diào)整(Phase Shifting)。

DCM 的核心器件是數(shù)字鎖相環(huán)(DLL,Delay Locked Loop)。它是由一串固定時延的延時器組成,每一個延時器的時延為 30皮秒,也就是說,DCM 所進行的倍頻、分頻、調(diào)相的精度為 30 皮秒。

對于時鐘,我們最好不要將兩個時鐘通過一個與門或者或門(邏輯操作),這樣的話就很可能會產(chǎn)生毛刺,影響系統(tǒng)穩(wěn)定性,如果要對時鐘進行操作,例如切換時鐘等,請使用 FPGA 內(nèi)部的專用器件“BUFGMUX”。

6、內(nèi)嵌專用硬核

內(nèi)嵌專用硬核是相對底層嵌入的軟核而言的,指FPGA處理能力強大的硬核(比如ARM Cortex-A9的硬核),等效于 ASIC 電路。為了提高 FPGA 性能,芯片生產(chǎn)商在芯片內(nèi)部集成了一些專用的硬核。例如為了提高 FPGA 的乘法速度,主流的 FPGA 中都集成了專用乘法器,而為了適用通信總線與接口標準,很多高端的 FPGA 內(nèi)部都集成了串并收發(fā)器(Serdes),可以達到數(shù)十 Gbps 的收發(fā)速度(比如 FMC)。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21637

    瀏覽量

    601316
  • 電壓
    +關(guān)注

    關(guān)注

    45

    文章

    5540

    瀏覽量

    115500
  • 選擇器
    +關(guān)注

    關(guān)注

    0

    文章

    106

    瀏覽量

    14509
收藏 人收藏

    評論

    相關(guān)推薦

    請問PCM3070的pin18(REF)的電壓是如何產(chǎn)生的,3070內(nèi)部的電源架構(gòu)是怎樣的?

    請問PCM3070的pin18(REF)的電壓是如何產(chǎn)生的,3070內(nèi)部的電源架構(gòu)是怎樣的?pin18和pin30(LDO-SELECT)有什么關(guān)系??
    發(fā)表于 11-08 07:17

    FPGA芯片架構(gòu)和資源有深入的理解,精通Verilog HDL、VHDL

    崗位職責 1.負責FPGA架構(gòu)設(shè)計、代碼編寫、仿真等; 2.協(xié)同軟、硬件工程師完成系統(tǒng)聯(lián)調(diào)和測試; 3.負責項目中FPGA設(shè)計的相關(guān)文檔編寫及維護; 任職要求 1.碩士及以上學歷,電子、通信
    發(fā)表于 09-15 15:23

    FPGA內(nèi)部架構(gòu)和設(shè)計流程

    之前大多數(shù)軟件都是與它們各自的硬件一起發(fā)布,沒有辦法對其進行更改。但隨著技術(shù)的成熟,制造商找到了在現(xiàn)有硬件上更新軟件以增加附加功能的方法。
    的頭像 發(fā)表于 08-06 11:31 ?971次閱讀
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>內(nèi)部</b><b class='flag-5'>架構(gòu)</b>和設(shè)計流程

    基于FPGA的CCD工業(yè)相機系統(tǒng)設(shè)計

    基于FPGA的CCD工業(yè)相機系統(tǒng)設(shè)計是一個綜合性的項目,它結(jié)合了硬件電路設(shè)計、FPGA編程以及圖像處理技術(shù)。以下是一個詳細的系統(tǒng)設(shè)計方案,包括設(shè)計概述、硬件架構(gòu)、
    的頭像 發(fā)表于 07-17 11:24 ?908次閱讀

    一文了解FPGA比特流的內(nèi)部結(jié)構(gòu)

    比特流是一個常用詞匯,用于描述包含FPGA完整內(nèi)部配置狀態(tài)的文件,包括布線、邏輯資源和IO設(shè)置。大多數(shù)現(xiàn)代FPGA都是基于SRAM的,包括Xilinx Spartan和Virtex系列。在FP
    的頭像 發(fā)表于 07-16 18:02 ?7350次閱讀
    一文了解<b class='flag-5'>FPGA</b>比特流的<b class='flag-5'>內(nèi)部</b>結(jié)構(gòu)

    FPGA的PCIE接口應用需要注意哪些問題

    FPGA上的PCIe接口應用是一個復雜的任務,需要考慮多個方面的問題以確保系統(tǒng)的穩(wěn)定性和性能。以下是在FPGA的PCIe接口應用中需要注意的關(guān)鍵問題: 硬件資源和內(nèi)部架構(gòu)
    發(fā)表于 05-27 16:17

    fpga封裝技術(shù)和arm架構(gòu)的優(yōu)缺點

    FPGA封裝技術(shù)和ARM架構(gòu)是兩個不同的概念,分別屬于硬件設(shè)計的不同領(lǐng)域。
    的頭像 發(fā)表于 03-26 15:51 ?731次閱讀

    fpga封裝技術(shù)和arm架構(gòu)有什么區(qū)別

    FPGA封裝技術(shù)與ARM架構(gòu)在多個方面存在顯著的區(qū)別。
    的頭像 發(fā)表于 03-26 15:50 ?644次閱讀

    fpga芯片架構(gòu)介紹

    FPGA(現(xiàn)場可編程門陣列)芯片架構(gòu)是一種高度靈活和可編程的集成電路架構(gòu),它以其獨特的結(jié)構(gòu)和功能,在現(xiàn)代電子系統(tǒng)中扮演著至關(guān)重要的角色。FPGA芯片
    的頭像 發(fā)表于 03-15 14:56 ?673次閱讀

    fpga芯片工作原理 fpga芯片有哪些型號

    FPGA芯片的工作原理主要基于其內(nèi)部的可配置邏輯單元和連線資源。包括以下工作原理: 首先,FPGA內(nèi)部包含可配置邏輯模塊(CLB)、輸出輸入模塊(IOB)和
    的頭像 發(fā)表于 03-14 17:17 ?1347次閱讀

    fpga是什么架構(gòu)

    FPGA(現(xiàn)場可編程門陣列)的架構(gòu)主要由可配置邏輯模塊(CLB)、輸入/輸出模塊(IOB)以及可編程互連資源組成。
    的頭像 發(fā)表于 03-14 17:05 ?791次閱讀

    FPGA時鐘內(nèi)部設(shè)計方案

    時鐘設(shè)計方案 在復雜的FPGA設(shè)計中,設(shè)計時鐘方案是一項具有挑戰(zhàn)性的任務。設(shè)計者需要很好地掌握目標器件所能提供的時鐘資源及它們的限制,需要了解不同設(shè)計技術(shù)之間的權(quán)衡,并且需要很好地掌握一系列
    發(fā)表于 01-22 09:30 ?549次閱讀
    <b class='flag-5'>FPGA</b>時鐘<b class='flag-5'>內(nèi)部</b>設(shè)計方案

    各種疊層結(jié)構(gòu)的PCB圖內(nèi)部架構(gòu)設(shè)計

    今天畫了幾張多層PCB電路板內(nèi)部結(jié)構(gòu)圖,用立體圖形展示各種疊層結(jié)構(gòu)的PCB圖內(nèi)部架構(gòu)。
    發(fā)表于 01-02 10:10 ?814次閱讀
    各種疊層結(jié)構(gòu)的PCB圖<b class='flag-5'>內(nèi)部</b><b class='flag-5'>架構(gòu)</b>設(shè)計

    如何用內(nèi)部邏輯分析儀調(diào)試FPGA?

    FPGA內(nèi)部信號引到引腳,然后用外部的邏輯分析儀捕獲數(shù)據(jù)。然而當設(shè)計的復雜程度增加時,這個方法就不再適合了,其中有幾個原因。第一是由于FPGA的功能增加了,而器件的引腳數(shù)目卻緩慢地增長。因此,可用邏輯對I/O的比率減小了,參見
    的頭像 發(fā)表于 12-20 13:35 ?509次閱讀
    如何用<b class='flag-5'>內(nèi)部</b>邏輯分析儀調(diào)試<b class='flag-5'>FPGA</b>?

    什么是走線的拓撲架構(gòu)?怎樣調(diào)整走線的拓撲架構(gòu)來提高信號的完整性?

    什么是走線的拓撲架構(gòu)?怎樣調(diào)整走線的拓撲架構(gòu)來提高信號的完整性? 走線的拓撲架構(gòu)是指電子設(shè)備內(nèi)部的信號線路布局方式。它對信號傳輸?shù)耐暾院头€(wěn)定性有著重要影響。正確的走線拓撲
    的頭像 發(fā)表于 11-24 14:44 ?638次閱讀