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

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

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

談一談FPAI芯片的AI系統(tǒng)方案以及參考設(shè)計(jì)實(shí)例

國產(chǎn)FPGA之家 ? 來源:國產(chǎn)FPGA之家 ? 2023-11-28 11:33 ? 次閱讀

今天,小弟和大家談一談某國產(chǎn)FPAI芯片的AI系統(tǒng)方案以及參考設(shè)計(jì)實(shí)例。

1)FPAI芯片架構(gòu):博采眾長、兼容并蓄

首先,我們簡單了解下FPAI(Field Programmable AI)芯片。FPAI芯片,創(chuàng)新性地采用了異構(gòu)融合架構(gòu),即在一顆die上集成了高性能SOC(PS)、大容量FPGA(PL)、AI加速引擎(AI)三大模塊。該異構(gòu)融合架構(gòu),可謂“博采眾長、兼容并蓄”,融合了各異構(gòu)模塊優(yōu)勢,特別適合AI計(jì)算。其中,高性能SOC優(yōu)勢在于控制和通用計(jì)算,使得能在單芯片上運(yùn)行完成完整的AI計(jì)算;大容量FPGA優(yōu)勢在于可重構(gòu)和高速接口,解決了長尾算子的難題,適應(yīng)了AI算法不斷的迭代升級(jí)趨勢;AI加速引擎優(yōu)勢在于高性能、低功耗地完成卷積等計(jì)算密集型算子的計(jì)算。

5b3d8a2a-8d9e-11ee-939d-92fbcf53809c.png

圖1 FPAI芯片架構(gòu):異構(gòu)融合

具體的,以下是某款國產(chǎn)FPAI芯片,該芯片資源很豐富。PS部分,有四核處理器CPU視頻編解碼模塊VPU、圖像處理模塊GPU等;PL部分,有444K的邏輯資源,16個(gè)高速接口GTX;AI部分,有高達(dá)27.52TOPS的int8算力,精度支持int8和int16,配合AI編譯器支持快速部署

5b52ea14-8d9e-11ee-939d-92fbcf53809c.png

圖2 某國產(chǎn)FPAI芯片資源

綜上,該顆FPAI芯片支持豐富的AI應(yīng)用場景,特別適合邊緣融合端的AI應(yīng)用場景。

2)FPAI系統(tǒng)方案:好馬配好鞍,好船配好帆

從芯片到系統(tǒng)產(chǎn)品,還需設(shè)計(jì)硬件,開發(fā)FPGA程序,開發(fā)軟件程序,部署AI網(wǎng)絡(luò)等。系統(tǒng)方案及對(duì)應(yīng)的參考實(shí)現(xiàn),提供了一整套完整的解決方案參考,能夠幫助用戶方便、快速、高效、可靠地完成自己產(chǎn)品的設(shè)計(jì)。 所謂“好馬配好鞍,好船配好帆”,不同芯片需要適合的系統(tǒng)方案以及對(duì)應(yīng)的參考設(shè)計(jì)。

首先,F(xiàn)PAI芯片是PS+PL+AI的架構(gòu),對(duì)外接口管腳位于PS、PL模塊,因此依據(jù)外部數(shù)據(jù)流輸入的管腳,設(shè)計(jì)了PS_IN、PL_IN的系統(tǒng)方案,以此對(duì)應(yīng)不同的內(nèi)部控制流數(shù)據(jù)流方案;然后,F(xiàn)PAI芯片的AI峰值算力達(dá)27.52Tops,能夠支持多路數(shù)據(jù)流的不同的AI計(jì)算,視頻編解碼模塊能支持多路視頻流的壓縮,可編程邏輯資源也支持多輸入的高速數(shù)據(jù)流接口,因此依據(jù)以上算力特點(diǎn),設(shè)計(jì)了多源的系統(tǒng)方案,以此也符合了邊緣融合端的AI應(yīng)用特點(diǎn);此外,PCIe加速板卡的系統(tǒng)方案,配合主機(jī)服務(wù)器,完成AI的推理計(jì)算加速。

綜上,基于FPAI芯片的架構(gòu)、算力、資源、輸入數(shù)據(jù)流來源、應(yīng)用場景等特點(diǎn),分別制定了如下4種系統(tǒng)方案,基本能夠涵蓋FPAI單芯片下的各種應(yīng)用場景。

(1)PS_IN系統(tǒng)方案

(2)PL_IN系統(tǒng)方案

(3)多源系統(tǒng)方案

(4)PCIe加速卡系統(tǒng)方案

5b6c8a6e-8d9e-11ee-939d-92fbcf53809c.png

圖3 FPAI芯片的系統(tǒng)方案 一個(gè)系統(tǒng)方案可能有多個(gè)具體的參考實(shí)現(xiàn),但對(duì)應(yīng)的設(shè)計(jì)架構(gòu)是一致的,可能只是具體內(nèi)部實(shí)現(xiàn)有區(qū)別。參考設(shè)計(jì)會(huì)提供一整套參考方案,包括硬件設(shè)計(jì)、FPGA設(shè)計(jì)、軟件設(shè)計(jì)的代碼和相應(yīng)文檔。因此,想要基于FPAI設(shè)計(jì)系統(tǒng)的朋友,可以依據(jù)自身的應(yīng)用場景需求,選擇上述系統(tǒng)方案的參考設(shè)計(jì)。

3)多路PL_IN+VPU編碼的參考設(shè)計(jì)實(shí)例

好了,說了這么多,大家等不及要看具體的參考設(shè)計(jì)實(shí)例吧。以下會(huì)介紹多源系統(tǒng)方案的一個(gè)參考設(shè)計(jì)實(shí)例:多路PL_IN+VPU編碼的參考設(shè)計(jì),分別從參考設(shè)計(jì)概述、硬件板卡介紹、FPGA工程介紹、軟件工程介紹、實(shí)例功耗介紹等5部分來介紹該實(shí)例。

3.1 參考設(shè)計(jì)概述

輸入:4路SDI攝像頭,默認(rèn)分辨率和幀率設(shè)置1080p@30Hz;

輸出:SD卡,H.265/H.264格式文件格式;

VPU:分辨率1080p,YUV422輸入, 輸出 H.265/H.264,默認(rèn)編碼幀率設(shè)置30Hz;

檢測:運(yùn)行示例網(wǎng)絡(luò)Yolov5s AI檢測,帶檢測結(jié)果的視頻壓縮到SD卡。

性能:4路1080p@30Hz輸入,AI+VPU編碼,每一路30fps。

5b8c777a-8d9e-11ee-939d-92fbcf53809c.png

圖4 多路PL_IN+VPU編碼的參考實(shí)現(xiàn)框圖

3.22 悟空硬件開發(fā)板簡介

如下圖,采用SDI接口攝像頭輸入4路視頻到板卡,悟空硬件板卡上主芯片F(xiàn)PAI芯片;SD卡,儲(chǔ)存和啟動(dòng)Linux操作系統(tǒng)啟動(dòng)文件和根文件系統(tǒng);1GB PS DDR和2GB PL DDR,用于運(yùn)行操作系統(tǒng)和AI;通過子卡接入的4路SDI視頻接口;網(wǎng)口、串口、JTAG調(diào)試接口等。

5b989eb0-8d9e-11ee-939d-92fbcf53809c.png

圖5 悟空硬件開發(fā)板

3.32 FPGA設(shè)計(jì)介紹

首先,整體數(shù)據(jù)流如圖所示:

5ba4a296-8d9e-11ee-939d-92fbcf53809c.png

圖6 多路PL_IN+VPU編碼的數(shù)據(jù)流

Step1:對(duì)應(yīng)圖中的數(shù)據(jù)流1,Cam0~Cam3為4路不同的SDI攝像頭視頻流,幀率1080p@30Hz。對(duì)于每一路SDI攝像頭視頻流,復(fù)制成兩路,一路經(jīng)過resize、image_make模塊完成AI預(yù)處理后存入PL_DDR,供AI檢測使用;另一路經(jīng)過resize、rgb565轉(zhuǎn)為yuv422(可選)通過HP接口存入PS_DDR,供后續(xù)畫上檢測結(jié)果后VPU壓縮用或者HDMI顯示用。

Step2:對(duì)應(yīng)圖中的數(shù)據(jù)流2,啟動(dòng)AI訪問PL_DDR完成AI的計(jì)算。

Step3:對(duì)應(yīng)圖中的數(shù)據(jù)流3,最后一層特征圖,經(jīng)過icore_post模塊處理后,通過HP接口寫入PS_DDR。PS完成剩余后處理計(jì)算,得出AI檢測結(jié)果,畫在PS DDR上的視頻幀上。

Step4:對(duì)應(yīng)圖中的數(shù)據(jù)流4,啟動(dòng)VPU,對(duì)含有結(jié)果的視頻幀壓縮成H.264/H.265格式。

Step5:對(duì)應(yīng)圖中的數(shù)據(jù)流5,將壓縮視頻流寫回SD卡。 Step6(可選):對(duì)應(yīng)圖中數(shù)據(jù)流6,將檢測框的視頻顯示到HDMI顯示屏。

其次,介紹以下子數(shù)據(jù)流通路的實(shí)現(xiàn)

(1)Camera -> PLDDR的邏輯通路實(shí)現(xiàn)

5bb481de-8d9e-11ee-939d-92fbcf53809c.png

圖7 子邏輯通路Camera -> PLDDR

輸入的4路視頻流幀率為1080p@30Hz,均以serdes 差分對(duì)接入FPGA端口,通過rx_sdi模塊解析為rgb888數(shù)據(jù)格式。然后經(jīng)過frame_trans模塊resize成AI計(jì)算所需要的尺寸。 在一些應(yīng)用場景中,輸入數(shù)據(jù)可能預(yù)先存儲(chǔ)在了PS DDR中,因此本工程也預(yù)留了2路獨(dú)立的PSIN數(shù)據(jù)通路,通過HP口讀取數(shù)據(jù),轉(zhuǎn)變成AI_MATE接口規(guī)范好的數(shù)據(jù)總線格式。這兩路PSIN數(shù)據(jù)通過img_data_crossbar_0/1模塊分別與CAM2/3視頻流數(shù)據(jù)進(jìn)行仲裁,各自選出1路輸入給AI_MATE端。

(2)Camera -> PSDDR的邏輯通路實(shí)現(xiàn)

5bbf4b00-8d9e-11ee-939d-92fbcf53809c.png

圖8 子邏輯通路Camera -> PSDDR 將CAM視頻流數(shù)據(jù)resize成VPU壓縮需要的尺寸,注意此處的resize與CAM->PL DDR通路中的resize相互獨(dú)立,即AI計(jì)算尺寸和VPU壓縮尺寸獨(dú)立配置。為了減少寫入PS DDR的數(shù)據(jù)量,這里將rgb565數(shù)據(jù)格式轉(zhuǎn)為yuv422(16bit),相比于rgba(32bit)格式,數(shù)據(jù)量可減少50%,而圖像色度分量完整保留,基本不影響圖像質(zhì)量。

每一路CAM數(shù)據(jù)均需要通過HP口寫入PS DDR,PS端共有4個(gè)HP口,有很多模塊會(huì)對(duì)它發(fā)起請(qǐng)求,因此工程中在BlockDesign中調(diào)用axi interconnect IP進(jìn)行仲裁。

最終,實(shí)現(xiàn)的FPGA資源占用情況如下所示:

5bcba4f4-8d9e-11ee-939d-92fbcf53809c.png

圖9 FPGA實(shí)現(xiàn)資源占用情況

3.42 軟件設(shè)計(jì)介紹

參考實(shí)現(xiàn)軟件整體流程可以歸結(jié)如下: 攝像頭輸入視頻數(shù)據(jù) > AI檢測 > AI結(jié)果繪制 > vpu編碼h264/h265視頻 > 輸出數(shù)據(jù)流

軟件中按功能將代碼封裝為多個(gè)模塊:攝像頭模塊、神經(jīng)網(wǎng)絡(luò)模塊、VPU模塊。則在實(shí)現(xiàn)一次完整數(shù)據(jù)流通路對(duì)應(yīng)的模塊調(diào)用為:攝像頭模塊取幀 > 神經(jīng)網(wǎng)絡(luò)模塊計(jì)算與后處理 > 攝像頭模塊得到圖像數(shù)據(jù) > vpu模塊壓縮 > vpu模塊輸出數(shù)據(jù)。

在AI調(diào)度過程中,采用了任務(wù)隊(duì)列的實(shí)現(xiàn)方式。主要參考了生產(chǎn)者消費(fèi)者設(shè)計(jì)模式,前處理、icore前向、后處理運(yùn)行在各自的線程中,互相之間通過任務(wù)隊(duì)列的方式通信。

對(duì)于多路的情況,則會(huì)使用多個(gè)前處理線程與多個(gè)后處理線程,以4路為例,4路不同的輸入圖像數(shù)據(jù)、icore推理結(jié)果會(huì)存放在ddr的不同位置,不同路之間數(shù)據(jù)不會(huì)相互干擾。任務(wù)隊(duì)列還提供了可以控制不同路是否做AI或者設(shè)置優(yōu)先級(jí)的功能。

5bd5f40e-8d9e-11ee-939d-92fbcf53809c.png

圖10 軟件任務(wù)隊(duì)列調(diào)度框圖

具體的AI神經(jīng)網(wǎng)絡(luò)部署,基于icraft編譯器,直接編譯生成json和raw文件,就能夠更新參考設(shè)計(jì)的AI網(wǎng)絡(luò)部署。

3.52 實(shí)例結(jié)果介紹

性能:能夠穩(wěn)定完成4路1080p@30Hz視頻的AI檢測和視頻編碼。

功耗:整體芯片功耗(含DDR)是12.32W。

5be09256-8d9e-11ee-939d-92fbcf53809c.png

表1 多路PL_IN+VPU編碼的功耗

4)小結(jié):海闊憑魚躍,天高任鳥飛

好了,經(jīng)過以上的參考設(shè)計(jì)實(shí)例的介紹,相信大家對(duì)FPAI芯片的系統(tǒng)方案以及參考設(shè)計(jì)有了更深層次的了解。

近幾年,邊緣端AI計(jì)算的市場份額逐年增長明顯,越來越多的落地應(yīng)用需求提出?!昂i煈{魚躍,天高任鳥飛”,如何選擇一款A(yù)I芯片及系統(tǒng)方案,能夠滿足邊緣融合端的各種應(yīng)用場景,能夠適應(yīng)算法迭代的需求,能夠解決長尾算子的問題,形成高性能、低功耗、靈活可靠的產(chǎn)品?相信FPAI芯片及系統(tǒng)方案,會(huì)是一個(gè)不錯(cuò)的選擇!






審核編輯:劉清

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

    關(guān)注

    68

    文章

    19103

    瀏覽量

    228824
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21625

    瀏覽量

    601245
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4099

    瀏覽量

    217781
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1617

    瀏覽量

    49016
  • GPU芯片
    +關(guān)注

    關(guān)注

    1

    文章

    303

    瀏覽量

    5770

原文標(biāo)題:漫談FPAI芯片的AI系統(tǒng)方案

文章出處:【微信號(hào):國產(chǎn)FPGA之家,微信公眾號(hào):國產(chǎn)FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    國產(chǎn)FPAI芯片AI系統(tǒng)方案

    今天,小弟和大家談一談某國產(chǎn)FPAI芯片AI系統(tǒng)方案以及
    的頭像 發(fā)表于 11-28 11:32 ?999次閱讀
    國產(chǎn)<b class='flag-5'>FPAI</b><b class='flag-5'>芯片</b>的<b class='flag-5'>AI</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>方案</b>

    談一談大家新穎的思路

    長期玩電子,腦子都僵化了,大家來談一談自己有什么新穎有創(chuàng)意的想法。
    發(fā)表于 02-25 16:28

    AI芯片算法不談智能,實(shí)現(xiàn)不談芯片!

    1算法不談智能IEEE協(xié)會(huì)首次在京舉辦研討會(huì)的時(shí)候,中國自動(dòng)化學(xué)會(huì)副理事長兼秘書長、中科院自動(dòng)化研究所復(fù)雜系統(tǒng)管理與控制國家重點(diǎn)實(shí)驗(yàn)室主任王飛躍稱不存在AI芯片。對(duì)于這
    發(fā)表于 08-24 10:36

    手把手教你設(shè)計(jì)人工智能芯片系統(tǒng)--(全階設(shè)計(jì)教程+AI芯片FPGA實(shí)現(xiàn)+開發(fā)板)

    有利于學(xué)員更深入理解AI芯片原理,并且能掌握工程實(shí)現(xiàn);3、AI芯片設(shè)計(jì)門檻高,涉及AI算法、芯片
    發(fā)表于 07-19 11:54

    【免費(fèi)直播】讓AI芯片擁有最強(qiáng)大腦—AI芯片的操作系統(tǒng)設(shè)計(jì)介紹.

    -卡耐基梅隆大學(xué)聯(lián)合工程學(xué)院博士,研究方向?yàn)槊嫦蛉斯ぶ悄艿募呻娐放c系統(tǒng)設(shè)計(jì)。為人工智能芯片領(lǐng)域重要科學(xué)家,在AI硬件技術(shù)領(lǐng)域作為第作者發(fā)表了4篇頂級(jí)SCI學(xué)術(shù)論文(其中2篇tran
    發(fā)表于 11-07 14:18

    談一談 MPU6050 姿態(tài)融合

    談一談 MPU6050 姿態(tài)融合
    發(fā)表于 05-05 09:28

    談一談對(duì)FOC的些理解

    FOC入門談一談我對(duì)FOC的些理解注:其中有些圖片是網(wǎng)上找的,有些是自己做的,作圖水平般,勿噴這是我第
    發(fā)表于 09-01 07:10

    談一談對(duì)穿越頻率的理解

    最近正好研究這方面的內(nèi)容,所以頂個(gè)貼,支持把樓主。樓主從穿越頻率的定義來開宗明義,小弟也談一談對(duì)穿越頻率的理解:1)對(duì)定義的理解;2)對(duì)環(huán)路校正時(shí)穿越頻率選取原則理的解;3)還有大家在分析Bode
    發(fā)表于 10-29 06:06

    談一談對(duì)穿越頻率的理解

    最近正好研究這方面的內(nèi)容,所以頂個(gè)貼,支持把樓主。樓主從穿越頻率的定義來開宗明義,小弟也談一談對(duì)穿越頻率的理解:1)對(duì)定義的理解;2)對(duì)環(huán)路校正時(shí)穿越頻率選取原則理的解;3)還有大家在分析Bode
    發(fā)表于 11-17 07:58

    談一談嵌入式開發(fā)怎么入門的

    想要從事嵌入式開發(fā),但又不知道怎么入門的,可以看下,下面我結(jié)合自身實(shí)際來談一談。前提基礎(chǔ):簡單的電路、模電、數(shù)電知識(shí),C語言、從51單片機(jī)入手如果有些前提的基礎(chǔ)知識(shí),要上手51單片機(jī)不算難。首先
    發(fā)表于 12-17 08:12

    談一談嵌入式操作系統(tǒng)一些需要注意的點(diǎn)

    計(jì)算機(jī)學(xué)院的嵌入式系統(tǒng)實(shí)驗(yàn)不是特別難,首先,連代碼都不需要寫,主要是需要操作些新的設(shè)備和軟件,但是這些軟件的安裝,設(shè)備的使用上有較多的坑,需要注意。接下來,我就來談一談些需要注意的
    發(fā)表于 12-23 08:27

    談一談DALI的具體應(yīng)用

    今天我們來談一談 DALI 的具體應(yīng)用, 最主要的是 DALI 控制裝置中的調(diào)光驅(qū)動(dòng)電源的使用場景, 比如 DT6 和 DT8 產(chǎn)品(參考文章 大力哥 DALI - D...
    發(fā)表于 12-27 08:32

    談一談對(duì)AI芯片軟硬件協(xié)同與AI編譯軟件棧的泛泛看法

    1、軟硬件協(xié)同與AI編譯軟件棧介紹  2個(gè)核心要點(diǎn),都是錢砸出來的感悟?! ?duì)于SIMD為主的DSA,指令的圖靈完備決定了芯片的可編程性。例如某些算子不能使用NPU編程,還需要在另外個(gè)cpu上編程
    發(fā)表于 11-16 15:24

    談一談AI、云計(jì)算以及大數(shù)據(jù)的關(guān)系

    說到AI,總是不可避免的聯(lián)想到大數(shù)據(jù)與云計(jì)算,這三者可謂相輔相成,唯有全部結(jié)合起來,才有可能成為真正的人工智能。當(dāng)然,本文只是以個(gè)普通人的視角來探尋這三者之間的聯(lián)系。
    的頭像 發(fā)表于 03-06 15:22 ?7628次閱讀

    談一談PCB翹曲度的標(biāo)準(zhǔn)以及如何測量

    談一談PCB翹曲度的標(biāo)準(zhǔn)以及如何測量
    的頭像 發(fā)表于 11-27 17:28 ?4746次閱讀
    <b class='flag-5'>談一談</b>PCB翹曲度的標(biāo)準(zhǔn)<b class='flag-5'>以及</b>如何測量