色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

FPGA基礎知識:什么是FPGA,為何需要FPGA?

eeDesigner ? 來源:物聯網評論 ? 作者:物聯網評論 ? 2022-01-13 14:04 ? 次閱讀

最佳處理解決方案常常是由 RISC、CISC、圖形處理器FPGA 的組合提供,或由 FPGA 單獨提供,或以硬處理器內核作為部分結構的 FPGA 提供。然而,許多設計人員不熟悉 FPGA 的功能、其發展脈絡以及如何使用 FPGA。本系列文章由 5 部分組成,這是第 1 部分,將討論 FPGA 的基礎知識,并介紹主要提供商的一些示例解決方案。第 2 部分、第 3 部分、第 4 部分和第 5 部分將重點關注由 Lattice Semiconductor、MicrochipAltera 和 Xilinx FPGA 器件系列設計工具。

設計人員一直在尋找系統構架的構建方法,以提供可滿足所有應用需求的最佳計算解決方案。在許多情況下,這種最佳解決方案常常需要使用現場可編程門陣列 (FPGA),但令人遺憾的是,很多設計人員對這些器件的功能以及如何進行整合并不熟悉。

本文將簡要說明可從使用 FPGA 中受益的設計場景。然后,在闡述基本工作原理之后,將會介紹一些有趣的 FPGA 解決方案和開發套件。

為何要使用 FPGA?

計算應用多種多樣,能滿足應用需求的最佳方法可能因應用而異,包括現成的微處理器 (MPU) 和微控制器 (MCU)、現成的圖形處理單元 (GPU)、FPGA 以及定制片上系統 (SoC) 器件。為了確定使用哪一種方法,需要仔細審視應用需求和考慮事項。

例如,當研究 5G 基站等尖端技術時,設計人員需要考慮到基礎標準和協議仍在不斷發展中。這意味著設計人員需要能夠快速有效地應對任何超出控制范圍的規范變更。

同樣,他們需要能夠靈活地響應未來在系統部署到現場后發生的標準和協議變更。此外,他們還必須能夠響應系統功能中的意外錯誤或系統安全性方面的漏洞,修改現有功能或添加新功能,從而延長系統使用壽命。

盡管最高性能通常是由 SoC 提供,但這種方法既昂貴又耗時。另外,在芯片結構中實現的任何算法本質上都是“凍結在硅片中”。鑒于上述考慮,這種固有的不靈活性便成了問題。為了找到高性能和靈活性的最優平衡點,需要一條替代路線。該路線常常由 FPGA、微處理器/微控制器與 FPGA 的組合或以硬處理器內核作為部分結構的 FPGA 提供。

什么是 FPGA?

這是一個很難回答的問題,因為對不同人來說,FPGA 是不同的東西。而且,FPGA 的類型有很多,每種類型都有不同的能力和功能組合。

可編程結構是任何 FPGA 的核心(即“FPGA-dom”的界定方面),并以可編程邏輯塊陣列的形式呈現(圖 1a)。每個邏輯塊都是多種元件的集合,包括查找表 (LUT)、多路復用器寄存器,所有這些元件都可以進行配置(編程)以根據需要執行操作(圖 2)。

article-2019november-fundamentals-of-fpgas-fig1.jpg?ts=6d904c63-4dfe-46f0-a5b8-f0e98a03ebe9&la=zh-CN-rmb

圖 1:最簡單的 FPGA 僅包含可編程結構和可配置 GPIO (a),不同架構是在此基本結構上增加其他元件而形成:SRAM 塊、PLL 和時鐘管理器 (b),DSP 塊和 SERDES 接口 (c),以及硬處理器內核和外設 (d)。(圖片來源:Max Maxfield)

article-2019november-fundamentals-of-fpgas-fig2.jpg?ts=75a46b0e-cf81-4634-afc6-572d2238c44e&la=zh-CN-rmb

圖 2:每個可編程邏輯塊都是多種元件的集合,包括查找表、多路復用器和寄存器,所有這些元件都可以進行配置(編程)以根據需要執行操作。(圖片來源:Max Maxfield)

許多 FPGA 使用 4 輸入 LUT,可配置為實現任何 4 輸入邏輯功能。為了更好地支持某些應用采用的寬數據路徑,有些 FPGA 提供 6 輸入、7 輸入甚至 8 輸入 LUT。LUT 的輸出直接連接到邏輯塊輸出之一和多路復用器輸入之一。多路復用器的另一個輸入直接連接到邏輯塊輸入 (e)。多路復用器可以配置為選擇其中一個輸入。

多路復用器的輸出饋入寄存器輸入。每個寄存器都可以配置為邊沿觸發的觸發器或電平敏感鎖存器(盡管如此,但不建議在 FPGA 內部使用鎖存器形式的異步邏輯)。每個寄存器的時鐘(或使能信號)可以配置為高電平有效或低電平有效。同樣,置位/復位輸入的有效電平也是可配置的。

這些邏輯塊可以被視為漂浮在“可編程互連之海”中的“可編程邏輯之島”。這種互連可配置為將任何邏輯塊的任何輸出連接到其他邏輯塊的任何輸入。同樣,FPGA 的主要輸入可以連接到任何邏輯塊的輸入,任何邏輯塊的輸出都可以用來驅動器件的主要輸出。

主要的通用輸入/輸出 (GPIO) 以組形式呈現,每組可配置為支持不同的接口標準,例如 LVCMOS、LVDS、LVTTL、HSTL 或 SSTL。另外,輸入的阻抗也是可配置的,輸出的壓擺率也一樣可配置。

FPGA 結構進一步擴展可包括 SRAM 塊(稱為塊 RAM (BRAM))、鎖相環 (PLL) 和時鐘管理器之類的東西(圖 1b)。此外,還可以添加數字信號處理 (DSP) 塊(DSP 切片)。它們包含可配置的乘法器和可配置的加法器,能夠執行乘法累加 (MAC) 運算(圖 1c)。

高速 SERDES 塊是 FPGA 的另一個常見特性,能支持千兆位串行接口。必須注意的是,并非所有 FPGA 都支持上述全部特性。不同 FPGA 針對不同的市場和應用提供不同的特性集合。

FPGA 中的可編程結構可用來實現所需的任何邏輯功能或功能集合,一直到處理器內核甚至多個內核。如果這些內核是以可編程結構實現的,則稱其為“軟內核”。相較之下,有些 FPGA(通常稱為 SoC FPGA)包含一個或多個“硬內核”處理器,其直接在硅片中實現(圖 1d)。這些硬處理器內核可能包括浮點單元 (FPU) 和 L1/L2 高速緩存。

同樣,外設接口功能(如 CANI2C、SPI、UARTUSB)可以實現為可編程結構中的軟內核,但許多 FPGA 將其作為硬內核在硅片中實現。處理器內核、接口功能和可編程結構之間的通信通常利用 AMBA 和 AXI 之類的高速總線實現。

第一批 FPGA 是由 Xilinx 于 1985 年推出上市,僅包含一個 8 x 8 可編程邏輯塊陣列(沒有 RAM 塊、DSP 塊等)。相比之下,當今的高端 FPGA 可以包含數十萬個邏輯塊、數千個 DSP 塊和以兆位 (Mb) 計的 RAM。總體而言,它們可能包含數十億個晶體管,相當于數千萬個等效門(例如 2 輸入 NAND 門)。

備選配置技術

為了確定邏輯塊的功能和互連的布線,需要借助配置單元,后者可以用 0/1(斷開/接通)開關來形象地表示。這些單元還用于配置 GPIO 接口標準、輸入阻抗、輸出壓擺率等。根據具體 FPGA,這些配置單元可以采用如下三種技術之一來實現:

反熔絲:這些配置單元是一次性可編程 (OTP) 單元,意味著一旦對器件進行了編程,就無法撤回。此類器件往往僅限于太空和高安全性應用。其銷量很小,因此價格很高,可謂昂貴的設計選擇。

閃存:像基于反熔絲的配置單元一樣,基于閃存的單元也是非易失性的。與反熔絲單元不同,閃存單元可以根據需要重新編程。閃存配置單元可以承受輻射,因而這些器件適合于太空應用(不過要對上部金屬化層和封裝進行修改)。

SRAM:采用這種手段時,配置數據存儲在外部存儲器中,每次 FPGA 上電時都要從存儲器中加載數據(或在動態配置情況下,按照指令要求加載數據)。

對于配置單元基于反熔絲或閃存的 FPGA,優勢在于它們是“即時接通”,功耗很小。這些技術的一個缺點是,除了用于創建芯片其余部分的基礎 CMOS 工藝之外,他們還需要其他處理步驟。

對于配置單元基于 SRAM 技術的 FPGA,優勢在于使用與芯片其余部分相同的 CMOS 工藝制造,并且具有更高的性能,因為它通常比反熔絲和閃存技術領先一代或兩代。主要缺點是 SRAM 配置單元比(相同技術節點的)反熔絲和閃存單元更耗電,并且容易因為輻射而發生單粒子翻轉 (SEU)。

長期以來,后一個缺點導致基于 SRAM 的 FPGA 被認為不適合用于航空航天應用。最近,業界采用了特殊緩解策略,使得基于 SRAM 的 FPGA 與基于閃存的 FPGA 一同出現在“好奇號”火星漫游車等系統上。

利用 FPGA 提供靈活性

FPGA 適用于多種多樣的應用,特別適合用于實現智能接口功能、電機控制、算法加速和高性能計算 (HPC)、圖像和視頻處理、機器視覺人工智能 (AI)、機器學習 (ML)、深度學習 (DL)、雷達、波束賦形、基站以及通信。

一個簡單的例子是在其他使用不同接口標準或通信協議的器件之間提供智能接口。請考慮一個現有系統,其中有一個應用處理器使用舊式接口連接到相機傳感器和顯示設備(圖 3a)。

article-2019november-fundamentals-of-fpgas-fig3.jpg?ts=63a0ba9d-12ff-46d8-95e9-1981088da736&la=zh-CN-rmb

圖 3:FPGA 可用于在其他使用不同接口標準或通信協議的器件之間提供智能接口,從而延長基于舊式器件的現有設計的壽命。(圖片來源:Max Maxfield)

現在,假設系統的創建者希望將相機傳感器和顯示設備升級為更輕、更便宜、功耗更低的現代產品。唯一的問題是,兩個新外設或其中之一可能使用現代接口標準,而原應用處理器 (AP) 卻無法提供支持。或者,它們可能支持完全不同的通信協議,例如移動行業處理器接口 (MIPI)。在這種情況下,采用支持多種 I/O 標準的 FPGA,再加之以某些軟 MIPI IP 內核,將能提供一條快速、低成本、無風險的升級路徑(圖 3b)。

再舉一個應用例子,考慮一些計算密集型任務,例如執行雷達系統所需的信號處理或通信基站中的波束賦形。采用馮諾依曼或哈佛架構的常規處理器非常適合某些任務,但不適合于需要重復執行相同操作序列的任務。這是因為運行單個線程的單個處理器內核一次只能執行一條指令(圖 4a)。

article-2019november-fundamentals-of-fpgas-fig4.jpg?ts=947b05c2-7d1f-479f-b410-366c942cf7d4&la=zh-CN-rmb

圖 4:微處理器一次只能(順序地)執行一條指令,與此不同的是,FPGA 中的多個功能塊可以同時(并發地)執行。另外,FPGA 能以大規模并行方式實現適當的算法。(圖片來源:Max Maxfield)

相比之下,FPGA 中可以同時執行多個功能,支持以流水線方式完成一系列操作,進而實現更大的吞吐量。同樣,FPGA 不像處理器那樣執行相同的操作,例如對 1,000 對數據值再執行 1,000 次運算,而是在可編程結構中實例化 1,000 個加法器,從而在單個時鐘周期中以大規模并行方式執行相同的計算(圖 4b)。

哪些廠商制造 FPGA?

這是一幅不斷演變的畫卷。具備最高容量和性能的高端器件有兩家主要制造商,分別是 Intel(其收購了 Altera)和 Xilinx。

Intel 和 Xilinx 提供從低端 FPGA 到高端 SoC FPGA 的各種產品。另一家幾乎完全專注于 FPGA 的供應商是 Lattice Semiconductor,其針對的是中低端應用。最后但并非最不重要的一家是 Microchip Technology(通過收購 ActelAtmelMicrosemi),現在可提供多個系列的中小型 FPGA 和低端 SoC FPGA 類產品。

由于產品系列眾多,每個系列提供不同的資源、性能、容量和封裝樣式,因此為眼前的任務選擇最佳器件可能很棘手。下面是一些例子:Intel 器件;Lattice Semiconductor 器件;以及 Xilinx 器件。

如何使用 FPGA 進行設計?

傳統的 FPGA 設計方法是工程師使用 Verilog 或 VHDL 之類的硬件描述語言來捕獲設計意圖。首先可以對這些描述進行仿真,以驗證其是否符合要求,然后將其傳送給綜合工具,生成用于配置(編程)FPGA 的配置文件。

每家 FPGA 供應商要么有自己內部開發的工具鏈,要么提供專業供應商定制的工具版本。無論哪種情況,都可以從 FPGA 供應商網站獲得這些工具。另外,成熟工具套件可能有免費或低成本的版本。

為使 FPGA 更易于為軟件開發人員所用,一些 FPGA 供應商現在提供高級綜合 (HLS) 工具。這些工具會解析在 C、C ++ 或 OpenCL 中以高級抽象所捕獲的期望行為的算法描述,并生成輸入以提供給較低級的綜合引擎。

對于希望入門的設計人員,有許多開發和評估板可用,每種板提供不同的功能和特性。這里給出三個例子:DFRobot 的 DFR0600 開發套件,其具有 Xilinx 的 Zynq-7000 SoC FPGA;Terasic Inc. 的 DE10 Nano,其具有 Intel 的 Cyclone V SoC FPGA;ICE40HX1K-STICK-EVN 評估板,其具有 Lattice Semiconductor 的低功耗 iCE40 FPGA。

若設計人員計劃使用基于 FPGA 的 PCIe 子卡來加速 X86 主板上運行的應用程序,可以關注 Alveo PCIe 子卡等產品,也是由 Xilinx 提供。

總結

最佳設計解決方案常常由 FPGA、處理器與 FPGA 的組合或以硬處理器內核作為部分結構的 FPGA 提供。

FPGA 多年來發展迅速,能夠滿足靈活性、處理速度、功耗等多方面的設計需求,適合于廣泛的應用。

審核編輯:符乾江

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

    關注

    1641

    文章

    21912

    瀏覽量

    611708
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17699

    瀏覽量

    357857
  • MPU
    MPU
    +關注

    關注

    0

    文章

    399

    瀏覽量

    49503
收藏 6人收藏
  • 不吃香菜a1

評論

相關推薦

哪有FPGA的verilog編程基礎知識

沒接觸過FPGA開發,那個verilog編程有什么入門基礎知識學習的?
發表于 04-29 23:09

FPGA基礎知識,初學者必備。

FPGA基礎知識,初學者必備。
發表于 11-27 15:03

FPGA基礎知識點及工作原理是什么

FPGA基礎知識點及工作原理是什么
發表于 04-30 06:14

FPGA基礎知識簡介

FPGA基礎知識簡介 FPGA技術的發展歷史縱觀數字集成電路的發展歷史,經歷了從電子管、晶體管、小規模集成電路到大規模以及超大規模集成
發表于 02-09 08:34 ?1349次閱讀

FPGA核心知識詳解(1):FPGA入門必備

電子發燒友網核心提示 :對初級FPGA工程師而言,必須掌握FPGA相關基礎知識、精通硬件描述語言、熟練數字電路設計、加強工程項目的實踐。應廣大初級FPGA工程師/
發表于 11-09 13:55 ?8182次閱讀

FPGA教程之CPLD與FPGA基礎知識說明

本文檔詳細介紹的是FPGA教程之CPLD與FPGA基礎知識說明主要內容包括了:一、復雜可編程邏輯器件簡介二、CPLD的組成與特點三、FPGA的組成與特點四、CPLD與
發表于 02-27 17:09 ?37次下載
<b class='flag-5'>FPGA</b>教程之CPLD與<b class='flag-5'>FPGA</b>的<b class='flag-5'>基礎知識</b>說明

FPGA基礎知識培訓教程免費下載

本文檔的主要人詳細介紹的是FPGA基礎知識培訓教程免費下載包括了:1.什么是FPGA ,2.Actel FPGA整體概述 3.Actel FPGA
發表于 04-23 08:00 ?8次下載
<b class='flag-5'>FPGA</b><b class='flag-5'>基礎知識</b>培訓教程免費下載

FPGA硬件基礎知識FPGA的邏輯單元工程文件免費下載

本文檔的主要內容詳細介紹的是FPGA硬件基礎知識FPGA的邏輯單元工程文件免費下載。
發表于 12-10 15:00 ?16次下載

FPGA的入門基礎知識詳細說明

本文檔的主要內容詳細介紹的是FPGA的入門基礎知識詳細說明。
的頭像 發表于 12-20 10:13 ?9835次閱讀
<b class='flag-5'>FPGA</b>的入門<b class='flag-5'>基礎知識</b>詳細說明

FPGA基礎知識----FPGA 簡介

可以通過編程來改變內部結構的芯片。FPGA 功能實現:需要通過編程即設計硬件描述語言,經過 EDA 工具
發表于 11-30 17:21 ?44次下載
<b class='flag-5'>FPGA</b><b class='flag-5'>基礎知識</b>----<b class='flag-5'>FPGA</b> 簡介

如何學習FPGAFPGA學習必備的基礎知識

FPGA已成為現今的技術熱點之一,無論學生還是工程師都希望跨進FPGA的大門。網絡上各種開發板、培訓班更是多如牛毛,仿佛在告訴你不懂FPGA你就OUT啦。那么我們要玩轉FPGA必須具備
的頭像 發表于 10-27 17:43 ?957次閱讀

基于FPGA的加速基礎知識

電子發燒友網站提供《基于FPGA的加速基礎知識.pdf》資料免費下載
發表于 09-18 10:12 ?0次下載
基于<b class='flag-5'>FPGA</b>的加速<b class='flag-5'>基礎知識</b>

FPGA基礎知識介紹

電子發燒友網站提供《FPGA基礎知識介紹.pdf》資料免費下載
發表于 02-23 09:45 ?33次下載

FPGA基礎知識及設計和執行FPGA應用所需的工具

本文將首先介紹FPGA基礎知識,包括FPGA的工作原理以及為什么要使用FPGA等,然后討論設計和執行FPGA應用所需的工具。
的頭像 發表于 11-11 11:29 ?1536次閱讀
<b class='flag-5'>FPGA</b><b class='flag-5'>基礎知識</b>及設計和執行<b class='flag-5'>FPGA</b>應用所需的工具

玩轉FPGA必備的基礎知識

FPGA已成為現今的技術熱點之一,無論學生還是工程師都希望跨進FPGA的大門。那么我們要玩轉FPGA必須具備哪些基礎知識呢?下面我們慢慢道來。 (一) 要了解什么是
的頭像 發表于 11-28 10:24 ?628次閱讀
主站蜘蛛池模板: 狠日狠干日曰射 | 在线播放免费人成毛片视频 | 俄罗斯9一14 young处 | 边摸边吃奶玩乳尖视频 | 久久99亚洲AV无码四区碰碰 | 37大但人文艺术A级都市天气 | 阿娇和冠希13分钟在线观看 | 久艾草在线精品视频在线观看 | 真实农村女人野外自拍照片 | 亚洲乱亚洲乱妇在线观看 | 熟女人妻AV五十路六十路 | 樱花动漫成人隐藏入口 | 蜜芽一区二区国产精品 | 伊人国产在线观看 | 国产精品毛片在线视频 | 99精品视频在线 | 射死你天天日 | 呜呜别塞了啊抽插 | 中文字幕人成人乱码亚洲影视 | 女人色极品影院 | 美女gif趴跪式动态图 | 欧美亚洲日韩国码在线观看 | 97人摸人人澡人人人超一碰 | 给个男人都懂的网址2019 | 中文字幕在线观看 | 成人国产AV精品久久久久 | 香蕉精品国产高清自在自线 | 阴茎插入阴道 | 精品手机在线1卡二卡3卡四卡 | 日韩精品真人荷官无码 | 魔乳 堕乳漫画acg产卵 | 亚洲国产在线99视频 | 亚洲欧美一区二区三区久久 | 欧美肥胖女人bbwbbw视频 | 99re8久久热在线视频 | 长篇高h肉爽文丝袜 | 免费在线视频成人 | 在线视频av大全色久久 | 伊人久久大线蕉香港三级 | 文中字幕一区二区三区视频播放 | 国产高清在线观看 |

電子發燒友

中國電子工程師最喜歡的網站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品