<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天內不再提示

為什么以及如何將 Efinix FPGA 用于 AI/ML 成像 — 第 1 部分:入門指南

海闊天空的專欄 ? 來源:Adam Taylor ? 作者:Adam Taylor ? 2023-10-03 14:45 ? 次閱讀

作者:Adam Taylor

編者按:全新的 FPGA 架構方法帶來了更精細的控制和更大的靈活性,以滿足機器學習 (ML) 和人工智能AI) 的需求。本系列文章包括兩部分,第 1部分介紹了 Efinix 的一款此類架構,以及如何借助開發板快速入門。第 2 部分討論了開發板與外部器件和外設(如攝像頭)的連接。

工業控制和安全到機器人、航空航天和汽車,FPGA 在許多應用中扮演著重要角色。憑借可編程邏輯內核的靈活性及其廣泛的接口能力,FPGA 在需要部署 ML推理的影像處理中的應用日漸廣泛。FPGA 非常適合用來實現具有多個高速攝像頭接口的解決方案。此外,FPGA 還能在邏輯中實現專門的處理管道,從而消除基于 CPUGPU 的解決方案的相關瓶頸。

然而,對于許多開發人員來說,他們的應用需要更多 ML/AI 功能及更精細的控制或路由和邏輯,而這些是采用組合邏輯塊 (CLB) 的經典 FPGA架構所不能提供的。全新的 FPGA 架構方法解決了這些問題。例如,Efinix 的 Quantum 架構采用可交換邏輯和路由 (XLR) 塊。

本文討論了 Efinix FPGA 架構的主要特點和屬性,重點介紹其 AI/ML能力并探討了其在真實世界的實現。隨后,本文討論了一款開發板及相關工具,開發人員可以借助它們快速開始后續 AI/ML 成像設計。

Efinix FPGA 器件

Efinix 目前提供兩個系列的器件。最初推出的是 Trion 系列,邏輯密度為 4000 (4K) 至 120K 邏輯元件 (LE),采用 SMIC40LL 工藝制造。最新系列的器件則是 Titanium 系列,邏輯密度為 35K 至 100 萬 (1M) 邏輯元件,采用非常流行的 TSMC 16 nm節點制造。

這兩個系列均基于 Quantum 架構,這在 FPGA 領域是獨一無二的。標準 FPGA 架構基于 CLB,在最基礎的層面上,包含一個查找表 (LUT)和觸發器。CLB 實現邏輯方程,然后通過路由互連。借助 XLR 塊,Efinix 的 Quantum 架構擺脫了單獨的邏輯和路由塊。

XLR 塊的獨特之處在于,可以將其配置為具有LUT、寄存器和加法器或路由矩陣的邏輯單元。這種方法帶來一個更精細的架構,可提供路由靈活性,使復雜邏輯或路由的實現能夠達到預期的性能。

1.png

最新的 Titanium 系列器件為開發人員提供了最先進的功能(圖 2)。搭載 XLR 內核,該系列器件可提供運行速度為 16 Gbps 或 25.8Gbps(具體取決于所選擇的器件)的多千兆位串行鏈路。這些多千兆位鏈路對于實現芯片內外的高速數據傳輸至關重要。

2.png

Titanium 器件還提供廣泛的輸入/輸出 (I/O) 接口功能,可歸類為通用 I/O (GPIO),并可支持單端 I/O 標準,如 3.3 V、2.5V 和 1.8 V 的低壓 CMOS (LVCMOS)。

對于高速和差分接口,Titanium 器件提供高速 I/O (HSIO),支持單端 I/O 標準,如 1.2 V、1.5 V 的 LVCMOS,以及SSTL 和 HSTL。HSIO 支持的差分 I/O 標準包括低壓差分信號 (LVDS)、差分 SSTL 和 HSTL。

現代 FPGA 還需要緊密耦合的高帶寬存儲器來存儲用于圖像處理應用的圖像幀、用于信號處理的采樣數據,當然還要為 FPGA內實現的處理器運行操作系統及軟件。Titanium 系列器件能夠連接動態數據速率四 (DDR4) 和低功耗 DDR4(x)(LPDDR4(x))。根據所選擇的具體 Titanium 器件,支持的總線寬度為 x32 (J) 或 x16 (M),而有些器件不支持 LPDDR4(L)。

Titanium FPGA 基于 SRAM,需要配置存儲器,通過主/從串行外設互連器件 (SPI) 或 JTAG進行器件配置。為了確保這種配置方法安全,Titanium FPGA 使用 AES GCM 對比特流進行加密,同時使用 AES GCM 和 RSA-4096提供比特流驗證。采用這種強大的安全措施非常有必要,原因在于 FPGA 部署在邊緣,惡意攻擊者可在邊緣訪問并操縱其行為。

開發板介紹

開發板是 FPGA 評估流程的關鍵要素,因為它們可以用來探索器件的功能和原型應用,從而幫助降低整體風險。首款可用于評估 Titanium FPGA和開始原型設計應用的開發板是 Ti180 M484(圖 3)。此開發板具有一個 FPGA 夾層卡 (FMC) 連接器和 4 個Samtec QSE連接器。

3.png

安裝在此開發板上的 Ti180 FPGA 提供 172K XLR 單元、32 個全局時鐘、640 個數字信號處理 (DSP) 元件和 13 Mb 的嵌入式RAM。DSP 元件能夠實現固定點 18 x 19 乘法和 48 位乘法運算。此 DSP 還可針對以雙路或四路配置運行的單指令多數據 (SIMD)運算進行優化。DSP 元件也可以配置為執行浮點運算。

像大多數開發板一樣,Ti180 開發板提供了簡單的 LED 和按鈕。但是,其真正的強大之處在于連接能力。Ti180 開發板提供一個小引腳數的 FMC連接器,可以連接各種外設。由于這是一種廣泛使用的標準,因此有許多 FMC 卡可以實現高速模數轉換器ADC)、數模轉換器DAC)、網絡和內存/存儲解決方案的連接。

除 FMC 連接外,此開發板還配備 4 個 Samtec QSE 連接器,供開發人員添加擴展卡。這些 QSE 連接器用于提供 MIPI輸入和輸出,其中每個 QSE 連接器提供一個 MIPI 輸入或輸出。

4.png

Ti180 開發板還提供 256 Mb 的LPDDR4,以支持影像或信號處理應用所需的高性能存儲器。此外,該開發板提供了一系列時鐘選項(25、33.33、50 和 74.25 MHz),可搭配器件鎖相環(PLL) 使用以產生不同的內部頻率。

在開發過程中,能夠在開發板上實時重新編程和調試至關重要,而這需要 JTAG 連接,此板通過 USB-C 接口提供了此連接。另外,還提供了兩個 256 MbNOR 閃存器件形式的非易失性存儲器,可用于演示配置解決方案。

此開發板由包裝盒內隨附的 12 V 通用電源適配器供電。附件還包括一個 FMC 到 QSE 分線板,以及基于 QSE 的 HDMI、以太網、MIPI 和LVDS 擴展卡。為了演示 Ti180 的影像處理能力,還提供一個雙 RPI 子卡和兩個 IMX477 攝像頭卡。

軟件環境

實現針對 Ti180 開發板的設計時要使用 Efinix 軟件 Efinity。該軟件能夠通過合成及布局布線生成比特流。此外,它還為開發人員提供了知識產權(IP) 塊、時序分析和片上調試功能。

請注意,需要有開發板才能使用 Efinity 軟件。但與其他供應商不同的是,該工具沒有其他需要額外許可的版本。

在 Efinity 中,針對所選的器件創建項目。然后,可以將 RTL 文件添加到項目中,并為定時和 I/O 設計創建約束條件。利用 HSIO、GPIO和專用 I/O,開發人員還可在 Efinity 中實現 I/O 設計。

5.png

FPGA 設計的一個關鍵因素是利用 IP,特別是復雜的 IP,如 AXI 互連、存儲器控制器和軟核處理器。Efinity 為開發人員提供了一系列 IP塊,可用于加速設計過程。

6.png

雖然 FPGA 在實現并行處理結構方面表現優異,但許多 FPGA 設計包含軟核處理器。這些處理器能夠實現順序處理,如網絡通信。為了能夠在 Efinix器件中部署軟核處理器,Efinity 提供了 Sapphire 片上系統 (SoC) 配置工具。Sapphire允許開發人員定義一個多處理器系統,該系統具有跨多個處理器的緩存和緩存一致性,同時能夠運行嵌入式 Linux 操作系統。在 Sapphire 中,開發人員可以選擇1 至 4 個軟核處理器。

所實現的軟核處理器是 VexRiscV 軟 CPU,基于 RISC-V 指令集架構。VexRiscV 處理器是一款 32
位實現,具有流水線擴展,并提供可配置的特性集,使其非常適合用作 Efinix 器件中的軟核處理器??蛇x配置包括乘法器、原子指令、浮點擴展和壓縮指令。根據 SoC系統的配置,性能范圍為 0.86 至 1.05 DMIPS/MHz。

在 Efinix 器件中設計并實現硬件環境后,即可使用 Ashling RiscFree IDE 來開發應用軟件。Ashling RiscFree是一款基于 Eclipse 的 IDE,能夠創建和編譯應用軟件,并可針對目標進行調試,以在部署前對應用程序進行微調。

7.png

如果要開發嵌入式 Linux 解決方案,將提供所有必要的啟動工具,包括第一級引導程序、OpenSBI、U-Boot 和使用 Buildroot 的Linux。另外,如果需要實時解決方案,開發人員可以使用 FreeRTOS。

AI 實現

Efinix 的 AI 實現以 RISC-V 軟核運算為基礎。其中利用 RISC-V 處理器的自定義指令功能,來實現 TensorFlow Lite解決方案的加速。借助 RISC-V 處理器,用戶還能夠創建自定義指令,這些指令可用作 AI
推理后的預處理或后處理的一部分,從而創建出響應速度更快、更具確定性的解決方案。

要開始 AI 實現,第一步是探索 Efinix 模型庫,這是一個已針對其終端技術優化的 AI/ML 模型庫。對于使用 Efinix器件的開發人員,可以訪問該模型庫,并使用 Jupyter Notebooks 或 Google Colab 來訓練網絡。訓練網絡后,便可使用TensorFlow Lite 轉換器將其從浮點模型轉換為量化模型。

轉入 TensorFlow Lite 格式后,可以利用 Efinix 的 tinyML 加速器在 RISC-V解決方案上創建可部署的解決方案。tinyML 生成器使開發人員能夠定制加速器的實現并生成項目文件。當以這種方式部署時,加速可達 4 至 200倍,具體取決于所選的架構和定制方案。

總結

憑借獨特的 XLR 結構,Efinix 器件可為開發人員提供靈活性。該工具鏈不僅能實現 RTL 設計,還能實現部署軟核 RISC-V 處理器的復雜 SoC解決方案。AI/ML 解決方案建立在軟核 SoC 之上,可以實現 ML 推理的部署。

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

    關注

    1603

    文章

    21328

    瀏覽量

    593264
  • AI
    AI
    +關注

    關注

    87

    文章

    26465

    瀏覽量

    264095
  • 開發板
    +關注

    關注

    25

    文章

    4436

    瀏覽量

    94057
  • ML
    ML
    +關注

    關注

    0

    文章

    139

    瀏覽量

    34295
收藏 人收藏

    評論

    相關推薦

    為什么以及如何使用 Efinix FPGA 進行 AI/ML 成像 — 第 1 部分入門

    編者按:FPGA 架構的新方法帶來了更細粒度的控制和更大的靈活性,以滿足機器學習 (ML) 和人工智能 (AI) 的需求。這個由兩部分組成的系列的第 1
    的頭像 發表于 04-24 14:49 ?8702次閱讀
    為什么<b class='flag-5'>以及</b>如何使用 <b class='flag-5'>Efinix</b> <b class='flag-5'>FPGA</b> 進行 <b class='flag-5'>AI</b>/<b class='flag-5'>ML</b> <b class='flag-5'>成像</b> — 第 1 <b class='flag-5'>部分</b>:<b class='flag-5'>入門</b>

    為什么以及如何將 Efinix FPGA 用于 AI/ML 成像第 2 部分:圖像采集和處理

    作者:Adam Taylor 編者按:全新的 FPGA 架構方法帶來了更精細的控制和更大的靈活性,以滿足機器學習 (ML) 和人工智能 (AI) 的需求。本系列文章包括兩部分,第 1
    的頭像 發表于 10-03 14:45 ?479次閱讀
    為什么<b class='flag-5'>以及</b><b class='flag-5'>如何將</b> <b class='flag-5'>Efinix</b> <b class='flag-5'>FPGA</b> <b class='flag-5'>用于</b> <b class='flag-5'>AI</b>/<b class='flag-5'>ML</b> <b class='flag-5'>成像</b>第 2 <b class='flag-5'>部分</b>:圖像采集和處理

    FPGA入門公益講座1講課件

    FPGA入門公益講座1講課件
    發表于 04-13 18:43

    新冒出來的Efinix會革掉FPGA的命么?

    布線資源方面做出了突破?! 鹘y的FPGA中,用于布線的單元和用于實現邏輯功能的單元是分開的,這也造成了布線的困難并限制了性能。在Efinix提出的Quantum
    發表于 11-01 20:08

    如何將約束應用于設計

    我是FPGA新手,我想了解如何將約束應用于設計。請幫助我以上來自于谷歌翻譯以下為原文i am new to FPGA, i want to have knowledge about a
    發表于 01-08 10:07

    【技術雜談】動畫演示各大算法,助力 AI 小白順利入門

    被識別成1,識別成4也是很出乎我的意料了,大家可以發揮自己的想象力來調戲這個AI。2章 無處不在的人工智能人工智能(AI)在我們的生活中正扮演著愈發重要的角色。在這一章里你將了解到人
    發表于 07-25 16:07

    ML605自測試演示無法工作

    我剛剛打開了一個全新的ML605嵌入式套件,并嘗試按照硬件和設備進行操作。演示設置指南。我按照設置指南中的每一步操作,但無法使視頻演示工作。這就是我做的步驟1:設置以太網連接 - 將以
    發表于 09-18 10:42

    如何將IC的SCL和SDA引腳與FPGA板連接起來?

    Aoa ..我想將我的FPGA板(virtex6 ML605)與外部時鐘IC(ds1307)連接起來。請指導我如何將IC的SCL和SDA引腳與FPGA板連接。謝謝
    發表于 04-29 08:13

    如何將FPGA編程為加法器并使其運行

    你好,我對FPGA編程過程完全陌生。我擁有ML501板以及JTAG編程盒和電纜。我想編程FPGA,但我不知道如何將我的文件下載到電路板上,也
    發表于 06-08 09:29

    如何將輸出映射到引腳?

    嗨,我正在使用ML605,并試圖LED輸出連接到一個簡單的組合Verilog模塊的輸出。我參考ML605硬件用戶指南
    發表于 06-08 15:19

    如何將矢量信號分析工具應用于多域場合?

    本應用指南介紹軟件定義無線電SDR體系結構和分析工具的類型,測量軟件無線電的數字、模擬和射頻部分時可使用這些分析工具。本指南還說明了在進行SDR部件和系統設計及故障診斷時,如何將矢量信
    發表于 05-20 06:49

    如何將外部SDRAM用于相機和LCD緩沖區和AI?

    不使用它,我在調用 BSP_LCD_FillRect() 時仍然有問題 => 它不顯示矩形,而在其他項目中,它顯示了。問題 1:我們可以看到有多少外部 RAM 是為 CubeAI 預留的?(為了
    發表于 12-30 06:07

    Efinix將與三星合作開發Quantum eFPGA

    Efinix是一家專注于可編程產品平臺和技術的公司,據外媒報道,三星電子宣布將與Efinix公司合作開發三星10nm硅工藝的Quantum eFPGA。
    發表于 08-13 17:46 ?973次閱讀

    有關招聘AIML專業人員的詳細指南

    在本文中,我們與您分享有關招聘AIML專業人員的詳細指南,包括尋找技能,根據情況應用的招聘策略以及可以吸引頂尖人才的優勢。我們還分享了一些有關保留最佳
    的頭像 發表于 04-09 14:20 ?3557次閱讀

    FPGA 上實施 AI/ML 的選項

    FPGA 上實施 AI/ML 的選項
    的頭像 發表于 12-28 09:51 ?548次閱讀
    亚洲欧美日韩精品久久_久久精品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>