一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

XILINX開發(fā)者社區(qū) ? 來(lái)源:XILINX開發(fā)者社區(qū) ? 作者:Hong Han ? 2021-07-28 10:12 ? 次閱讀

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

在Vitis完成這個(gè)過(guò)程的底層,實(shí)際調(diào)用的是Vivado。Vitis會(huì)指定默認(rèn)的Vivado策略來(lái)執(zhí)行綜合和實(shí)現(xiàn)的步驟。當(dāng)默認(rèn)的Vivado策略無(wú)法達(dá)到預(yù)期的時(shí)序要求時(shí),我們需要在Vivado中分析時(shí)序問(wèn)題的原因(不在本篇中詳細(xì)討論), 并根據(jù)時(shí)序失敗的原因調(diào)整Vivado各個(gè)步驟的選項(xiàng)。有時(shí)我們也需要調(diào)整Vivado各個(gè)步驟的選項(xiàng)做不同方向的優(yōu)化。

在Vitis中提供了“--vivado” 選項(xiàng)來(lái)精細(xì)控制Vivado各個(gè)步驟的選項(xiàng),幾乎所有期望加在Vivado中的選項(xiàng)都可以通過(guò)這個(gè)選項(xiàng)傳遞給Vivado。以下操作如何選擇合適的選項(xiàng)需要對(duì)于Vivado的運(yùn)行機(jī)制有一定的了解,對(duì)于Vivado不熟悉的用戶,建議先閱讀UG901以及UG904,兩者分別是綜合和實(shí)現(xiàn)的使用手冊(cè)

1. 對(duì)于應(yīng)用于Vivado的參數(shù)使用選項(xiàng):

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

舉例:

--vivado.param project.writeIntermediateCheckpoints=1

對(duì)應(yīng)Vivado中參數(shù)設(shè)置的命令:

set_param project.writeIntermediateCheckpoints

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

對(duì)應(yīng)configure文件的內(nèi)容:

[vivado]

param=project.writeIntermediateCheckpoints=1

2. 對(duì)于Vivado工程的屬性設(shè)置:

--vivado.prop 《object_type》?!秓bject_name》?!秔rop_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 實(shí)現(xiàn)階段執(zhí)行PHYS_OPT_DESIGN步驟

(注:Vivado中PHYS_OPT_DESIGN步驟默認(rèn)并不執(zhí)行)

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

《3》 指定了在Place_design之前需要先執(zhí)行一個(gè)tcl腳本。

對(duì)應(yīng)configure文件的內(nèi)容:

[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實(shí)現(xiàn)階段的選項(xiàng)無(wú)法直接在Vivado工程模式的各個(gè)階段的既有選項(xiàng)中直接體現(xiàn),例如在opt_design 階段,我只想執(zhí)行 -sweep 選項(xiàng),這時(shí)我們可以用到這些步驟的“More Option”

opt_design -sweep 相當(dāng)于在在工程模式中設(shè)置opt_design的More option 為 -sweep

由于“More Option” 這個(gè)選項(xiàng)中含有空格,使用起來(lái)要相當(dāng)小心。一旦用錯(cuò),這個(gè)選項(xiàng)在v++中可能和其他的選項(xiàng)混淆,導(dǎo)致工具報(bào)一些看似無(wú)關(guān)的錯(cuò)誤

示例:

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

我們先將Vivado的相關(guān)屬性加到Vitis link的選項(xiàng)中

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

完成Vitis platform link之后,打開生成的Vivado 工程,我們可以看到之前設(shè)置的Vivado 屬性都能體現(xiàn)在底層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中可以執(zhí)行g(shù)et _param命令查看parameter是否已經(jīng)設(shè)置成功:

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

本片文章來(lái)自賽靈思高級(jí)工具產(chǎn)品應(yīng)用工程師 Hong Han

編輯:jq

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

    關(guān)注

    0

    文章

    147

    瀏覽量

    7774

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

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何設(shè)置信令測(cè)試儀的發(fā)射參數(shù)

    設(shè)置信令測(cè)試儀的發(fā)射參數(shù)是一個(gè)涉及多個(gè)步驟的過(guò)程,具體步驟可能因信令測(cè)試儀的型號(hào)和品牌而有所不同。以下是一個(gè)通用的設(shè)置信令測(cè)試儀發(fā)射參數(shù)的步驟指南:一、準(zhǔn)備階段 確認(rèn)信令測(cè)試儀型號(hào)與規(guī)格: 在設(shè)置
    發(fā)表于 03-24 14:31

    一文詳解Vivado時(shí)序約束

    Vivado的時(shí)序約束是保存在xdc文件,添加或創(chuàng)建設(shè)計(jì)的工程源文件后,需要?jiǎng)?chuàng)建xdc文件設(shè)置時(shí)序約束。時(shí)序約束文件可以直接創(chuàng)建或添加已存在的約束文件,創(chuàng)建約束文件有兩種方式:Constraints Wizard和Edit T
    的頭像 發(fā)表于 03-24 09:44 ?1724次閱讀
    一文詳解<b class='flag-5'>Vivado</b>時(shí)序約束

    底層開發(fā)與應(yīng)用開發(fā)到底怎么選?

    選擇底層開發(fā)還是應(yīng)用開發(fā),需要綜合考慮個(gè)人興趣、職業(yè)規(guī)劃、技術(shù)能力、市場(chǎng)需求和發(fā)展前景等多個(gè)因素。 以下是關(guān)于底層開發(fā)與應(yīng)用開發(fā)的詳細(xì)對(duì)比,希望可以幫助你做出更合適的選擇: 一、底層開發(fā) 1.
    發(fā)表于 03-06 10:10

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

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

    U50的AMD Vivado Design Tool flow設(shè)置

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

    CDCE949如何使用Clock Pro 1.21來(lái)計(jì)算寄存器的值,并導(dǎo)出配置信息呢?

    如何使用 Clock Pro 1.21來(lái)計(jì)算寄存器的值,并導(dǎo)出配置信息呢?使用這個(gè)軟件脫機(jī)運(yùn)行一直不能輸入信息。
    發(fā)表于 11-13 07:58

    Vivado使用小技巧

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

    請(qǐng)問(wèn)labview是否無(wú)法向matlab傳遞3維數(shù)組

    經(jīng)過(guò)一些測(cè)試,發(fā)現(xiàn)在matlab script只能傳二維數(shù)組,利用打包.net庫(kù),好像還是只能傳遞二維數(shù)組。 是不是從底層就不支持,這兩種語(yǔ)言的三維數(shù)組就是不能直接傳遞,是么?
    發(fā)表于 10-22 20:14

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

    在現(xiàn)代網(wǎng)絡(luò)管理,備份交換機(jī)的配置信息是一項(xiàng)至關(guān)重要的任務(wù)。備份可以確保在交換機(jī)發(fā)生故障或配置錯(cuò)誤時(shí),能夠迅速恢復(fù)到之前的工作狀態(tài)。本文將詳細(xì)介紹如何使用Python腳本備份華為交換機(jī)的配置信息。
    的頭像 發(fā)表于 08-12 17:50 ?1063次閱讀
    使用Python腳本備份華為交換機(jī)的配<b class='flag-5'>置信息</b>

    Mesh組網(wǎng)完成后,esp_wifi_set_config函數(shù)寫入的配置信息會(huì)丟失,為什么?

    信息,然后在將讀到的信息使用esp_mesh_set_config函數(shù)設(shè)置Mesh網(wǎng)絡(luò),給Mesh 配網(wǎng)是使用字節(jié)寫的ble通訊將app配置的WiFi配置及Mesh配置接收,WiFi信息
    發(fā)表于 07-19 06:57

    神經(jīng)元的信息傳遞方式是什么

    神經(jīng)元是神經(jīng)系統(tǒng)的基本單位,它們通過(guò)電信號(hào)和化學(xué)信號(hào)的方式進(jìn)行信息傳遞。 神經(jīng)元的信息傳遞方式 神經(jīng)元的結(jié)構(gòu)和功能 神經(jīng)元是神經(jīng)系統(tǒng)的基本單位,它們具有接收、處理和
    的頭像 發(fā)表于 07-03 11:27 ?2138次閱讀

    鴻蒙開發(fā):信息傳遞載體Want

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

    abb機(jī)器人怎么設(shè)置原點(diǎn)位置信號(hào)

    ABB機(jī)器人設(shè)置原點(diǎn)位置信號(hào)是一個(gè)重要的步驟,它可以幫助機(jī)器人準(zhǔn)確地定位和執(zhí)行任務(wù)。 了解原點(diǎn)位置信號(hào)的重要性 原點(diǎn)位置信號(hào)是機(jī)器人編程和操作的基礎(chǔ)。它為機(jī)器人提供了一個(gè)參考點(diǎn),使得機(jī)
    的頭像 發(fā)表于 06-17 09:24 ?2744次閱讀

    AMD Vitis?設(shè)計(jì)工具的Libraries新功能介紹

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

    在Windows 10上創(chuàng)建并運(yùn)行AMD Vitis?視覺庫(kù)示例

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