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

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

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

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

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

作者:Adam Taylor

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

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

然而,對(duì)于許多開(kāi)發(fā)人員來(lái)說(shuō),他們的應(yīng)用需要更多 ML/AI 功能及更精細(xì)的控制或路由和邏輯,而這些是采用組合邏輯塊 (CLB) 的經(jīng)典 FPGA架構(gòu)所不能提供的。全新的 FPGA 架構(gòu)方法解決了這些問(wèn)題。例如,Efinix 的 Quantum 架構(gòu)采用可交換邏輯和路由 (XLR) 塊。

本文討論了 Efinix FPGA 架構(gòu)的主要特點(diǎn)和屬性,重點(diǎn)介紹其 AI/ML能力并探討了其在真實(shí)世界的實(shí)現(xiàn)。隨后,本文討論了一款開(kāi)發(fā)板及相關(guān)工具,開(kāi)發(fā)人員可以借助它們快速開(kāi)始后續(xù) AI/ML 成像設(shè)計(jì)。

Efinix FPGA 器件

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

這兩個(gè)系列均基于 Quantum 架構(gòu),這在 FPGA 領(lǐng)域是獨(dú)一無(wú)二的。標(biāo)準(zhǔn) FPGA 架構(gòu)基于 CLB,在最基礎(chǔ)的層面上,包含一個(gè)查找表 (LUT)和觸發(fā)器。CLB 實(shí)現(xiàn)邏輯方程,然后通過(guò)路由互連。借助 XLR 塊,Efinix 的 Quantum 架構(gòu)擺脫了單獨(dú)的邏輯和路由塊。

XLR 塊的獨(dú)特之處在于,可以將其配置為具有LUT、寄存器和加法器或路由矩陣的邏輯單元。這種方法帶來(lái)一個(gè)更精細(xì)的架構(gòu),可提供路由靈活性,使復(fù)雜邏輯或路由的實(shí)現(xiàn)能夠達(dá)到預(yù)期的性能。

1.png

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

2.png

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

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

現(xiàn)代 FPGA 還需要緊密耦合的高帶寬存儲(chǔ)器來(lái)存儲(chǔ)用于圖像處理應(yīng)用的圖像幀、用于信號(hào)處理的采樣數(shù)據(jù),當(dāng)然還要為 FPGA內(nèi)實(shí)現(xiàn)的處理器運(yùn)行操作系統(tǒng)及軟件。Titanium 系列器件能夠連接動(dòng)態(tài)數(shù)據(jù)速率四 (DDR4) 和低功耗 DDR4(x)(LPDDR4(x))。根據(jù)所選擇的具體 Titanium 器件,支持的總線寬度為 x32 (J) 或 x16 (M),而有些器件不支持 LPDDR4(L)。

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

開(kāi)發(fā)板介紹

開(kāi)發(fā)板是 FPGA 評(píng)估流程的關(guān)鍵要素,因?yàn)樗鼈兛梢杂脕?lái)探索器件的功能和原型應(yīng)用,從而幫助降低整體風(fēng)險(xiǎn)。首款可用于評(píng)估 Titanium FPGA和開(kāi)始原型設(shè)計(jì)應(yīng)用的開(kāi)發(fā)板是 Ti180 M484(圖 3)。此開(kāi)發(fā)板具有一個(gè) FPGA 夾層卡 (FMC) 連接器和 4 個(gè)Samtec QSE連接器。

3.png

安裝在此開(kāi)發(fā)板上的 Ti180 FPGA 提供 172K XLR 單元、32 個(gè)全局時(shí)鐘、640 個(gè)數(shù)字信號(hào)處理 (DSP) 元件和 13 Mb 的嵌入式RAM。DSP 元件能夠?qū)崿F(xiàn)固定點(diǎn) 18 x 19 乘法和 48 位乘法運(yùn)算。此 DSP 還可針對(duì)以雙路或四路配置運(yùn)行的單指令多數(shù)據(jù) (SIMD)運(yùn)算進(jìn)行優(yōu)化。DSP 元件也可以配置為執(zhí)行浮點(diǎn)運(yùn)算。

像大多數(shù)開(kāi)發(fā)板一樣,Ti180 開(kāi)發(fā)板提供了簡(jiǎn)單的 LED 和按鈕。但是,其真正的強(qiáng)大之處在于連接能力。Ti180 開(kāi)發(fā)板提供一個(gè)小引腳數(shù)的 FMC連接器,可以連接各種外設(shè)。由于這是一種廣泛使用的標(biāo)準(zhǔn),因此有許多 FMC 卡可以實(shí)現(xiàn)高速模數(shù)轉(zhuǎn)換器ADC)、數(shù)模轉(zhuǎn)換器DAC)、網(wǎng)絡(luò)和內(nèi)存/存儲(chǔ)解決方案的連接。

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

4.png

Ti180 開(kāi)發(fā)板還提供 256 Mb 的LPDDR4,以支持影像或信號(hào)處理應(yīng)用所需的高性能存儲(chǔ)器。此外,該開(kāi)發(fā)板提供了一系列時(shí)鐘選項(xiàng)(25、33.33、50 和 74.25 MHz),可搭配器件鎖相環(huán)(PLL) 使用以產(chǎn)生不同的內(nèi)部頻率。

在開(kāi)發(fā)過(guò)程中,能夠在開(kāi)發(fā)板上實(shí)時(shí)重新編程和調(diào)試至關(guān)重要,而這需要 JTAG 連接,此板通過(guò) USB-C 接口提供了此連接。另外,還提供了兩個(gè) 256 MbNOR 閃存器件形式的非易失性存儲(chǔ)器,可用于演示配置解決方案。

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

軟件環(huán)境

實(shí)現(xiàn)針對(duì) Ti180 開(kāi)發(fā)板的設(shè)計(jì)時(shí)要使用 Efinix 軟件 Efinity。該軟件能夠通過(guò)合成及布局布線生成比特流。此外,它還為開(kāi)發(fā)人員提供了知識(shí)產(chǎn)權(quán)(IP) 塊、時(shí)序分析和片上調(diào)試功能。

請(qǐng)注意,需要有開(kāi)發(fā)板才能使用 Efinity 軟件。但與其他供應(yīng)商不同的是,該工具沒(méi)有其他需要額外許可的版本。

在 Efinity 中,針對(duì)所選的器件創(chuàng)建項(xiàng)目。然后,可以將 RTL 文件添加到項(xiàng)目中,并為定時(shí)和 I/O 設(shè)計(jì)創(chuàng)建約束條件。利用 HSIO、GPIO和專用 I/O,開(kāi)發(fā)人員還可在 Efinity 中實(shí)現(xiàn) I/O 設(shè)計(jì)。

5.png

FPGA 設(shè)計(jì)的一個(gè)關(guān)鍵因素是利用 IP,特別是復(fù)雜的 IP,如 AXI 互連、存儲(chǔ)器控制器和軟核處理器。Efinity 為開(kāi)發(fā)人員提供了一系列 IP塊,可用于加速設(shè)計(jì)過(guò)程。

6.png

雖然 FPGA 在實(shí)現(xiàn)并行處理結(jié)構(gòu)方面表現(xiàn)優(yōu)異,但許多 FPGA 設(shè)計(jì)包含軟核處理器。這些處理器能夠?qū)崿F(xiàn)順序處理,如網(wǎng)絡(luò)通信。為了能夠在 Efinix器件中部署軟核處理器,Efinity 提供了 Sapphire 片上系統(tǒng) (SoC) 配置工具。Sapphire允許開(kāi)發(fā)人員定義一個(gè)多處理器系統(tǒng),該系統(tǒng)具有跨多個(gè)處理器的緩存和緩存一致性,同時(shí)能夠運(yùn)行嵌入式 Linux 操作系統(tǒng)。在 Sapphire 中,開(kāi)發(fā)人員可以選擇1 至 4 個(gè)軟核處理器。

所實(shí)現(xiàn)的軟核處理器是 VexRiscV 軟 CPU,基于 RISC-V 指令集架構(gòu)。VexRiscV 處理器是一款 32
位實(shí)現(xiàn),具有流水線擴(kuò)展,并提供可配置的特性集,使其非常適合用作 Efinix 器件中的軟核處理器。可選配置包括乘法器、原子指令、浮點(diǎn)擴(kuò)展和壓縮指令。根據(jù) SoC系統(tǒng)的配置,性能范圍為 0.86 至 1.05 DMIPS/MHz。

在 Efinix 器件中設(shè)計(jì)并實(shí)現(xiàn)硬件環(huán)境后,即可使用 Ashling RiscFree IDE 來(lái)開(kāi)發(fā)應(yīng)用軟件。Ashling RiscFree是一款基于 Eclipse 的 IDE,能夠創(chuàng)建和編譯應(yīng)用軟件,并可針對(duì)目標(biāo)進(jìn)行調(diào)試,以在部署前對(duì)應(yīng)用程序進(jìn)行微調(diào)。

7.png

如果要開(kāi)發(fā)嵌入式 Linux 解決方案,將提供所有必要的啟動(dòng)工具,包括第一級(jí)引導(dǎo)程序、OpenSBI、U-Boot 和使用 Buildroot 的Linux。另外,如果需要實(shí)時(shí)解決方案,開(kāi)發(fā)人員可以使用 FreeRTOS。

AI 實(shí)現(xiàn)

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

要開(kāi)始 AI 實(shí)現(xiàn),第一步是探索 Efinix 模型庫(kù),這是一個(gè)已針對(duì)其終端技術(shù)優(yōu)化的 AI/ML 模型庫(kù)。對(duì)于使用 Efinix器件的開(kāi)發(fā)人員,可以訪問(wèn)該模型庫(kù),并使用 Jupyter Notebooks 或 Google Colab 來(lái)訓(xùn)練網(wǎng)絡(luò)。訓(xùn)練網(wǎng)絡(luò)后,便可使用TensorFlow Lite 轉(zhuǎn)換器將其從浮點(diǎn)模型轉(zhuǎn)換為量化模型。

轉(zhuǎn)入 TensorFlow Lite 格式后,可以利用 Efinix 的 tinyML 加速器在 RISC-V解決方案上創(chuàng)建可部署的解決方案。tinyML 生成器使開(kāi)發(fā)人員能夠定制加速器的實(shí)現(xiàn)并生成項(xiàng)目文件。當(dāng)以這種方式部署時(shí),加速可達(dá) 4 至 200倍,具體取決于所選的架構(gòu)和定制方案。

總結(jié)

憑借獨(dú)特的 XLR 結(jié)構(gòu),Efinix 器件可為開(kāi)發(fā)人員提供靈活性。該工具鏈不僅能實(shí)現(xiàn) RTL 設(shè)計(jì),還能實(shí)現(xiàn)部署軟核 RISC-V 處理器的復(fù)雜 SoC解決方案。AI/ML 解決方案建立在軟核 SoC 之上,可以實(shí)現(xiàn) ML 推理的部署。

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

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603419
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30896

    瀏覽量

    269108
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5050

    瀏覽量

    97483
  • ML
    ML
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    34658
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    為什么以及如何使用 Efinix FPGA 進(jìn)行 AI/ML 成像 1 部分入門

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

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

    作者:Adam Taylor 編者按:全新的 FPGA 架構(gòu)方法帶來(lái)了更精細(xì)的控制和更大的靈活性,以滿足機(jī)器學(xué)習(xí) (ML) 和人工智能 (AI) 的需求。本系列文章包括兩部分,
    的頭像 發(fā)表于 10-03 14:45 ?1000次閱讀
    為什么<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><b class='flag-5'>第</b> 2 <b class='flag-5'>部分</b>:圖像采集和處理

    FPGA入門公益講座1講課件

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

    新冒出來(lái)的Efinix會(huì)革掉FPGA的命么?

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

    如何將約束應(yīng)用于設(shè)計(jì)

    我是FPGA新手,我想了解如何將約束應(yīng)用于設(shè)計(jì)。請(qǐng)幫助我以上來(lái)自于谷歌翻譯以下為原文i am new to FPGA, i want to have knowledge about a
    發(fā)表于 01-08 10:07

    ML605自測(cè)試演示無(wú)法工作

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

    如何將IC的SCL和SDA引腳與FPGA板連接起來(lái)?

    Aoa ..我想將我的FPGA板(virtex6 ML605)與外部時(shí)鐘IC(ds1307)連接起來(lái)。請(qǐng)指導(dǎo)我如何將IC的SCL和SDA引腳與FPGA板連接。謝謝
    發(fā)表于 04-29 08:13

    如何將FPGA編程為加法器并使其運(yùn)行

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

    如何將矢量信號(hào)分析工具應(yīng)用于多域場(chǎng)合?

    本應(yīng)用指南介紹軟件定義無(wú)線電SDR體系結(jié)構(gòu)和分析工具的類型,測(cè)量軟件無(wú)線電的數(shù)字、模擬和射頻部分時(shí)可使用這些分析工具。本指南還說(shuō)明了在進(jìn)行SDR部件和系統(tǒng)設(shè)計(jì)及故障診斷時(shí),如何將矢量信
    發(fā)表于 05-20 06:49

    如何將MCU應(yīng)用到FPGA中:關(guān)于FPGA1

    最近,我接手一個(gè)項(xiàng)目,這個(gè)項(xiàng)目不僅要求我使用FPGA,而且還要求我使用功能更強(qiáng)大的ARM。這都是我從未接觸過(guò)的領(lǐng)域。在這個(gè)系列博客中,我介紹我是如何將自己現(xiàn)有的MCU知識(shí)和經(jīng)驗(yàn)運(yùn)用到FPGA
    發(fā)表于 05-08 15:41 ?3916次閱讀

    有關(guān)招聘AIML專業(yè)人員的詳細(xì)指南

    在本文中,我們與您分享有關(guān)招聘AIML專業(yè)人員的詳細(xì)指南,包括尋找技能,根據(jù)情況應(yīng)用的招聘策略以及可以吸引頂尖人才的優(yōu)勢(shì)。我們還分享了一些有關(guān)保留最佳
    的頭像 發(fā)表于 04-09 14:20 ?3859次閱讀

    FPGA如何在PC中實(shí)現(xiàn)AIML

    (人工智能)和ML(機(jī)器學(xué)習(xí))的日益普及開(kāi)辟了一個(gè)充滿可能性的新世界,PC廠商和生態(tài)系統(tǒng)巨頭都在尋求這些先進(jìn)的新功能添加到其產(chǎn)品功能集中。 在本篇博文中,萊迪思討論P(yáng)C中AI/
    的頭像 發(fā)表于 09-08 17:19 ?1202次閱讀

    EMI 的工程師指南 1 部分 — 規(guī)范和測(cè)量

    EMI 的工程師指南 1 部分 — 規(guī)范和測(cè)量
    發(fā)表于 10-31 08:23 ?8次下載
    EMI 的工程師<b class='flag-5'>指南</b><b class='flag-5'>第</b> <b class='flag-5'>1</b> <b class='flag-5'>部分</b> — 規(guī)范和測(cè)量

    FPGA 上實(shí)施 AI/ML 的選項(xiàng)

    FPGA 上實(shí)施 AI/ML 的選項(xiàng)
    的頭像 發(fā)表于 12-28 09:51 ?853次閱讀

    Mojo EPGAs簡(jiǎn)介—2部分

    在本教程的1部分中,我們介紹了FPGA,并在嵌入式 Micro的Mojo FPGA上完成了一個(gè)簡(jiǎn)單的
    的頭像 發(fā)表于 03-01 18:24 ?868次閱讀
    Mojo EPGAs簡(jiǎn)介—<b class='flag-5'>第</b>2<b class='flag-5'>部分</b>