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

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

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

詳解FPGA的基本結(jié)構(gòu)

Hack電子 ? 來源:FPGA設(shè)計論壇 ? 2024-10-25 16:50 ? 次閱讀

ZYNQ PL 部分等價于 Xilinx 7 系列 FPGA,因此我們將首先介紹 FPGA 的架構(gòu)。簡化的 FPGA 基本結(jié)構(gòu)由 6 部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等,如下圖所示:

260de440-9274-11ef-a511-92fbcf53809c.png

每個單元的基本概念介紹如下。

(1)可編程輸入/輸出單元

輸入/輸出(Input/Ouput)單元簡稱 I/O 單元,它們是芯片與外界電路的接口部分,完成不同電氣特性下對輸入/輸出信號的驅(qū)動與匹配需求,為了使 FPGA 具有更靈活的應(yīng)用,目前大多數(shù) FPGA 的 I/O 單元被設(shè)計為可編程模式,即通過軟件的靈活配置,可以適配不同的電氣標(biāo)準(zhǔn)與 I/O 物理特性;可以調(diào)整匹配阻抗特性、上下拉電阻、以及調(diào)整驅(qū)動電流的大小等。

可編程 I/O 單元支持的電氣標(biāo)準(zhǔn)因工藝而異,不同芯片商、不同器件的 FPGA 支持的 I/O 標(biāo)準(zhǔn)不同,一般來說,常見的電氣標(biāo)準(zhǔn)有 LVTTL, LVCMOS, SSTL, HSTL, LVDS, LVPECL 和 PCI 等。值得一提的是,隨著 ASIC 工藝的飛速發(fā)展,目前可編程 I/O 支持的最高頻率越來越高,一些高端 FPGA 通過 DDR寄存器技術(shù),甚至可以支持高達(dá) 2Gbit/s 的數(shù)據(jù)數(shù)率。

ZYNQ 上的通用輸入/輸出功能(IOB)合起來被稱作 SelectIO 資源,它們被組織成 50 個 IOB 一組。每個 IOB 有一個焊盤,是與外部世界連接來做單個信號的輸入或輸出的。每個 IOB 還包含一個IOSERDES 資源,可以做并行和串行數(shù)據(jù)的可編程轉(zhuǎn)換。

262168da-9274-11ef-a511-92fbcf53809c.png

(2)基本可編程邏輯單元

基本可編程邏輯單元是可編程邏輯的主體,可以根據(jù)設(shè)計靈活地改變其內(nèi)部連接與配置,完成不同的邏輯功能。FPGA 一般是基于 SRAM 工藝的,其基本可編程邏輯單元幾乎都是由查找表(LUT, Look UpTable)和寄存器(Register)組成。Xilinx 7 系列 FPGA 內(nèi)部查找表為 6 輸入,查找表一般完成純組合邏輯功能。FPGA 內(nèi)部寄存器結(jié)構(gòu)相當(dāng)靈活,可以配置為帶同步/異步復(fù)位或置位,時鐘使能的觸發(fā)器,也可以配置成鎖存器, FPGA 依賴寄存器完成同步時序邏輯設(shè)計。

一般來說,比較經(jīng)典的基本可編程邏輯單元的配置是一個寄存器加一個查找表,但是不同廠商的寄存器與查找表也有一定的差異,而且寄存器與查找表的組合模式也不同。當(dāng)然這些可編程邏輯單元的配置結(jié)構(gòu)隨著器件的不斷發(fā)展也在不斷更新,最新的一些可編程邏輯器件常常根據(jù)需求設(shè)計新的 LUT 和寄存器的配置比率,并優(yōu)化其內(nèi)部的連接構(gòu)造。

例如, Altera 可編程邏輯單元通常被稱為 LE(Logic Element),由一個寄存器加一個 LUT 構(gòu)成。Altera 大多數(shù) FPGA 將 10 個 LE 有機地組合在一起,構(gòu)成更大的功能單元——邏輯陣列模塊(LAB, LogicArray Block)。LAB 中除了 LE 還包含 LE 之間的進(jìn)位鏈, LAB 控制信號,局部互聯(lián)線資源, LUT 級聯(lián)鏈,寄存器級聯(lián)鏈等連線與控制資源。

Xilinx 7 系列 FPGA 中的可編程邏輯單元叫 CLB(Configurable Logic Block,可配置邏輯塊)每個CLB 里包含兩個邏輯片(Slice)。每個 Slice 由 4 個查找表、 8 個觸發(fā)器和其他一些邏輯所組成的。CLB示意圖如下所示:

2626fd0e-9274-11ef-a511-92fbcf53809c.png

CLB 是邏輯單元的最小組成部分,在 PL 中排列為一個二維陣列,通過可編程互聯(lián)連接到其他類似的資源。每個 CLB 里包含兩個邏輯片,并且緊鄰一個開關(guān)矩陣, 如下圖所示:

2643b020-9274-11ef-a511-92fbcf53809c.png

(3)嵌入式塊 RAM

目前大多數(shù) FPGA 都有內(nèi)嵌的塊 RAM(Block RAM), FPGA 內(nèi)部嵌入可編程 RAM 模塊,大大地拓展了 FPGA 的應(yīng)用范圍和使用靈活性。不同器件商或不同器件族的內(nèi)嵌塊 RAM 的結(jié)構(gòu)不同, Lattice 常用的塊 RAM 大小是 9KBIT;Altera 的塊 RAM 最靈活,一些高端器件內(nèi)部同時含有 3 種塊 RAM 結(jié)構(gòu),分別是 M512 RAM, M4K RAM, M9K RAM。

Zynq-7000 里的塊 RAM 和 Xilinx 7 列 FPGA 里的那些塊 RAM 是等同的,它們可以實現(xiàn) RAM、 ROM和先入先出(First In First Out, FIFO)緩沖器。每個塊 RAM 可以存儲最多 36KB 的信息,并且可以被配置為一個 36KB 的 RAM 或兩個獨立的 18KB RAM。默認(rèn)的字寬是 18 位,這樣的配置下每個 RAM 含有2048 個存儲單元。RAM 還可以被“重塑”來包含更多更小的單元(比如 4096 個單元 x9 位,或 8192x4位),或是另外做成更少更長的單元(如 1024 單元 x36 位 512x72 位)。把兩個或多個塊 RAM 組合起來可以形成更大的存儲容量。PL 中的塊 RAM 示意圖如下所示:

264823a8-9274-11ef-a511-92fbcf53809c.png

需要補充的一點是,除了塊 RAM,還可以靈活地將 LUT 配置成 RAM, ROM, FIFO 等存儲結(jié)構(gòu),這種技術(shù)被稱為分布式 RAM。根據(jù)設(shè)計需求,塊 RAM 的數(shù)量和配置方式也是器件選型的一個重要標(biāo)準(zhǔn)。

(4)豐富的布線資源

布線資源連通 FPGA 內(nèi)部的所有單元,而連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。FPGA 芯片內(nèi)部有著豐富的布線資源,這些布線資源根據(jù)工藝、長度、寬度和分布位置的不同而劃分為 4 類不同的類別:

第一類是全局布線資源,用于芯片內(nèi)部全局時鐘和全局復(fù)位/置位的布線;

第二類是長線資源,用以完成芯片 Bank 間的高速信號和第二全局時鐘信號的布線;

第三類是短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;

第四類是分布式的布線資源,用于專有時鐘、復(fù)位等控制信號線。

在實際中設(shè)計者不需要直接選擇布線資源,布局布線器可自動地根據(jù)輸入邏輯網(wǎng)表的拓?fù)浣Y(jié)構(gòu)和約束條件選擇布線資源來連通各個模塊單元。從本質(zhì)上講,布線資源的使用方法和設(shè)計的結(jié)果有直接的關(guān)系。

(5)底層嵌入功能單元

底層嵌入功能單元的概念比較籠統(tǒng),這里我們指的是那些通用程度較高的嵌入式功能模塊,比如 PLL(Phase Locked Loop)、 DLL(Delay Locked Loop)、 DSP、 CPU 等。隨著 FPGA 的發(fā)展,這些模塊被越來越多地嵌入到 FPGA 的內(nèi)部,以滿足不同場合的需求。

目前大多數(shù) FPGA 廠商都在 FPGA 內(nèi)部集成了 DLL 或者 PLL 硬件電路,用以完成時鐘的高精度、低抖動的倍頻、分頻、占空比調(diào)整、相移等功能。目前,高端 FPGA 產(chǎn)品集成的 DLL 和 PLL 資源越來越豐富,功能越來越復(fù)雜,精度越來越高。

另外, 越來越多的高端 FPGA 產(chǎn)品將包含 DSP 或 CPU 等硬核,從而 FPGA 將由傳統(tǒng)的硬件設(shè)計手段逐步過渡到系統(tǒng)級設(shè)計平臺。例如 Altera 的 Stratix IV、 Stratix V 等器件內(nèi)部集成了 DSP 核;Xilinx 的Virtes II 和 Virtex II pro 系列 FPGA 內(nèi)部集成了 Power PC450 的處理器。FPGA 內(nèi)部嵌入 DSP 或 CPU 等處理器,使 FPGA 在一定程度上具備了實現(xiàn)軟硬件聯(lián)合系統(tǒng)的能力, FPGA 正逐步成為 SOPC 的高效設(shè)計平臺。

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

這里的內(nèi)嵌專用硬核與前面的底層嵌入單元是有區(qū)分的,這里講的內(nèi)嵌專用硬核主要指那些通用性相對較弱,不是所有 FPGA 器件都包含硬核。

在 ZYNQ 的 PL 端有一個數(shù)?;旌夏K——XADC,它就是一個硬核。XADC 包含兩個模數(shù)轉(zhuǎn)換器(ADC),一個模擬多路復(fù)用器,片上溫度和片上電壓傳感器等。我們可以利用這個模塊監(jiān)測芯片溫度和供電電壓,也可以用來測量外部的模擬電壓信號。

(7)ZYNQ PL 架構(gòu)

在介紹完 FPGA 的基本結(jié)構(gòu)之后, 我們給出 ZYNQ PL 架構(gòu)的示意圖,如下所示:

264c78ae-9274-11ef-a511-92fbcf53809c.png

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

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603319
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19123

    瀏覽量

    305148
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2167

    瀏覽量

    121398
  • 可編程
    +關(guān)注

    關(guān)注

    2

    文章

    861

    瀏覽量

    39822
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    609

    瀏覽量

    47181

原文標(biāo)題:ZYNQ PL架構(gòu)

文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    注冊表結(jié)構(gòu)詳解

    注冊表結(jié)構(gòu)詳解
    發(fā)表于 03-05 15:06

    MOSFET結(jié)構(gòu)及其工作原理詳解

    ` 本帖最后由 eehome 于 2013-1-5 09:54 編輯 MOSFET結(jié)構(gòu)及其工作原理詳解`
    發(fā)表于 08-20 17:27

    汽車結(jié)構(gòu)基本知識詳解(圖文)

    汽車結(jié)構(gòu)基本知識詳解(圖文)
    發(fā)表于 10-09 14:17

    Xilinx系列FPGA芯片IP核詳解

    `Xilinx系列FPGA芯片IP核詳解(完整高清書簽版)`
    發(fā)表于 06-06 13:15

    USART初始化結(jié)構(gòu)詳解

    USART 初始化結(jié)構(gòu)詳解標(biāo)準(zhǔn)庫函數(shù)對每個外設(shè)都建立了一個初始化結(jié)構(gòu)體,比如USART_InitTypeDef,結(jié)構(gòu)體成員用于設(shè)置外設(shè)工作參數(shù),并由外設(shè)初始化配置函數(shù),比如USART
    發(fā)表于 02-22 06:08

    高級FPGA設(shè)計結(jié)構(gòu)、實現(xiàn)和優(yōu)化

    高級FPGA設(shè)計結(jié)構(gòu)
    發(fā)表于 01-10 10:36 ?294次下載
    高級<b class='flag-5'>FPGA</b>設(shè)計<b class='flag-5'>結(jié)構(gòu)</b>、實現(xiàn)和優(yōu)化

    異步FIFO結(jié)構(gòu)FPGA設(shè)計

    異步FIFO結(jié)構(gòu)FPGA設(shè)計,解決亞穩(wěn)態(tài)的問題
    發(fā)表于 11-10 15:21 ?4次下載

    開關(guān)電源拓?fù)?b class='flag-5'>結(jié)構(gòu)詳解

    開關(guān)電源拓?fù)?b class='flag-5'>結(jié)構(gòu)詳解
    發(fā)表于 01-14 11:18 ?74次下載

    天線結(jié)構(gòu)及天線的制作方法的詳解

    本文詳解了天線結(jié)構(gòu)及天線的制作方法。
    發(fā)表于 11-15 15:50 ?44次下載

    xilinxFPGA選型詳解

    本文檔內(nèi)容介紹了基于xilinxFPGA選型詳解,供參考查閱
    發(fā)表于 03-15 15:58 ?4次下載

    一文詳解藍(lán)牙模塊原理與結(jié)構(gòu)

    電子發(fā)燒友網(wǎng)站提供《一文詳解藍(lán)牙模塊原理與結(jié)構(gòu).pdf》資料免費下載
    發(fā)表于 11-26 16:40 ?94次下載

    FPGA-DCM使用詳解

    FPGA-DCM使用詳解(通信電源技術(shù)期刊編輯部電話)-該文檔為FPGA-DCM使用詳解文檔,是一份還算不錯的參考文檔,感興趣的可以下載看看,,,,,,,,,,,,,,,,
    發(fā)表于 09-28 11:22 ?6次下載
    <b class='flag-5'>FPGA</b>-DCM使用<b class='flag-5'>詳解</b>

    詳解FPGA的基本電路結(jié)構(gòu)

    在上一篇文章中,我們概括地講述了FPGA的一些學(xué)習(xí)誤區(qū)。本文我們將FPGA的關(guān)鍵知識串聯(lián)起來,系統(tǒng)地介紹各個知識點所處的層次和位置,為后面幾仿篇文章的詳細(xì)講解做好鋪墊。
    的頭像 發(fā)表于 03-24 11:22 ?6875次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>FPGA</b>的基本電路<b class='flag-5'>結(jié)構(gòu)</b>

    一文詳解Xilin的FPGA時鐘結(jié)構(gòu)

    ?xilinx 的 FPGA 時鐘結(jié)構(gòu),7 系列 FPGA 的時鐘結(jié)構(gòu)和前面幾個系列的時鐘結(jié)構(gòu)有了很大的區(qū)別,7系列的時鐘
    的頭像 發(fā)表于 07-03 17:13 ?3479次閱讀

    全面解讀MOSFET結(jié)構(gòu)及設(shè)計詳解

    MOSFET結(jié)構(gòu)、特性參數(shù)及設(shè)計詳解
    發(fā)表于 01-26 16:47 ?1382次閱讀