国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

利用axi_master接口指令端的幾個靜態參數的優化技巧

OpenFPGA ? 來源:OpenFPGA ? 作者:Wen Chen ? 2022-07-01 09:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Vitis HLS 在從Vivaido HLS的升級換代中,以axi_master接口為起點的設計正在變得更易上手,其中很重要的一點就是更多的MAXI端口設計參數可以讓用戶通過指令傳達到。這些參數可以分為兩類: 靜態參數指標:這些參數會影響內存性能,可以在 C 綜合期間的編譯時從編譯的結果中很清楚地知道,突發讀寫地長度、數據端口寬度加寬、對齊等。
動態參數指標:這些參數本質上是動態的,取決于系統。例如,與 DDR/HBM 的通信效率在C綜合編譯時是未知的。 本文給大家提供利用axi_master接口指令端的幾個靜態參數的優化技巧,從擴展總線接口數量,擴展總線位寬,循環展開等角度入手。最核心的優化思想就是以資源面積換取高帶寬的以便并行計算。
熟記這本文幾個關鍵的設計點,讓你的HLS內核接口效率不再成為設計的瓶頸! 7946633e-f8d5-11ec-ba43-dac502259ad0.png ? 以上代碼在進行了c綜合后,我們所有的指針變量都會依據指令的設置映射到axi-master上,但是因為根據指令中所有的端口都綁定到了一條總線gmem上。所以在綜合的警告里面會提示:? ?

WARNING: [HLS 200-885] The II Violation in module 'example_Pipeline_VITIS_LOOP_55_1' (loop 'VITIS_LOOP_55_1'):Unable to schedule bus request operation ('gmem_load_1_req', example.cpp:56) on port 'gmem' (example.cpp:56) due to limited memory ports(II = 1). Please consider using a memory core with more ports or partitioning the array.

因為在axi-master總線上最高只能支持一個讀入和一個寫出同時進行,如果綁定到一條總線則無法同時從總線讀入兩個數據,所以最終的循環的II=2。解決這個問題的方法就是用面積換速度,我們實例化兩條axi總線gmem和gmem0,最終達到II=1。 79773856-f8d5-11ec-ba43-dac502259ad0.png ? 當總線數量滿足了我們并行讀入的要求后,讀取數據的位寬就成為了我們優化的方向:? 因為讀取的數據格式是int類型,所以這里的數據位寬就是32bit。 ?79883822-f8d5-11ec-ba43-dac502259ad0.png ? 為了能夠轉移數據傳輸瓶頸,在Vitis kernel target flow中,數據位寬在512bit的時候能夠達到最高的數據吞吐效率。在Vitis HLS 中的新增了 max_widen_bitwidth 選項來自動將較短的數據位寬拼接到設定的較長的數據位寬選項。在這里我們可以將位寬設置到512bit的位寬,但是同時要向編譯器說明,原數據位寬和指定的擴展位寬成整數倍關系。這個操作很簡單,在數據讀取的循環邊界上,用(size/16)*16示意編譯器即可。 ?799551d8-f8d5-11ec-ba43-dac502259ad0.png ? 擴展位寬后的結果可以在綜合報告的接口部分看到數據位寬已經從32位擴展到512位。? ?79ae9b16-f8d5-11ec-ba43-dac502259ad0.png ? 優化到這一步我們的設計可以進行大位寬的同步讀寫,但是發現循環的trip count還是執行了1024次, 也就是說雖然位寬拓展到512后,還是一個循環周期計算一次32bit的累加。實際上512bit的數據位寬可以允許16個累加計算并行執行。? ?79cb865e-f8d5-11ec-ba43-dac502259ad0.png ? 為了完成并行度的優化,我們需要在循環中添加系數為16的unroll 指令,這樣就可以生成16個并行執行累加計算的硬件模塊以及線程。? ?79eb29be-f8d5-11ec-ba43-dac502259ad0.png ? 在循環中并行執行的累加操作,我們可以從schedule viewer中觀察到并行度,可以從bind_op窗口中觀察到operation實現所使用的硬件資源,可以從循環的trip_count 降低到了1024/16=64個周期,以及大大縮小的模塊的整個latency中得以證明。? ?7a0aef6a-f8d5-11ec-ba43-dac502259ad0.png ?7a2d8d0e-f8d5-11ec-ba43-dac502259ad0.png ? 最后我們比較了一下并行執行16個累加計算前后的綜合結果,可以發現由于有數據的按位讀寫拆分拼接等操作,整個模塊的延遲雖然沒有縮短為16分之一,但是縮短為5分之一也是性能的極大提升了。? ?7a5b5f68-f8d5-11ec-ba43-dac502259ad0.png ? 最后的最后,RTL級別的co-sim仿真才讓我們更加確信了數據的從兩個并行讀寫,循環執行的周期減小至了64個時鐘周期。? ?7a756c82-f8d5-11ec-ba43-dac502259ad0.png ? 以上內容是設計者在AXI總線接口中使用傳統的數據類型時,提升數據傳輸效率和帶寬的一攬子有效方法: ?第一,擴展總線接口數量,以便并行讀寫。第二,擴展總線位寬,增加讀寫帶寬。第三,循環展開,例化更多計算資源以便并行計算。 本文的優化方式還是基于內核設計本身的,下一篇文章,我們將使用Alveo板卡做一些突發傳輸的實驗,深度定制傳輸需求,以真實仿真波形和測得的傳輸速度,從系統級別強化我們對于突發讀寫效率的認知。 審核編輯 :李倩

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

    關注

    33

    文章

    9521

    瀏覽量

    157040
  • 靜態
    +關注

    關注

    1

    文章

    30

    瀏覽量

    14840
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73973

原文標題:開發者分享 | HLS, 巧用AXI_master總線接口指令的定制并提升數據帶寬-面積換速度

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    利用開源uart2axi4實現串口訪問axi總線

    ,可以實現跨fpga平臺使用。利用uart2axi4我們可以通過python,輕松訪問axi4_lite_slave寄存器,大大方便fpga工程師進行系統調試和定位bug。
    的頭像 發表于 12-02 10:05 ?2060次閱讀
    <b class='flag-5'>利用</b>開源uart2<b class='flag-5'>axi</b>4實現串口訪問<b class='flag-5'>axi</b>總線

    使用AXI4接口IP核進行DDR讀寫測試

    本章的實驗任務是在 PL 自定義一個 AXI4 接口的 IP 核,通過 AXI_HP 接口對 PS
    的頭像 發表于 11-24 09:19 ?3737次閱讀
    使用<b class='flag-5'>AXI</b>4<b class='flag-5'>接口</b>IP核進行DDR讀寫測試

    利用蜂鳥E203搭建SoC【1】——AXI總線的配置與板級驗證

    代碼中也提供了icb連接AXI從設備的示例,位于/subsys/ e203_subsys_mems.v文件中,為了避免自己連接造成的錯誤,可以直接使用這些轉換好的AXI-MASTER信號,并將其作為
    發表于 10-30 07:35

    將e203 例化AXI總線接口

    將系統外設總線內部axi接口引出給gpio,注意vivado中gpio地址分配應保證移植 Debug: 通過Xil_Out32函數給gpio的地址寫1或者0,注意這里地址是gpio地址也就是核中給
    發表于 10-29 06:08

    蜂鳥E203內核優化方法

    對蜂鳥E203內核進行優化可以考慮以下幾個方面: 編譯器優化:使用適合蜂鳥E203的編譯器選項和指令集,優化編譯器的選項和
    發表于 10-21 07:55

    利用拼多多 API 接口,實現拼多多店鋪物流時效優化

    可以自動化獲取物流數據、分析時效瓶頸,并實施針對性優化策略。本文將逐步介紹如何利用這些 API 接口實現物流時效優化,確保內容真實可靠。 1. 理解拼多多 API
    的頭像 發表于 08-18 16:22 ?1442次閱讀
    <b class='flag-5'>利用</b>拼多多 API <b class='flag-5'>接口</b>,實現拼多多店鋪物流時效<b class='flag-5'>優化</b>

    利用Arm i8mm指令優化llama.cpp

    本文將為你介紹如何利用 Arm i8mm 指令,具體來說,是通過帶符號 8 位整數矩陣乘加指令 smmla,來優化 llama.cpp 中 Q6_K 和 Q4_K 量化模型推理。
    的頭像 發表于 07-24 09:51 ?1914次閱讀
    <b class='flag-5'>利用</b>Arm i8mm<b class='flag-5'>指令</b><b class='flag-5'>優化</b>llama.cpp

    RDMA簡介8之AXI分析

    AXI4 總線是第四代 AXI 總線,其定義了三種總線接口,分別為:AXI4、AXI4-Lite 和 A
    的頭像 發表于 06-24 23:22 ?640次閱讀
    RDMA簡介8之<b class='flag-5'>AXI</b>分析

    RDMA簡介9之AXI 總線協議分析2

    ? 這里以功能完備的 AXI4 接口舉例說明 AXI4 總線的相關特點。AXI4 總線采用讀寫通道分離且數據通道與控制通道分離的方式,這樣的總線通道使其具有多主多從的連接特性和并行處理
    發表于 06-24 18:02

    NVMe IP之AXI4總線分析

    時,需要通過AXI互聯IP(AXI Interconnect)來實現多對多的拓撲結構 ,如圖3所示。Interconnect擁有多個 Master/Slave接口,并在內部基于輪詢或者
    發表于 06-02 23:05

    VirtualLab 應用:傾斜光柵的參數優化及公差分析

    ,也稱為RCWA)對傾斜光柵的優化方法。優化后的光柵的衍射效率超過90%。此外,還研究了其對光柵的傾角偏差和圓角邊緣的影響。 建模任務 **優化 ** 為了為傾斜光柵找到一組優化
    發表于 05-22 08:52

    NVMe協議簡介之AXI總線

    高性能、高帶寬、低延時的片內互連需求。AXI4總線則是AXI總線的第四代版本,主要包含三種類型的接口,分別是面向高性能地址映射通信的AXI4接口
    發表于 05-17 10:27

    一文詳解AXI DMA技術

    AXI直接數值存取(Drect Memory Access,DMA)IP核在AXI4內存映射和AXI4流IP接口之間提供高帶寬的直接內存訪問。DMA可以選擇分散收集(Scatter G
    的頭像 發表于 04-03 09:32 ?2515次閱讀
    一文詳解<b class='flag-5'>AXI</b> DMA技術

    AXI接口FIFO簡介

    AXI接口FIFO是從Native接口FIFO派生而來的。AXI內存映射接口提供了三種樣式:AXI
    的頭像 發表于 03-17 10:31 ?2136次閱讀
    <b class='flag-5'>AXI</b><b class='flag-5'>接口</b>FIFO簡介

    AXI 接口設計避坑指南:AXI接口筆記

    ? AXI接口筆記 第一章?問題記錄 第1節?接收數據全0或全1 1.1?問題現象 上圖中,pixel_data_o是EC IP核輸出的圖像數據,正確的話會如上圖所示,圖像數據每個時鐘會變化并且值
    的頭像 發表于 03-10 17:21 ?951次閱讀
    <b class='flag-5'>AXI</b> <b class='flag-5'>接口</b>設計避坑指南:<b class='flag-5'>AXI</b><b class='flag-5'>接口</b>筆記