吴忠躺衫网络科技有限公司

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

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

3天內不再提示

如何基于Vitis中把設置信息傳遞到底層的Vivado

XILINX開發者社區 ? 來源:XILINX開發者社區 ? 作者:Hong Han ? 2021-07-28 10:12 ? 次閱讀

在Vitis 統一軟件平臺中使用v++ -link命令,可以把各種類型Kernel(C, C++, OpenCL C, 以及 RTL)的對象文件(.XO)整合到目標平臺中,最終生成器件的二進制文件XCLBIN

在Vitis完成這個過程的底層,實際調用的是Vivado。Vitis會指定默認的Vivado策略來執行綜合和實現的步驟。當默認的Vivado策略無法達到預期的時序要求時,我們需要在Vivado中分析時序問題的原因(不在本篇中詳細討論), 并根據時序失敗的原因調整Vivado各個步驟的選項。有時我們也需要調整Vivado各個步驟的選項做不同方向的優化。

在Vitis中提供了“--vivado” 選項來精細控制Vivado各個步驟的選項,幾乎所有期望加在Vivado中的選項都可以通過這個選項傳遞給Vivado。以下操作如何選擇合適的選項需要對于Vivado的運行機制有一定的了解,對于Vivado不熟悉的用戶,建議先閱讀UG901以及UG904,兩者分別是綜合和實現的使用手冊

1. 對于應用于Vivado的參數使用選項:

--vivado.param 《object》《parameter》=《value》

舉例:

--vivado.param project.writeIntermediateCheckpoints=1

對應Vivado中參數設置的命令:

set_param project.writeIntermediateCheckpoints

這個命令也可以放在Vivado各個階段的TCL.PRE/TCL.POST所指定的腳本中用--vivado.prop 執行(參考“Vivado工程的屬性設置”的內容)

對應configure文件的內容:

[vivado]

param=project.writeIntermediateCheckpoints=1

2. 對于Vivado工程的屬性設置:

--vivado.prop 《object_type》。《object_name》。《prop_name》

這里的Object_type是可以是run, fileset, file 或者 project

舉例:

v++ --link --vivado.prop run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true

--vivado.prop run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=Explore

--vivado.prop run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=/…/xxx.tcl

《1》 指定了在Vivado 實現階段執行PHYS_OPT_DESIGN步驟

(注:Vivado中PHYS_OPT_DESIGN步驟默認并不執行)

《2》 指定了在PHYS_OPT_DESIGN步驟采用的directive 是 Explore

《3》 指定了在Place_design之前需要先執行一個tcl腳本。

對應configure文件的內容:

[vivado]

prop=run.impl_1.steps.phys_opt_design.is_enabled=1

prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=Explore

prop=run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=/…/xxx.tcl

不少Vivado實現階段的選項無法直接在Vivado工程模式的各個階段的既有選項中直接體現,例如在opt_design 階段,我只想執行 -sweep 選項,這時我們可以用到這些步驟的“More Option”

opt_design -sweep 相當于在在工程模式中設置opt_design的More option 為 -sweep

由于“More Option” 這個選項中含有空格,使用起來要相當小心。一旦用錯,這個選項在v++中可能和其他的選項混淆,導致工具報一些看似無關的錯誤

示例:

--vivado.prop “run.impl_1.{STEPS.OPT_DESIGN.ARGS.MORE OPTIONS}={-sweep}”

我們先將Vivado的相關屬性加到Vitis link的選項中

245df7b6-ebf1-11eb-a97a-12bb97331649.png

完成Vitis platform link之后,打開生成的Vivado 工程,我們可以看到之前設置的Vivado 屬性都能體現在底層Vivado工程中:

(Vivado工程文件所在目錄(不同版本可能有所差異):

XX/XX_system_hw_link/Hardware/binary_container_1.build/link/vivado/vpl/prj/prj.xpr)

246a7176-ebf1-11eb-a97a-12bb97331649.png

在Vivado 的TCL CONSOLE中可以執行get _param命令查看parameter是否已經設置成功:

24b9bfa6-ebf1-11eb-a97a-12bb97331649.png

本片文章來自賽靈思高級工具產品應用工程師 Hong Han

編輯:jq

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

    關注

    0

    文章

    147

    瀏覽量

    7497

原文標題:開發者分享 | 如何在Vitis中把設置信息傳遞到底層的Vivado (上)

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AMD Vitis Unified Software Platform 2024.2發布

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

    U50的AMD Vivado Design Tool flow設置

    AMD Alveo 加速卡使用有兩種流程,AMD Vitis Software Platform flow 和 AMD Vivado Design Tool flow。比較常見的是 Vitis
    的頭像 發表于 11-13 10:14 ?277次閱讀
    U50的AMD <b class='flag-5'>Vivado</b> Design Tool flow<b class='flag-5'>設置</b>

    CDCE949如何使用Clock Pro 1.21來計算寄存器的值,并導出配置信息呢?

    如何使用 Clock Pro 1.21來計算寄存器的值,并導出配置信息呢?使用這個軟件脫機運行一直不能輸入信息
    發表于 11-13 07:58

    Vivado使用小技巧

    后的約束在之前版本已存在,那么Vivado會給出警告信息,顯示這些約束會覆蓋之前已有的約束;如果是新增約束,那么就會直接生效。
    的頭像 發表于 10-24 15:08 ?436次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    使用Python腳本備份華為交換機的配置信息

    在現代網絡管理,備份交換機的配置信息是一項至關重要的任務。備份可以確保在交換機發生故障或配置錯誤時,能夠迅速恢復到之前的工作狀態。本文將詳細介紹如何使用Python腳本備份華為交換機的配置信息
    的頭像 發表于 08-12 17:50 ?682次閱讀
    使用Python腳本備份華為交換機的配<b class='flag-5'>置信息</b>

    神經元的信息傳遞方式是什么

    神經元是神經系統的基本單位,它們通過電信號和化學信號的方式進行信息傳遞。 神經元的信息傳遞方式 神經元的結構和功能 神經元是神經系統的基本單位,它們具有接收、處理和
    的頭像 發表于 07-03 11:27 ?1496次閱讀

    鴻蒙開發:信息傳遞載體Want

    其中,一種常見的使用場景是作為[`startAbility()`]方法的參數。例如,當UIAbilityA需要啟動UIAbilityB并向UIAbilityB傳遞一些數據時,可以使用Want作為一個載體,將數據傳遞給UIAbilityB。
    的頭像 發表于 06-21 15:14 ?495次閱讀
    鴻蒙開發:<b class='flag-5'>信息</b><b class='flag-5'>傳遞</b>載體Want

    abb機器人怎么設置原點位置信

    ABB機器人設置原點位置信號是一個重要的步驟,它可以幫助機器人準確地定位和執行任務。 了解原點位置信號的重要性 原點位置信號是機器人編程和操作的基礎。它為機器人提供了一個參考點,使得機
    的頭像 發表于 06-17 09:24 ?2223次閱讀

    AMD Vitis?設計工具的Libraries新功能介紹

    AMD Vitis? 2023.2 設計工具是 Vitis 設計工具變化較大的一個版本,設計流程和界面都發生了變化。
    的頭像 發表于 05-29 09:50 ?657次閱讀
    AMD <b class='flag-5'>Vitis</b>?設計工具<b class='flag-5'>中</b>的Libraries新功能介紹

    在Windows 10上創建并運行AMD Vitis?視覺庫示例

    本篇文章將演示創建一個使用 AMD Vitis? 視覺庫的 Vitis HLS 組件的全過程。此處使用的是 Vitis Unified IDE。如果您使用的是舊版 AMD Vitis
    的頭像 發表于 05-08 14:02 ?855次閱讀
    在Windows 10上創建并運行AMD <b class='flag-5'>Vitis</b>?視覺庫示例

    Vitis2023.2使用之—— updata to Vitis Unified IDE

    2023.2的classic Vitis IDE工程的方法是編譯好vivado工程后重新導出硬件.xsa 基于導出的硬件重新生成平臺工程和應用工程。 工程編譯好后單擊Vitis菜單下的Export
    發表于 03-24 17:14

    Vitis2023.2使用之—— classic Vitis IDE

    AMD官網下載全系統安裝包,或下載網頁版安裝包,安裝好vitis全套組件。打開vivado建一個測試工程編譯好后,在tcl命令輸入框子輸入命令 vitis –classic 即可打開傳統的GUI界面
    發表于 03-24 16:15

    RNC_OTF_Exec函數在otf階段,pwm輸出是關閉的,如何獲得轉子位置信息

    RNC_OTF_Exec函數在otf階段,pwm輸出是關閉的,如何獲得轉子位置信息
    發表于 03-12 06:14

    LabVIEW模板匹配位置信息導出

    大家好,我在利用ni vision assistant生成的模板匹配界面時,想要將每一個匹配物體的位置信息導出到word或者Excel,但是他這個匹配個數不確定,怎么樣匹配到的所有物體信息導出呀?利用哪些編程?謝謝大家了
    發表于 03-11 20:22

    在做simulink+tasking自動代碼生成時,編譯找不到底層文件是為什么?

    在做simulink+tasking自動代碼生成時,編譯找不到底層文件,將文件添加進去后,會出現RT或NRT等重復定義
    發表于 02-20 08:06
    百家乐官网规则以及玩法| 百家乐官网单机游戏免费下| 澳门百家乐开户投注| 大赢家娱乐城信誉| 百家乐英皇娱乐网| 百家乐官网视频台球游戏| 百家乐小路是怎么画的| 任我赢百家乐官网自动投注分析系统 | 广东百家乐官网桌布| 百博百家乐的玩法技巧和规则| AG百家乐官网大转轮| 海南省| 哪里有百家乐赌博网站| 百家乐官网出千工具价格| 双牌县| 德州扑克总督| 连环百家乐怎么玩| 百家乐官网新送彩金| 易胜博足球开户| 大发888游戏下载官方| 百家乐博赌场娱乐网规则 | 百家乐官网游戏试玩免费| 大发888国际娱乐网| 百家乐怎样做弊| 24山风水 九运| 澳门百家乐官网博客| 99真人娱乐城| 百家乐技术论坛| 百家乐电子作弊器| 百家乐ipone| 百家乐规则澳门| 做生意佩戴什么纳财| 做生意讲究风水| 做生意的信风水吗| 百家乐投注软件有用吗| 百家乐技巧-百家乐开户指定代理网址 | 澳门葡京赌场官网| 舟山星空棋牌游戏大厅下载| 大世界百家乐赌场娱乐网规则| 自贡百家乐赌场| 百家乐在线投注系统|