色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

三個(gè)對分析編譯時(shí)間非常有效的Tcl腳本

FPGA技術(shù)驛站 ? 來源:FPGA技術(shù)驛站 ? 2023-02-10 15:00 ? 次閱讀

針對特定的設(shè)計(jì),就編譯時(shí)間而言,我們要分析時(shí)間都消耗在哪些環(huán)節(jié)從而有針對性的縮短編譯時(shí)間。通常,時(shí)間可能花費(fèi)在加載約束上,也可能花費(fèi)在某個(gè)子步驟如布局。有時(shí)面對的情況是同一設(shè)計(jì)在不同Vivado版本上運(yùn)行時(shí)間出現(xiàn)較大差異。

report_constraints

我們先來介紹第一個(gè)命令:report_constraints。運(yùn)行該命令之前需要先在Vivado Tcl Console中執(zhí)行如下命令:

source report_constraints.tcl

同時(shí)最好將該腳本與待分析的dcp放置在同一目錄下,這樣在讀取dcp時(shí)就只用提供當(dāng)前工作目錄即可。另外,需要注意的是report_constraints只能在Linux系統(tǒng)下運(yùn)行。report_constraints可報(bào)告出設(shè)計(jì)中所用到的約束的種類(包括時(shí)序約束也包括非時(shí)序約束)、數(shù)量以及有效性。

通常情況下,Xilinx建議采用如下順序描述時(shí)序約束。除第10條set_bus_skew之外,約束的優(yōu)先級也是依此順序的,即1號優(yōu)先級最低,9號優(yōu)先級最高。因此,不合理的順序以及不合理的描述方式會(huì)導(dǎo)致一些約束被覆蓋,從而造成設(shè)計(jì)“假收斂”的現(xiàn)象。

poYBAGPl6-KAVvYYAABv_DOGcGU688.jpg

對于一個(gè)復(fù)雜的設(shè)計(jì),除了用戶約束文件外,還可能會(huì)有IP的約束文件,這些約束文件可能在用戶約束文件之前被調(diào)用(約束文件屬性PROCESSING_ORDER為EARLY),也可能在用戶約束文件之后被調(diào)用(約束文件屬性PROCESSING_ORDER為LATE)。report_constraints可報(bào)告出所有約束文件所包含的約束。

案例1:只報(bào)告上述10種時(shí)序約束的個(gè)數(shù)

如下圖所示(使用report_constraints時(shí)需要在添加作用域即tb::)。該報(bào)告第1列顯示約束類型,第2列顯示需要在用戶約束之前調(diào)用的約束個(gè)數(shù),第3列顯示用戶約束的個(gè)數(shù),第4列顯示需要在用戶之后調(diào)用的約束個(gè)數(shù),第5列顯示和開發(fā)板相關(guān)的約束個(gè)數(shù)(當(dāng)Part選擇為開發(fā)板時(shí)),最后一列顯示OOC綜合時(shí)用到的約束個(gè)數(shù)。

pYYBAGPl7A2AEyXxAACmFGgfqhk078.jpg

案例2
:報(bào)告所有約束及約束用到的命令

通過添加-all選項(xiàng),report_constratins可報(bào)告所有約束(時(shí)序約束+非時(shí)序約束)的數(shù)目以及這些約束用到的Tcl命令的個(gè)數(shù),如下圖所示。

在Vivado Commands Summary中,可以看到get_cells、get_pins、get_ports以及set_property等命令的使用情況。

pYYBAGPl7CWAMmboAAEzkgq53Es078.jpg

案例3
:報(bào)告約束的具體信息

添加選項(xiàng)-details和-verbose,report_constratins可報(bào)告約束的詳細(xì)信息,如下圖所示。
poYBAGPl7DmAOfAxAAIgD5m09W8916.jpg

案例4:報(bào)告時(shí)序畫像

選項(xiàng)-timing_graph和-verbose可用于報(bào)告時(shí)序畫像,如下圖所示。當(dāng)Status列由Invalidatetiming變?yōu)镽equired valid timing時(shí),Estimatedupdates加1,這個(gè)值越小越好,根據(jù)此值可判斷約束描述的順序是否是最優(yōu)的。

poYBAGPl7E-AcXm1AAF5_IVfvYU759.jpg

profiler

對Vivado編譯時(shí)間進(jìn)行調(diào)試時(shí),命令profiler可幫助用戶查看特定操作的運(yùn)行時(shí)間,分析指定命令的調(diào)用次數(shù),從而確定整體運(yùn)行時(shí)間的瓶頸。profiler命令的具體使用方法如下所示:

profiler add *

profiler start

open_checkpoint top_routed.dcp

profiler stop

profiler summary

profiler summary -log profiler.log

profiler summary -log profiler.csv -csv

生成的csv文件可用excel打開,第一部分內(nèi)容如下。第一列顯示了所執(zhí)行的命令,倒數(shù)第2列(ncalls)顯示了該命令被調(diào)用的次數(shù),最后一列顯示了執(zhí)行該命令所耗時(shí)間占整體運(yùn)行時(shí)間的百分比。

pYYBAGPl7G6AUf6LAAJocEoytlk536.jpg

profiler生成報(bào)告還能顯示前50條最耗時(shí)的命令,如下圖所示。可用看到除open_checkpoint之外,get_clocks最耗時(shí)。

pYYBAGPl7ISATEPFAALexMBl-ck872.jpg

報(bào)告的第三部分可以看到設(shè)計(jì)中Tcl命令的使用情況,如下圖所示。圖中commands列(最后一列)為Tcl命令,size列為該命令返回的對象的個(gè)數(shù),count列為返回同樣個(gè)數(shù)的命令的個(gè)數(shù),total列等于size與count的乘積。以第122行g(shù)et_cells為例,返回120個(gè)對象的get_cells有24個(gè),所以總對象個(gè)數(shù)為120x24即2880。

poYBAGPl7JqAJL7BAAFXC_4eAf0485.jpg

profiler命令還可用于查看指定命令的運(yùn)行時(shí)間,這對于發(fā)現(xiàn)約束中哪些命令最為耗時(shí)很有幫助,使用方法如下所示。從生成報(bào)告中可以看到get_cells命令共耗時(shí)32.984ms。

profiler start

set cells [get_cells

-hier -filter"REF_NAME==FDRE"]

profiler stop

profiler summary

pYYBAGPl7NaAD70-AAF0ij7LGXo057.jpg

vivadoRuntime

命令vivadoRuntime可用于查看不同策略下每個(gè)階段所消耗的時(shí)間,使用方法如下圖所示。每個(gè)Elapsed列對應(yīng)1個(gè)策略(也就是1個(gè)DesignRun)。

poYBAGPl7PKARcrBAAExMILM4qM505.jpg

使用上述3個(gè)命令我們可用快速偵測出約束中耗時(shí)的命令以及implementation階段耗時(shí)的子步驟。






審核編輯:劉清

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

    關(guān)注

    0

    文章

    30

    瀏覽量

    17251
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    813

    瀏覽量

    66657
  • csv
    csv
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    5832

原文標(biāo)題:縮短Vivado編譯時(shí)間(4):時(shí)間都去哪兒了

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    tcl命令用于時(shí)序分析如何檢查輸入或輸出的時(shí)間

    我只有非常有限的知識(shí)來使用tcl命令進(jìn)行時(shí)序分析(不用于時(shí)序約束,僅用于時(shí)序分析)。這些命令如下:check_timingreport_timing_summary我希望知道一些最常見
    發(fā)表于 03-11 13:41

    如何將庫添加到設(shè)計(jì)中并使用Tcl腳本編譯

    你好,我編寫了一個(gè)Tcl腳本來合成Vivado Design Suite 2014.4中的設(shè)計(jì)(適用于Zynq ZC 706)。設(shè)計(jì)中的庫未編譯。彈出錯(cuò)誤,表示找不到特定的.vhd文件
    發(fā)表于 04-16 10:15

    非常高效三個(gè)linux shell命令分享

    了開發(fā)效率。本文淺析三個(gè)非常高效的linux shell命令(awk,grep,sed),在開發(fā)工程中的實(shí)際應(yīng)用。1,從系統(tǒng)命令的打印中獲取有用信息。演示:上圖為開發(fā)板網(wǎng)絡(luò)信息,現(xiàn)在從中獲取...
    發(fā)表于 12-23 06:38

    Vivado之TCL腳本語言基本語法介紹

    TCL腳本語言 Tcl(Tool Command Language)是一種很通用的腳本語言,它幾乎在所有的平臺(tái)上都可以解釋運(yùn)行,而且VIVADO也提供了
    發(fā)表于 04-11 12:09 ?9939次閱讀

    關(guān)于Tcl的介紹和用途

    在處理if命令時(shí),Tcl解釋器只指導(dǎo)這個(gè)命令有三個(gè)詞,其中第一個(gè)是命令名if。Tcl解釋器并不知道if的第一個(gè)輸入?yún)?shù)是表達(dá)式,第二
    的頭像 發(fā)表于 07-27 09:28 ?4926次閱讀
    關(guān)于<b class='flag-5'>Tcl</b>的介紹和用途

    機(jī)器學(xué)習(xí)對分析地理空間圖像非常有幫助

    機(jī)器學(xué)習(xí)對分析地理空間圖像非常有幫助。衛(wèi)星照片往往會(huì)創(chuàng)建大量數(shù)據(jù),而AI軟件可以比人類觀察者更快地標(biāo)記出感興趣的項(xiàng)目。例如,在澳大利亞,消防員定期分析衛(wèi)星圖像以監(jiān)測野火的蔓延,并努力保持領(lǐng)先地位。
    的頭像 發(fā)表于 03-22 16:23 ?2087次閱讀

    三個(gè)方面分析電磁兼容的問題

    分析個(gè)電磁兼容的問題,從三個(gè)方面入手。這三個(gè)方面分別是:騷擾源、敏感源、耦合路徑。
    發(fā)表于 10-13 14:18 ?1500次閱讀

    有什么方法可以減少Q(mào)uartus II的編譯時(shí)間嗎?

    對于減少Q(mào)uartus II的編譯時(shí)間的方法,可從三個(gè)角度進(jìn)行考慮。
    的頭像 發(fā)表于 05-18 10:27 ?4865次閱讀
    有什么方法可以減少Q(mào)uartus II的<b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b>嗎?

    三個(gè)有效的HMI設(shè)計(jì)原則

    無論你是為機(jī)器制造商、系統(tǒng)集成商工作,還是終端設(shè)備用戶,讓我們來探究一下為什么會(huì)這樣,以及能做些什么。為了幫助評估任何HMI改進(jìn),考慮三個(gè)有效的HMI設(shè)計(jì)原則是非常有幫助的。
    的頭像 發(fā)表于 02-10 15:57 ?1706次閱讀

    17個(gè)非常有用的Python技巧

    Python 是一門非常優(yōu)美的語言,其簡潔易用令人不得不感概人生苦短。在本文中,作者 Gautham Santhosh 帶我們回顧了 17 個(gè)非常有用的 Python 技巧,例如查找、分割和合并列表等。這 17
    的頭像 發(fā)表于 04-10 14:28 ?556次閱讀

    三個(gè)Makefile模板分享

    ????本文分享三個(gè)Makefile模板:編譯可執(zhí)行程序、編譯靜態(tài)庫、編譯動(dòng)態(tài)庫。 1 寫在前面 ????對于Windows下開發(fā),很多IDE都集成了
    的頭像 發(fā)表于 07-10 09:07 ?1038次閱讀
    <b class='flag-5'>三個(gè)</b>Makefile模板分享

    FPGA設(shè)計(jì)之tcl腳本的應(yīng)用

    目前已經(jīng)學(xué)完了基礎(chǔ)實(shí)驗(yàn),這里要介紹Quatus自帶的兩個(gè)非常重要的功能,第一個(gè)tcl腳本,第二個(gè)
    的頭像 發(fā)表于 09-07 18:30 ?2745次閱讀
    FPGA設(shè)計(jì)之<b class='flag-5'>tcl</b><b class='flag-5'>腳本</b>的應(yīng)用

    利用Tcl腳本節(jié)省編譯時(shí)間

    這篇博文介紹了多種自動(dòng)生成報(bào)告的有效途徑,以便您在嘗試對設(shè)計(jì)中特定階段所耗用的編譯時(shí)間進(jìn)行調(diào)試時(shí)使用,例如,自動(dòng)報(bào)告加載設(shè)計(jì)約束的時(shí)間、每條命令的持續(xù)
    的頭像 發(fā)表于 09-15 10:44 ?843次閱讀
    利用<b class='flag-5'>Tcl</b><b class='flag-5'>腳本</b>節(jié)省<b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b>

    Linux內(nèi)核編譯腳本

    ,則: make V= 2 內(nèi)核編譯腳本 最后分享我常用的內(nèi)核編譯腳本 mk.sh ,給大家參考: #!/bin/sh export ARCH=arm export PATH=~/to
    的頭像 發(fā)表于 09-27 11:52 ?662次閱讀

    keil自動(dòng)化編譯腳本

    這是一個(gè) keil 的自動(dòng)化編譯腳本,可被其他腳本或程序調(diào)用,接收參數(shù)并按參數(shù)編譯 keil 工程,而不必打開 keil 軟件,實(shí)現(xiàn)程序上的
    的頭像 發(fā)表于 10-16 17:04 ?1946次閱讀
    keil自動(dòng)化<b class='flag-5'>編譯</b><b class='flag-5'>腳本</b>
    主站蜘蛛池模板: 九色PORNY丨视频入口| 老头xxx| xxxxx中国明星18| 中文字幕A片视频一区二区| 妖精视频免费高清观看| 一道本无吗d d在线播放| 亚洲精品午睡沙发系列| 亚洲精品久久久WWW游戏好玩| 亚洲欧美日韩综合影院| 亚洲乱码国产乱码精品精98| 小莹的性荡生活40章| 亚洲色欲色欲WWW在线丝| 亚洲综合中文字幕无线码| 最近中文字幕在线看免费完整版 | 白丝女仆被啪到深夜漫画| 99热在线观看| 国产精品免费观看视频播放| 国产网址在线观看| 就去色电影| 啪啪漫画无遮挡全彩h网站| 日本在线高清不卡免费播放| 亚洲国产在线播放在线| 一抽一出BGM免费50分动漫| 亚洲第一区欧美日韩精品| 伊人影院综合网| 99九九免费热在线精品| 丰满的大白屁股ass| 国产免费怕怕免费视频观看| 花蝴蝶免费版高清版| 嫩草电影网嫩草影院| 人淫阁| 天美传媒色情原创精品| 伊人久久大香| 99热久这里都是精品小草| 国产精品三级在线观看| 九九在线精品亚洲国产| 男女午夜性爽快免费视频不卡| 宿舍BL 纯肉各种PLAY H| 亚洲免费观看| 4484在线观看视频| 国产人妻精品无码AV在线五十路|