在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

在Vivado中實(shí)現(xiàn)ECO功能

FPGA技術(shù)江湖 ? 來(lái)源:FPGA算法工程師 ? 2023-05-05 15:34 ? 次閱讀

本篇是Xilinx已發(fā)布的《Vivado使用誤區(qū)與進(jìn)階》系列:在Vivado中實(shí)現(xiàn)ECO功能。

關(guān)于Tcl在Vivado中的應(yīng)用文章從Tcl的基本語(yǔ)法和在Vivado中的應(yīng)用展開(kāi),繼上篇《用Tcl定制Vivado設(shè)計(jì)實(shí)現(xiàn)流程》介紹了如何擴(kuò)展甚至是定制FPGA設(shè)計(jì)實(shí)現(xiàn)流程后,引出了一個(gè)更細(xì)節(jié)的應(yīng)用場(chǎng)景:如何利用Tcl在已完成布局布線的設(shè)計(jì)上對(duì)網(wǎng)表或是布局布線進(jìn)行局部編輯,從而在最短時(shí)間內(nèi),以最小的代價(jià)完成個(gè)別的設(shè)計(jì)改動(dòng)需求。

什么是ECO

ECO指的是Engineering Change Order,即工程變更指令。目的是為了在設(shè)計(jì)的后期,快速靈活地做小范圍修改,從而盡可能的保持已經(jīng)驗(yàn)證的功能和時(shí)序。ECO的叫法算是從IC設(shè)計(jì)領(lǐng)域繼承而來(lái),其應(yīng)用在FPGA設(shè)計(jì)上尚屬首次,但這種做法其實(shí)在以往的FPGA設(shè)計(jì)上已被廣泛采用。簡(jiǎn)單來(lái)說(shuō),ECO便相當(dāng)于ISE上的FPGA Editor。

但與FPGA Editor不同,Vivado中的ECO并不是一個(gè)獨(dú)立的界面或是一些特定的命令,要實(shí)現(xiàn)不同的ECO功能需要使用不同的方式。

ECO的應(yīng)用場(chǎng)景和實(shí)現(xiàn)流程

ECO的應(yīng)用場(chǎng)景主要包含:修改cell屬性、增減或移動(dòng)cell、手動(dòng)局部布線。還有一些需要多種操作配合的復(fù)雜場(chǎng)景,例如把RAM(或DSP)的輸出寄存器放入/拉出RAMB(或DSP48)內(nèi)部,或是把設(shè)計(jì)內(nèi)部信號(hào)接到I/O上作調(diào)試probe用等等。

針對(duì)不同的應(yīng)用場(chǎng)景,Vivado中支持的ECO實(shí)現(xiàn)方式也略有區(qū)別。有些可以用圖形界面實(shí)現(xiàn),有些則只能使用Tcl命令。但通常可以在圖形化界面上實(shí)現(xiàn)的操作,都可以改用一條或數(shù)條Tcl命令來(lái)實(shí)現(xiàn)。

ECO的實(shí)現(xiàn)流程如下圖所示:

4420ccfc-eb15-11ed-90ce-dac502259ad0.png

第一步所指的Design通常是完全布局布線后的設(shè)計(jì),如果是在工程模式下,可以直接在IDE中打開(kāi)實(shí)現(xiàn)后的設(shè)計(jì),若是僅有DCP文件,不論是工程模式或是非工程模式產(chǎn)生的DCP,都可以用open_checkpoint命令打開(kāi)。

第二步就是ECO的意義所在,我們?cè)诓季植季€后的設(shè)計(jì)上進(jìn)行各種操作,然后僅對(duì)改動(dòng)的部分進(jìn)行局部布局/布線而無(wú)需整體重跑設(shè)計(jì),節(jié)約大量時(shí)間的同時(shí)也不會(huì)破壞已經(jīng)收斂的時(shí)序。

第三步就是產(chǎn)生可供下載的bit文件了,此時(shí)必須在Tcl Console中或是Tcl模式下直接輸入命令產(chǎn)生bit文件,而不能使用IDE上的“Generate Bitstream”按鈕。原因是后者讀到的還是ECO前已經(jīng)完成布局布線的原始設(shè)計(jì),生成的bit文件自然也無(wú)法使用。

修改屬性

絕大部分的屬性修改都能通過(guò)IDE界面完成,如下圖所示。

4429134e-eb15-11ed-90ce-dac502259ad0.png

比如要修改寄存器的初值INIT或是LUT的真值表,用戶只需在Vivado IDE中打開(kāi)布局布線后的設(shè)計(jì)(Implemented Design),在Device View中找到并選中這個(gè)FF/LUT,接著在其左側(cè)的Cell Properties視圖中選擇需要修改的屬性,直接修改即可。

除了對(duì)FF/LUT的操作外,很多時(shí)候我們需要對(duì)MMCM/PLL輸出時(shí)鐘的相移進(jìn)行修改。對(duì)于這種應(yīng)用,用戶也無(wú)需重新產(chǎn)生MMCM/PLL,與上述方法類似,可以在布局布線后的Device View上直接修改。

44374946-eb15-11ed-90ce-dac502259ad0.png

移動(dòng)/交換cells

移動(dòng)/交換cells是對(duì)FF/LUT進(jìn)行的ECO操作中最基本的一個(gè)場(chǎng)景,目前也只有這種情況可以通過(guò)圖形化實(shí)現(xiàn)。如要?jiǎng)h減cells等則只能通過(guò)Tcl命令來(lái)進(jìn)行。

444440e2-eb15-11ed-90ce-dac502259ad0.png

具體操作方法也相當(dāng)簡(jiǎn)便,要互換cells位置的情況下,只要在Device View上選中需要的那兩個(gè)cells,如上圖所示的兩個(gè)FFs,然后右鍵調(diào)出菜單,選擇Swap Locations即可。若要移動(dòng)cells則更簡(jiǎn)單,直接在圖中選中FF拖移到新的位置即可。

當(dāng)用戶移動(dòng)或改變了cells的位置后會(huì)發(fā)現(xiàn)與其連接的nets變成了黃色高亮顯示,表示這些nets需要重新布線。這時(shí)候需要做的就是在圖中選中這些nets然后右鍵調(diào)出菜單,選擇Route進(jìn)行局部布線。

444d4a34-eb15-11ed-90ce-dac502259ad0.png

局部布線后一定要記得在Tcl Console中使用report_route_status命令檢查布線情況,確保沒(méi)有未完成布線(unrouted)或是部分未完成布線(partial routed)的nets存在。給這個(gè)命令加上選項(xiàng)則可以報(bào)告出更細(xì)致的結(jié)果,如下圖所示。

445751f0-eb15-11ed-90ce-dac502259ad0.png

如果換個(gè)稍復(fù)雜些的Tcl命令配合圖形化顯示,更加直觀的同時(shí),也可以方便右鍵調(diào)出命令進(jìn)行針對(duì)性的局部布線。

4460c258-eb15-11ed-90ce-dac502259ad0.png

手動(dòng)布線

手動(dòng)布線是一種非常規(guī)的布線方式,一次只能針對(duì)一根net在圖形化界面下進(jìn)行。所謂手動(dòng)布線,除了完全手動(dòng)一個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)的選擇外,也支持工具自動(dòng)選擇資源來(lái)布線。通常我們并不建議全手動(dòng)的方式,Vivado是時(shí)序驅(qū)動(dòng)的工具,所以其自動(dòng)選擇的布線結(jié)果已經(jīng)是遵循了時(shí)序約束下的最佳選擇。

在Device View中選擇一根沒(méi)有布線或是預(yù)先Unroute過(guò)的net(顯示為紅色高亮),右鍵調(diào)出菜單并選擇Enter Assign Routing Mode…便可進(jìn)入手動(dòng)布線模式。

4473bad4-eb15-11ed-90ce-dac502259ad0.png

復(fù)雜的ECO場(chǎng)景

篇幅過(guò)半,一直在鋪墊,其實(shí)最有實(shí)踐意義的ECO還沒(méi)提到。相信大部分用戶最懷念FPGA Editor中的一個(gè)功能就是probe了,如何快速地把一根內(nèi)部信號(hào)連接到FPGA管腳上,無(wú)需重新布局布線,直接更新bit文件后下載調(diào)試。曾經(jīng)數(shù)次被客戶問(wèn)及,很多人還為Vivado中不支持這樣的做法而深表遺憾。

其實(shí)這樣類似的功能在Vivado中一直支持,唯一的問(wèn)題是暫時(shí)還沒(méi)有圖形化界面可以一鍵操作(相關(guān)開(kāi)發(fā)工作已經(jīng)在進(jìn)行中)。但受益于Tcl的靈活多變,我們可以更有針對(duì)性地實(shí)現(xiàn)probe功能,效率也更高。

Tcl操作命令

在UG835中把Vivado支持的Tcl命令按照Category分類,這些列于Netlist目錄下的命令就是實(shí)現(xiàn)ECO需要用到的那些。

通常涉及到增減cells的ECO基本分為三步實(shí)現(xiàn):首先用create_cell / create_net等創(chuàng)建相關(guān)cell和/或net,然后用disconnect_net / connect_net等命令修正因?yàn)閏ell和net的改動(dòng)而影響到的連接關(guān)系,最后用route_design加選項(xiàng)完成局部布線。

不同的Vivado版本對(duì)此類ECO修改有稍許不同的限制,例如在2014.1之后的版本上,需要在改變cell的連接關(guān)系前先用unplace_cell將cell從當(dāng)前的布局位置上釋放,在完成新的連接關(guān)系后,再用place_cell放到新的布局位置上。

具體操作上可以根據(jù)Vivado的提示或報(bào)錯(cuò)信息來(lái)改動(dòng)具體的Tcl命令,但操作思路和可用的命令相差無(wú)幾。

447d9568-eb15-11ed-90ce-dac502259ad0.png

Add Probe

這是一個(gè)在Vivaod上實(shí)現(xiàn)probe功能的Tcl腳本,已經(jīng)寫成了proc子程序,簡(jiǎn)單易懂。可以直接調(diào)用,也可以做成Vivado的嵌入式擴(kuò)展命令。調(diào)用其生成probe只需先source這個(gè)腳本,然后按照如下所示在Tcl Console中輸入命令即可。

44876c1e-eb15-11ed-90ce-dac502259ad0.png

該腳本已經(jīng)在Vivado2014.3和2014.4上測(cè)試過(guò),一次只能完成一個(gè)probe的添加,而且必須按照上述順序輸入信號(hào)名,管腳位置,電平標(biāo)準(zhǔn)和probe名。因?yàn)椴痪邆漕A(yù)檢功能,可能會(huì)碰到一些報(bào)錯(cuò)信息而導(dǎo)致無(wú)法繼續(xù)。例如選擇的信號(hào)是只存在于SLICE內(nèi)部的INTRASITE時(shí),則無(wú)法拉出到管腳。再比如輸入命令時(shí)拼錯(cuò)了電平標(biāo)準(zhǔn)等,也會(huì)造成Tcl已經(jīng)部分修改Vivado數(shù)據(jù)庫(kù)而無(wú)法繼續(xù)的問(wèn)題。此時(shí)只能關(guān)閉已經(jīng)打開(kāi)的DCP并選擇不保存而重新來(lái)過(guò)。

449eedee-eb15-11ed-90ce-dac502259ad0.png

ECO在Vivado上的發(fā)展

經(jīng)過(guò)了兩年多的發(fā)展,在Vivado上實(shí)現(xiàn)ECO已經(jīng)有了多種方式,除了前面提到的圖形化上那些可用的技巧,還有用戶自定義的Tcl命令和腳本等。隨著Xilinx Tcl Store的推出,用戶可以像在App Store中下載使用app一樣下載使用Tcl腳本,簡(jiǎn)化了Tcl在Vivado上應(yīng)用的同時(shí),進(jìn)一步擴(kuò)展了Tcl的深入、精細(xì)化使用,其中就包括Tcl在ECO上的應(yīng)用。

目前Vivado 2014.4版本上新增了很多有用的腳本。安裝好Vivado后,只需打開(kāi)Tcl Store,找到Debug Utilities,點(diǎn)擊Install稍等片刻,即可看到一個(gè)add_probe的Tcl proc被安裝到了你的Vivado中。

44a6b42a-eb15-11ed-90ce-dac502259ad0.png

這個(gè)add_probe是在上述addProbe例子的基礎(chǔ)上擴(kuò)展而來(lái),不僅可以新增probe,而且可以改變現(xiàn)有probe連接的信號(hào)。此外,這個(gè)腳本采用了argument寫法,點(diǎn)擊程序可以看help,所以不一定要按照順序輸入信號(hào)、電平標(biāo)準(zhǔn)等選項(xiàng),輸錯(cuò)也沒(méi)有問(wèn)題。另外增加了預(yù)檢和糾錯(cuò)功能,碰到問(wèn)題會(huì)報(bào)錯(cuò)退出而不會(huì)改變Vivado數(shù)據(jù)庫(kù),效率更高。

此外,Tcl Store上還有很多其它好用的腳本,歡迎大家試用并反饋給我們寶貴意見(jiàn)。雖然里面關(guān)于ECO的腳本還很少,但我們一直在補(bǔ)充。此外Tcl Store是一個(gè)基于GitHub的完全開(kāi)源的環(huán)境,當(dāng)然也歡迎大家上傳自己手中有用的Tcl腳本,對(duì)其進(jìn)行補(bǔ)充。

總體來(lái)說(shuō),ECO是一個(gè)比較大的命題,因?yàn)闋砍兜降母膭?dòng)需求太多,其實(shí)也很難限制在一個(gè)GUI界面中實(shí)現(xiàn)。這篇文章的目的就是為了讓大家對(duì)在FPGA上實(shí)現(xiàn)ECO有個(gè)基本的認(rèn)識(shí),梳理看似復(fù)雜無(wú)序的流程,所謂觀一葉而知秋,窺一斑而見(jiàn)全豹,希望能帶給更多用戶信心,用好Vivado其實(shí)一點(diǎn)都不難。

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21968

    瀏覽量

    614312
  • IC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    38

    文章

    1349

    瀏覽量

    105278
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2182

    瀏覽量

    124387
  • ECO
    ECO
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    15123
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    830

    瀏覽量

    68254

原文標(biāo)題:在 Vivado 中實(shí)現(xiàn) ECO 功能

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    vivado是否有像Logic Lock這樣的功能

    大家好,感謝您的關(guān)注。 (這是我論壇上的第一個(gè)主題?)我已經(jīng)了解到Quartus II具有Logic Lock功能,這對(duì)于組的設(shè)計(jì)人員來(lái)說(shuō)非常方便,并且還具有時(shí)序優(yōu)化功能。我對(duì)
    發(fā)表于 05-20 14:32

    TclVivado的基礎(chǔ)應(yīng)用

    Vivado使用技巧的最大障礙,以至于兩年多后的今天,仍有很多用戶缺乏升級(jí)到Vivado的信心。本文介紹了TclVivado的基礎(chǔ)應(yīng)用,
    發(fā)表于 11-18 03:52 ?5126次閱讀
    Tcl<b class='flag-5'>在</b><b class='flag-5'>Vivado</b><b class='flag-5'>中</b>的基礎(chǔ)應(yīng)用

    Vivado使用誤區(qū)與進(jìn)階——Vivado實(shí)現(xiàn)ECO功能

    關(guān)于TclVivado的應(yīng)用文章從Tcl的基本語(yǔ)法和在Vivado的應(yīng)用展開(kāi),介紹了如何擴(kuò)展甚至是定制FPGA設(shè)計(jì)
    發(fā)表于 11-18 18:26 ?5661次閱讀
    <b class='flag-5'>Vivado</b>使用誤區(qū)與進(jìn)階——<b class='flag-5'>在</b><b class='flag-5'>Vivado</b><b class='flag-5'>中</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>ECO</b><b class='flag-5'>功能</b>

    如何在Vivado執(zhí)行工程變更命令 (ECO)

    了解如何在Vivado執(zhí)行工程變更單(ECO)。 本視頻將向您介紹ECO的常見(jiàn)用例,我們推薦的完成ECO的流程,優(yōu)勢(shì)和局限性,并將演示
    的頭像 發(fā)表于 11-21 06:40 ?5457次閱讀
    如何在<b class='flag-5'>Vivado</b><b class='flag-5'>中</b>執(zhí)行工程變更命令 (<b class='flag-5'>ECO</b>)

    Vivado Design Suite 2015.3的新功能介紹

    了解Vivado實(shí)現(xiàn)2015.3的新增量編譯功能,包括更好地處理物理優(yōu)化和自動(dòng)增量編譯流程。
    的頭像 發(fā)表于 11-20 06:55 ?2786次閱讀

    Vivado Design Suite 2018.1設(shè)計(jì)套件的新增功能介紹

    本視頻重點(diǎn)介紹了Vivado設(shè)計(jì)套件2018.1版本的新增功能,包括對(duì)操作系統(tǒng)以及器件的支持情況,還有高層次增強(qiáng)功能,以及各種功能改進(jìn)以加
    的頭像 發(fā)表于 11-20 06:28 ?2784次閱讀
    <b class='flag-5'>Vivado</b> Design Suite 2018.1設(shè)計(jì)套件<b class='flag-5'>中</b>的新增<b class='flag-5'>功能</b>介紹

    Vivado 2015.3的新增量編譯功能介紹

    了解Vivado實(shí)現(xiàn)2015.3的新增量編譯功能,包括更好地處理物理優(yōu)化和自動(dòng)增量編譯流程。
    的頭像 發(fā)表于 11-29 06:32 ?3927次閱讀

    使用ECO進(jìn)行調(diào)試有哪些好處

    了解使用Vivado 2016.1引入的ECO流程進(jìn)行調(diào)試的好處,以及ECO布局替換ILA
    的頭像 發(fā)表于 11-29 06:01 ?3949次閱讀
    使用<b class='flag-5'>ECO</b>進(jìn)行調(diào)試有哪些好處

    Vivado 2015.3的新增量編譯功能

    了解Vivado實(shí)現(xiàn)2015.3的新增量編譯功能,包括更好地處理物理優(yōu)化和自動(dòng)增量編譯流程。
    的頭像 發(fā)表于 11-30 19:24 ?4748次閱讀

    一起體驗(yàn)VivadoECO流程

    帶大家一起體驗(yàn)一下VivadoECO流程,以vivado自帶的Example Design為例, 直接用TCL命令修改網(wǎng)表,正常的寄存器路徑之間加一級(jí)LUT。 1. 打開(kāi)
    的頭像 發(fā)表于 10-26 09:45 ?3934次閱讀
    一起體驗(yàn)<b class='flag-5'>Vivado</b> 的<b class='flag-5'>ECO</b>流程

    帶大家一起體驗(yàn)一下VivadoECO流程

    這里帶大家一起體驗(yàn)一下VivadoECO流程,以vivado自帶的Example Design為例, 直接用TCL命令修改網(wǎng)表,正常的寄存器路徑之間加一級(jí)LUT。
    的頭像 發(fā)表于 11-29 11:04 ?4696次閱讀
    帶大家一起體驗(yàn)一下<b class='flag-5'>Vivado</b>的<b class='flag-5'>ECO</b>流程

    ECO技術(shù)SoC芯片設(shè)計(jì)的應(yīng)用

    現(xiàn)階段的 SoC芯片設(shè)計(jì),有一半以上的芯片設(shè)計(jì)由于驗(yàn)證問(wèn)題需要重新修改,這其中包括功能、時(shí)序以及串?dāng)_等問(wèn)題。芯片設(shè)計(jì)的整個(gè)流程都要進(jìn)行驗(yàn)證工作,工程改變命令(ECO,Engi ne
    發(fā)表于 04-07 09:40 ?8次下載
    <b class='flag-5'>ECO</b>技術(shù)<b class='flag-5'>在</b>SoC芯片設(shè)計(jì)<b class='flag-5'>中</b>的應(yīng)用

    Vitis把Settings信息傳遞到底層的Vivado

    本篇文章來(lái)自賽靈思高級(jí)工具產(chǎn)品應(yīng)用工程師 Hong Han. 本篇博文將繼續(xù)介紹Vitis把Settings信息傳遞到底層的Vivado. 對(duì)于Vivado
    的頭像 發(fā)表于 08-13 14:35 ?4498次閱讀

    詳解Xilinx FPGA的ECO功能

    ECO 指的是 Engineering Change Order ,即工程變更指令。目的是為了設(shè)計(jì)的后期,快速靈活地做小范圍修改,從而盡可能的保持已經(jīng)驗(yàn)證的功能和時(shí)序。ECO 是從
    的頭像 發(fā)表于 08-02 09:18 ?4391次閱讀
    詳解Xilinx FPGA的<b class='flag-5'>ECO</b><b class='flag-5'>功能</b>

    什么是DFT友好的功能ECO呢?

    DFT是確保芯片在制造過(guò)程具有可測(cè)試性的一種技術(shù)。DFT友好的ECO是指在進(jìn)行ECO時(shí), 不會(huì)破壞芯片的DFT功能或降低DFT覆蓋率的設(shè)計(jì)方法。
    的頭像 發(fā)表于 03-06 14:47 ?2745次閱讀
    主站蜘蛛池模板: 四虎精品影院在线观看视频 | 深夜视频免费在线观看 | 亚洲最大色网站 | 成人区精品一区二区毛片不卡 | 免费看特级淫片日本 | 天天操夜夜操 | 成人精品综合免费视频 | 丁香花在线视频 | 四虎影院黄色片 | 在线视频一区二区三区四区 | 成人做视频免费 | 亚洲最大的成人网 | 天天天天添天天拍天天谢 | 成人最新午夜免费视频 | 看逼网址 | 日韩精品在线第一页 | 免费人成在线观看网站 | 国产成人啪午夜精品网站 | 爱婷婷网站在线观看 | aa视频免费| 三级视频在线 | 四虎成人免费影院网址 | 又色又爽的视频 | 亚洲欧洲日韩综合 | 亚洲欧美v视色一区二区 | 久久艹综合 | 日本xxxxxxxxx69 | 亚洲www视频| 日本一区二区三区不卡在线视频 | 久久精品乱子伦免费 | 五月天丁香婷婷综合 | www视频在线观看天堂 | 国产内地激情精品毛片在线一 | 欧美性猛交xxxx乱大交高清 | 福利视频入口 | 婷婷色综合久久 | 美女用手扒开尿口给男生桶爽 | 国语自产自拍秒拍在线视频 | 国产三级日本三级美三级 | 啪视频免费 | 伊人网综合视频 |