亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

如何在Vitis加速設(shè)計中為Kernel創(chuàng)建面積約束

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

掃碼添加小助手

加入工程師交流群

Alveo系列開發(fā)板上的平臺其實是一個DFX設(shè)計的靜態(tài)部分,在Vitis 統(tǒng)一軟件平臺中使用Alveo系列開發(fā)板設(shè)計加速Kernel, 最終這些Kernel的邏輯會在分布在DFX設(shè)計的動態(tài)區(qū)域。

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

我們以經(jīng)典Example design“Vector Addition” 為例:

1. 打開Vitis 2020.2,創(chuàng)建新的 Application Project

File -> New -> Application project

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

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

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

此處report level 選擇-R2:VPL(Vitis Platform link) 過程輸出更多中間文件, 后續(xù)我們會用到畫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


在這個視圖可以看到平臺已經(jīng)為動態(tài)區(qū)域在各個SLR中設(shè)置了相應(yīng)的Pblock, 而且需要注意的是,設(shè)計中已有的Pblock是有層級關(guān)系的

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

pblock_dynamic_SLR0,

pblock_dynamic_SLR1,

pblock_dynamic_SLR2,

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

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

8. 為Kernel模塊畫Pblock

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

. 在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的范圍內(nèi)畫一個方框,新畫的Pblock所覆蓋面積要被原Pblock完全包含. 畫完之后還可以選中Pblock微調(diào)Pblock的邊界,同時為了不影響原來Pblock的結(jié)構(gòu),在TCL CONSOLE中用以下命令把新Pblock的Parent Pblock設(shè)置成pblock_dynamic_SLR0:

set_property PARENT pblock_dynamic_SLR0 [get_pblocks pblock_krnl_vadd_1]

. 再看Kernel 模塊的Pblock屬性,已經(jīng)變?yōu)閜block_krnl_vadd_1

poYBAGGYHr-AHfvDAADrNWsvQGQ739.png

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

(在這里保存到kernel_pblock.tcl)

pYYBAGGYHsCARyabAAAxDcQd3OM287.png

看下更新的Pblock結(jié)構(gòu),新生成的pblock_krnl_vadd_1 是pblock_dynamic_SLR0的Child Pblock

poYBAGGYHsGAOkNOAACQ0GpIHoc098.png

繼續(xù)在TCL CONSOLE執(zhí)行 place_design 命令完成布局

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

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

pYYBAGGYHsKAVCzaAADZaA1Fa9I356.png

可以看到Kernel的邏輯全部都分布在剛才所畫的Pblock 區(qū)域內(nèi)

poYBAGGYHsSAGaCAAAGp_Tb6WxI859.png

pYYBAGGYHsWAZntAAAMwSamYIG4356.png

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

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

pYYBAGGYHseAJnhHAADl-uS05aY930.png

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

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


審核編輯:劉清

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

    關(guān)注

    25

    文章

    6063

    瀏覽量

    111632
  • Kernel
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    AMD Vitis AI 5.1測試版現(xiàn)已開放下載

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

    何在VS code配置Zephyr集成開發(fā)環(huán)境

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

    AMD Vitis AI 5.1測試版發(fā)布

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

    何在應(yīng)用程序調(diào)試期間分析棧和堆使用情況

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

    何在RT-Thread上創(chuàng)建一個GD32F470工程?

    何在RT-Thread上創(chuàng)建一個GD32F470工程
    發(fā)表于 09-23 06:09

    何在AMD Vitis Unified 2024.2連接到QEMU

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

    何在Unified IDE創(chuàng)建視覺庫HLS組件

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

    使用AMD Vitis Unified IDE創(chuàng)建HLS組件

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

    如何使用AMD Vitis HLS創(chuàng)建HLS IP

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

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

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

    一文詳解Vivado時序約束

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

    使用AMD Vitis進行嵌入式設(shè)計開發(fā)用戶指南

    Zynq MPSoC 和 AMD Alveo 數(shù)據(jù)中心加速器卡)目標的異構(gòu)嵌入式應(yīng)用。 Vitis 工具包括: C++ 編譯器、庫和本征函數(shù),適用于 AI 引擎和可編程邏輯( PL ) 適用于 Arm
    的頭像 發(fā)表于 01-08 09:33 ?2030次閱讀
    使用AMD <b class='flag-5'>Vitis</b>進行嵌入式設(shè)計開發(fā)用戶指南

    淺談多目標優(yōu)化約束條件下充電設(shè)施有序充電控制策略

    隨著電動汽車的普及,充電設(shè)施的需求日益增長,如何在多目標優(yōu)化約束下實現(xiàn)充電設(shè)施的有序充電成為亟待解決的問題。新能源汽車的快速發(fā)展清潔能源和可持續(xù)交通帶來了新機遇,但也引出了許多問題。其中,充電設(shè)施的有序充電控制策略在多目標優(yōu)化
    的頭像 發(fā)表于 01-07 13:17 ?768次閱讀
    淺談多目標優(yōu)化<b class='flag-5'>約束</b>條件下充電設(shè)施有序充電控制策略

    時序約束一主時鐘與生成時鐘

    的輸出,對于Ultrascale和Ultrascale+系列的器件,定時器會自動地接入到GT的輸出。 1.2 約束設(shè)置格式 主時鐘約束使用命令create_clock進行創(chuàng)建,進入Timing
    的頭像 發(fā)表于 11-29 11:03 ?2075次閱讀
    時序<b class='flag-5'>約束</b>一主時鐘與生成時鐘

    AMD Vitis Unified Software Platform 2024.2發(fā)布

    近日,全新 AMD Vitis Unified Software Platform 2024.2 版本推出。
    的頭像 發(fā)表于 11-27 15:47 ?1055次閱讀