<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

FPGA內部詳細架構

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

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

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

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

FPGA 內部詳細架構又細分為如下六大模塊:

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

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

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

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

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

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

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

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

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

其中 SLICEM 中 LUT 的輸入端都地址和寫地址為 8 位,高兩位可能是將 4 個 LUT 并聯一起作為一個大的 RAM 或 ROM 時用,同時 SLICEL 和 SLICEM 的 LUT 均可設為 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等常用的存儲模塊。區別于分布式 RAM(Distributed RAM)(主要由 LUT 組成的,不占用 BRAM 的資源)。分布式 RAM 也可以被配置為 ROM、RAM 以及 FIFO 等常用的存儲模塊,但是性能不如 BRAM,畢竟 BRAM 才是專用的,一般是 BRAM 資源不夠用的情況下才使用分布式 RAM。反之,BRAM 由一定數量固定大小的存儲塊構成的,使用 BRAM 資源不占用額外的邏輯資源,并且速度快,不過使用的時候消耗的 BRAM 資源只能是其塊大小的整數倍,就算你只存了 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 設置為 FIFO 時,不會使用額外的 CLB 資源,并且這部分 RAM 是真雙口 RAM。

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

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

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

4、互連線資源(Interconnect)

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

5、底層內嵌功能單元

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

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

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

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

6、內嵌專用硬核

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

審核編輯 :李倩

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

    關注

    1608

    文章

    21358

    瀏覽量

    594373
  • 電壓
    +關注

    關注

    45

    文章

    5113

    瀏覽量

    114531
  • 選擇器
    +關注

    關注

    0

    文章

    105

    瀏覽量

    14358
收藏 人收藏

    評論

    相關推薦

    fpga封裝技術和arm架構的優缺點

    FPGA封裝技術和ARM架構是兩個不同的概念,分別屬于硬件設計的不同領域。
    的頭像 發表于 03-26 15:51 ?270次閱讀

    fpga封裝技術和arm架構有什么區別

    FPGA封裝技術與ARM架構在多個方面存在顯著的區別。
    的頭像 發表于 03-26 15:50 ?336次閱讀

    fpga芯片架構介紹

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

    fpga是什么架構

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

    各種疊層結構的PCB圖內部架構設計

    今天畫了幾張多層PCB電路板內部結構圖,用立體圖形展示各種疊層結構的PCB圖內部架構。
    發表于 01-02 10:10 ?354次閱讀
    各種疊層結構的PCB圖<b class='flag-5'>內部</b><b class='flag-5'>架構</b>設計

    如何用內部邏輯分析儀調試FPGA?

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

    Xilinx FPGA芯片內部時鐘和復位信號使用方法

    如果FPGA沒有外部時鐘源輸入,可以通過調用STARTUP原語,來使用FPGA芯片內部的時鐘和復位信號,Spartan-6系列內部時鐘源是50MHz,Artix-7、Kintex-7等
    的頭像 發表于 10-27 11:26 ?1168次閱讀
    Xilinx <b class='flag-5'>FPGA</b>芯片<b class='flag-5'>內部</b>時鐘和復位信號使用方法

    FPGA內部接口設計

    FPGA設計中,我們通常采用的都是“自頂向下”的設計方法,即現有頂層設計,再有細節設計。比如先有整個項目的功能框圖、數據流程圖等,然后再細分功能到一級模塊,每個一級模塊再細分到二級、三級甚至更低
    的頭像 發表于 09-07 17:05 ?477次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>內部</b>接口設計

    fpga內部主要結構及其功能分析(Kintex-7FPGA內部結構)

    Kintex-7 FPGA內部結構相比傳統FPGA內部結構嵌入了DSP48E1,PCIE,GTX,XADC,高速IO口等單元,大大提升了FPGA
    發表于 08-24 09:26 ?1604次閱讀
    <b class='flag-5'>fpga</b><b class='flag-5'>內部</b>主要結構及其功能分析(Kintex-7<b class='flag-5'>FPGA</b><b class='flag-5'>內部</b>結構)

    FPGA芯片內部結構解析(1)

    以Xilinx主流的7系列為例,一顆FPGA內部通常都會有數千到數十萬不等的可配置邏輯塊(Configurable Logic Block,簡稱CLB)
    發表于 08-15 16:09 ?656次閱讀
    <b class='flag-5'>FPGA</b>芯片<b class='flag-5'>內部</b>結構解析(1)

    FPGA架構演進之路 FPGA架構設計原則和實現挑戰

    成本。FPGA架構的設計涉及許多不同的設計選擇,從高級架構參數到晶體管級實現細節,目標是制造高度可編程的器件,同時最小化可重新配置的面積和性能成本。隨著應用需求和工藝技術能力的不斷發展,FPG
    發表于 08-11 09:52 ?1228次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>架構</b>演進之路 <b class='flag-5'>FPGA</b><b class='flag-5'>架構</b>設計原則和實現挑戰

    FPGA詳細開發流程

    ??FPGA詳細開發流程就是利用 EDA 開發工具對 FPGA 芯片進行開發的過程,所以 FPGA 芯片開發流程講的并不是芯片的制造流程,區分于 IC 設計制造流程喲(芯片制造流程
    的頭像 發表于 07-04 14:37 ?3254次閱讀
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>詳細</b>開發流程

    淺談FPGA芯片架構

    ?FPGA 芯片架構是非常重要的,如果你不了解 FPGA 芯片內部詳細架構。
    的頭像 發表于 07-04 14:36 ?925次閱讀
    淺談<b class='flag-5'>FPGA</b>芯片<b class='flag-5'>架構</b>

    基石DDPM(模型架構篇),最詳細的DDPM架構圖解

    DDPM(模型架構篇):也就是本篇文章。在閱讀源碼的基礎上,本文繪制了詳細的DDPM模型架構圖,同時附上關于模型運作流程的詳細解說。本文不涉及數學知識,直觀幫助大家了解DDPM怎么用,
    的頭像 發表于 06-29 16:32 ?7155次閱讀
    基石DDPM(模型<b class='flag-5'>架構</b>篇),最<b class='flag-5'>詳細</b>的DDPM<b class='flag-5'>架構</b>圖解

    硬件即代碼第五部分:FPGA內部

    電子發燒友網站提供《硬件即代碼第五部分:FPGA內部.zip》資料免費下載
    發表于 06-14 15:10 ?0次下載
    硬件即代碼第五部分:<b class='flag-5'>FPGA</b><b class='flag-5'>內部</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>