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

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

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

3天內不再提示

如何在Vitis加速設計中為Kernel創建面積約束

鄧長生 ? 來源:鄧長生 ? 作者:鄧長生 ? 2022-08-02 09:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Alveo系列開發板上的平臺其實是一個DFX設計的靜態部分,在Vitis 統一軟件平臺中使用Alveo系列開發板設計加速Kernel, 最終這些Kernel的邏輯會在分布在DFX設計的動態區域。

本篇將介紹如何為Kernel的邏輯做floorplan(畫Pblock),人為控制Kernel邏輯的布局。

我們以經典Example design“Vector Addition” 為例:

1. 打開Vitis 2020.2,創建新的 Application Project

File -> New -> Application project

2. 選擇xilinx_u200_qdma_201910_1平臺 (本篇討論的方法不局限于某個具體平臺)

3. 選擇打開Example Design "Vector Addition"

4. 對Hardware Flow 在Link階段設置 "-R2",然后Build

此處report level 選擇-R2:VPL(Vitis Platform link) 過程輸出更多中間文件, 后續我們會用到畫Kernel Pblock所需要的opt.dcp

pYYBAGGYHrqAfItSAADnwMZ_bJo435.png

5. 不用等到生成xclbin文件,VPL完成opt_design步驟之后我們就能看到XX_opt.dcp 文件.

XX_opt .dcp 所在目錄及文件名:

vitis_pblock_u200/vadd_test_system_hw_link/Hardware/binary_container_1.build/link/vivado/vpl/prj/prj.runs/impl_1 

pfm_top_wrapper_opt.dcp

6. 把這個XX_opt.dcp拷貝到另外的目錄,并用Vivado打開這個dcp 文件

pYYBAGGYHruAbYjgAABXk7VZLSg742.png

7. 查看已有的Pblock。主菜單 Window -> Physical Constraints

poYBAGGYHryAQmyOAAChXbBCUpw194.png


在這個視圖可以看到平臺已經為動態區域在各個SLR中設置了相應的Pblock, 而且需要注意的是,設計中已有的Pblock是有層級關系的

例如:pblock_dynamic_region 包含三個下級pblock:

pblock_dynamic_SLR0,

pblock_dynamic_SLR1,

pblock_dynamic_SLR2,

提醒:不同平臺SLR的數目也可能是不同的. 不同平臺中自帶pblock的名字有差異是正常的. 需要用戶自己觀察.

為Kernel模塊生成的Pblock應該是pblock_dynamic_SLR0 這一級Pblock 的子模塊, 工具支持把同一個Kernel的不同部分放置到多個SLR中,用戶需要保證跨SLR路徑的時序.

8. 為Kernel模塊畫Pblock

在這里嘗試把Kernel 放置在pblock_dynamic_SLR0所屬的中心區域

. 在Vivado的Netlist View中選中Kernel 模塊

例子中的模塊名是 pfm_top_i/dynamic_region/krnl_vadd_1

. 可以在Cells properties 窗口看到這個模塊當前所屬的Pblock是pblock_dynamic_region

poYBAGGYHr6AIziMAACysjYj0-M030.png

. 點擊Device 視圖中的"Draw Pblock" 按鈕, 在Device視圖上原有pblock_dynamic_SLR0的范圍內畫一個方框,新畫的Pblock所覆蓋面積要被原Pblock完全包含. 畫完之后還可以選中Pblock微調Pblock的邊界,同時為了不影響原來Pblock的結構,在TCL CONSOLE中用以下命令把新Pblock的Parent Pblock設置成pblock_dynamic_SLR0:

set_property PARENT pblock_dynamic_SLR0 [get_pblocks pblock_krnl_vadd_1]

. 再看Kernel 模塊的Pblock屬性,已經變為pblock_krnl_vadd_1

poYBAGGYHr-AHfvDAADrNWsvQGQ739.png

在TCL CONSOLE中會打印出了畫pblock相應的約束,我們可以將這些約束拷貝到一個新的tcl文件中保存.

(在這里保存到kernel_pblock.tcl)

pYYBAGGYHsCARyabAAAxDcQd3OM287.png

看下更新的Pblock結構,新生成的pblock_krnl_vadd_1 是pblock_dynamic_SLR0的Child Pblock

poYBAGGYHsGAOkNOAACQ0GpIHoc098.png

繼續在TCL CONSOLE執行 place_design 命令完成布局

理論上這一步可以跳過,如果你確信你畫的Pblock沒有問題的話。

完成place_design之后,可以觀察一下Kernel 的資源在Device 上的實際分布情況

pYYBAGGYHsKAVCzaAADZaA1Fa9I356.png

可以看到Kernel的邏輯全部都分布在剛才所畫的Pblock 區域內

poYBAGGYHsSAGaCAAAGp_Tb6WxI859.png

pYYBAGGYHsWAZntAAAMwSamYIG4356.png

9. 在Vitis的link階段做以下設置,使之前保存的畫Pblock的命令在VPL(Vitis Platform link) 的place_design步驟執行之前生效

--vivado.prop run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=XX/kernel_pblock.tcl

pYYBAGGYHseAJnhHAADl-uS05aY930.png

10. 重新build Vitis 的Hardware flow, 之前加入的命令就會生效。

總結: 這就是一個簡單的為Kernel邏輯創建面積約束(Pblock)的過程, 實際用戶也可以為Kernel的子模塊創建Pblock,這方面工具沒有限制。


審核編輯:劉清

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

    關注

    26

    文章

    6290

    瀏覽量

    118074
  • Kernel
    +關注

    關注

    0

    文章

    50

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Vivado時序約束invert參數的作用和應用場景

    在Vivado的時序約束,-invert是用于控制信號極性的特殊參數,應用于時鐘約束(Clock Constraints)和延遲約束(Delay Constraints)
    的頭像 發表于 02-09 13:49 ?207次閱讀
    Vivado時序<b class='flag-5'>約束</b><b class='flag-5'>中</b>invert參數的作用和應用場景

    何在AMD Vitis Unified IDE中使用系統設備樹

    您將在這篇博客中了解系統設備樹 (SDT) 以及如何在 AMD Vitis Unified IDE 中使用 SDT 維護來自 XSA 的硬件元數據。本文還講述了如何對 SDT 進行操作,以便在 Vitis Unified IDE
    的頭像 發表于 11-18 11:13 ?3113次閱讀
    如<b class='flag-5'>何在</b>AMD <b class='flag-5'>Vitis</b> Unified IDE中使用系統設備樹

    AMD Vitis AI 5.1測試版現已開放下載

    AMD Vitis AI 5.1全新發布——新增了對 AMD Versal AI Edge 系列神經網絡處理單元( NPU )的支持。Vitis AI 包含優化的 NPU IP、模型編譯工具和部署 API,可在嵌入式平臺上實現可擴展的高性能推理。
    的頭像 發表于 11-08 09:24 ?1307次閱讀

    何在VS code配置Zephyr集成開發環境

    上一篇文章介紹了如何在VS code中使用瑞薩官方插件RA芯片創建項目與項目調試,相信大家對RA在VS code的開發有了基礎的了解。
    的頭像 發表于 11-05 14:46 ?1510次閱讀
    如<b class='flag-5'>何在</b>VS code<b class='flag-5'>中</b>配置Zephyr集成開發環境

    AMD Vitis AI 5.1測試版發布

    AMD Vitis AI 5.1全新發布——新增了對 AMD Versal AI Edge 系列神經網絡處理單元 (NPU) 的支持。Vitis AI 包含優化的 NPU IP、模型編譯工具和部署 API,可在嵌入式平臺上實現可擴展的高性能推理。
    的頭像 發表于 10-31 12:46 ?792次閱讀

    何在應用程序調試期間分析棧和堆使用情況

    ,并在 Unified IDE 仍可使用。本文涵蓋了如何在 Vitis 中使用分析工具在應用程序調試期間對棧和堆進行監控。
    的頭像 發表于 10-24 16:54 ?890次閱讀
    如<b class='flag-5'>何在</b>應用程序調試期間分析棧和堆使用情況

    何在RT-Thread上創建一個GD32F470工程?

    何在RT-Thread上創建一個GD32F470工程
    發表于 09-23 06:09

    何在AMD Vitis Unified 2024.2連接到QEMU

    在本篇文章我們將學習如何在 AMD Vitis Unified 2024.2 連接到 QEMU。 這是本系列的第 2 篇博文。要了解如何設置和使用 QEMU + 協同仿真,請參閱開發者分享|在 AMD Versal 自適應 S
    的頭像 發表于 08-06 17:24 ?1791次閱讀
    如<b class='flag-5'>何在</b>AMD <b class='flag-5'>Vitis</b> Unified 2024.2<b class='flag-5'>中</b>連接到QEMU

    何在Unified IDE創建視覺庫HLS組件

    組件開始,該組件可以導出 XO 文件用于 Vitis 系統工程;這與“自上而下的流程”相反,后者從 Vitis 工程開始,然后將 HLS 組件導入該工程。我們將創建視覺庫示例“re
    的頭像 發表于 07-02 10:55 ?1440次閱讀
    如<b class='flag-5'>何在</b>Unified IDE<b class='flag-5'>中</b><b class='flag-5'>創建</b>視覺庫HLS組件

    全新AMD Vitis統一軟件平臺2025.1版本發布

    全新 AMD Vitis 統一軟件平臺 2025.1 版正式上線!此最新版本使用 AMD Versal AI 引擎的高性能 DSP 應用提供了改進后的設計環境。
    的頭像 發表于 06-24 11:44 ?1758次閱讀

    使用AMD Vitis Unified IDE創建HLS組件

    這篇文章在開發者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 傳統 IDE) 的基礎上撰寫,但使用的是 AMD Vitis Unified IDE,而不是之前傳統版本的
    的頭像 發表于 06-20 10:06 ?2329次閱讀
    使用AMD <b class='flag-5'>Vitis</b> Unified IDE<b class='flag-5'>創建</b>HLS組件

    如何使用AMD Vitis HLS創建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS 來創建一個 HLS IP,通過 AXI4 接口從存儲器讀取數據、執行簡單的數學運算,然后將數據寫回存儲器。接著會在 AMD Vivado Design Suite 設計中使用此 HLS IP,并使用嵌入式
    的頭像 發表于 06-13 09:50 ?1865次閱讀
    如何使用AMD <b class='flag-5'>Vitis</b> HLS<b class='flag-5'>創建</b>HLS IP

    西門子再收購EDA公司 西門子宣布收購Excellicon公司 時序約束工具開發商

    精彩看點 此次收購將幫助系統級芯片 (SoC) 設計人員通過經市場檢驗的時序約束管理能力來加速設計,并提高功能約束和結構約束的正確性 ? 西門子宣布 收購 Excellicon 公司
    的頭像 發表于 05-20 19:04 ?1577次閱讀
    西門子再收購EDA公司  西門子宣布收購Excellicon公司  時序<b class='flag-5'>約束</b>工具開發商

    PCB Layout 約束管理,助力優化設計

    本文重點PCBlayout約束管理在設計的重要性Layout約束有助避免一些設計問題設計可以使用的不同約束在PCB設計規則和
    的頭像 發表于 05-16 13:02 ?1043次閱讀
    PCB Layout <b class='flag-5'>約束</b>管理,助力優化設計

    一文詳解Vivado時序約束

    Vivado的時序約束是保存在xdc文件,添加或創建設計的工程源文件后,需要創建xdc文件設置時序約束。時序
    的頭像 發表于 03-24 09:44 ?4828次閱讀
    一文詳解Vivado時序<b class='flag-5'>約束</b>