《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 【Vivado使用誤區與進階】在Vivado中實現ECO功能

【Vivado使用誤區與進階】在Vivado中實現ECO功能

2015-03-05
關鍵詞: Vivado Xilinx 誤區


關于Tcl在Vivado中的應用文章從Tcl的基本語法和在Vivado中的應用展開,繼上篇xilinx" title="xilinx">《用Tcl定制Vivado設計實現流程》介紹了如何擴展甚至是定制FPGA設計實現流程后,引出了一個更細節的應用場景:如何利用Tcl在已完成布局布線的設計上對網表或是布局布線進行局部編輯,從而在最短時間內,以最小的代價完成個別的設計改動需求。

什么是ECO

ECO 指的是Engineering Change Order,即工程變更指令。目的是為了在設計的后期,快速靈活地做小范圍修改,從而盡可能的保持已經驗證的功能和時序。ECO的叫法算是從IC設計領域 繼承而來,其應用在FPGA設計上尚屬首次,但這種做法其實在以往的FPGA設計上已被廣泛采用。簡單來說,ECO便相當于ISE上的FPGA Editor。

但與FPGA Editor不同,Vivado中的ECO并不是一個獨立的界面或是一些特定的命令,要實現不同的ECO功能需要使用不同的方式。

ECO的應用場景和實現流程

ECO的應用場景主要包含:修改cell屬性、增減或移動cell、手動局部布線。還有一些需要多種操作配合的復雜場景,例如把RAM(或DSP)的輸出寄存器放入/拉出RAMB(或DSP48)內部,或是把設計內部信號接到I/O上作調試probe用等等。

針對不同的應用場景,Vivado中支持的ECO實現方式也略有區別。有些可以用圖形界面實現,有些則只能使用Tcl命令。但通??梢栽趫D形化界面上實現的操作,都可以改用一條或數條Tcl命令來實現。

ECO的實現流程如下圖所示:

original.png

第一步所指的Design通常是完全布局布線后的設計,如果是在工程模式下,可以直接在IDE中打開實現后的設計,若是僅有DCP文件,不論是工程模式或是非工程模式產生的DCP,都可以用open_checkpoint命令打開。

第二步就是ECO的意義所在,我們在布局布線后的設計上進行各種操作,然后僅對改動的部分進行局部布局/布線而無需整體重跑設計,節約大量時間的同時也不會破壞已經收斂的時序。

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

ECO的實現流程

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

original2.png

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

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

original3.png

移動/交換cells

移動/交換cells是對FF/LUT進行的ECO操作中最基本的一個場景,目前也只有這種情況可以通過圖形化實現。如要刪減cells等則只能通過Tcl命令來進行。  

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

original4.png

當用戶移動或改變了cells的位置后會發現與其連接的nets變成了黃色高亮顯示,表示這些nets需要重新布線。這時候需要做的就是在圖中選中這些nets然后右鍵調出菜單,選擇Route進行局部布線。

original5.png

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

original6.png

如果換個稍復雜些的Tcl命令配合圖形化顯示,更加直觀的同時,也可以方便右鍵調出命令進行針對性的局部布線。

original7.png

手動布線

手 動布線是一種非常規的布線方式,一次只能針對一根net在圖形化界面下進行。所謂手動布線,除了完全手動一個節點一個節點的選擇外,也支持工具自動選擇資 源來布線。通常我們并不建議全手動的方式,Vivado是時序驅動的工具,所以其自動選擇的布線結果已經是遵循了時序約束下的最佳選擇。

在Device View中選擇一根沒有布線或是預先Unroute過的net(顯示為紅色高亮),右鍵調出菜單并選擇Enter Assign Routing Mode… 便可進入手動布線模式。

original8.png

復雜的ECO場景

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

其實這樣類似的功能在Vivado中一直支持,唯一的問題是暫時還沒有圖形化界面可以一鍵操作(相關開發工作已經在進行中)。但受益于Tcl的靈活多變,我們可以更有針對性地實現probe功能,效率也更高。

Tcl操作命令

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

original9.png

通 常涉及到增減cells的ECO基本分為三步實現:首先用create_cell / create_net 等創建相關cell和/或net,然后用disconnect_net / connect_net 等命令修正因為cell和net的改動而影響到的連接關系,最后用route_design加選項完成局部布線。

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

具體操作上可以根據Vivado的提示或報錯信息來改動具體的Tcl命令,但操作思路和可用的命令相差無幾。

Add Probe

original10.png

這是一個在Vivaod上實現probe功能的Tcl腳本,已經寫成了proc子程序,簡單易懂??梢灾苯诱{用,也可以做成Vivado的嵌入式擴展命令。調用其生成probe只需先source這個腳本,然后按照如下所示在Tcl Console中輸入命令即可。

Vivado%   addProbe  inst_1/tmp_q[3]  D9  LVCMOS18  my_probe_1

該 腳本已經在Vivado2014.3和2014.4上測試過,一次只能完成一個probe的添加,而且必須按照上述順序輸入信號名,管腳位置,電平標準和 probe名。因為不具備預檢功能,可能會碰到一些報錯信息而導致無法繼續。例如選擇的信號是只存在于SLICE內部的INTRASITE時,則無法拉出 到管腳。再比如輸入命令時拼錯了電平標準等,也會造成Tcl已經部分修改Vivado數據庫而無法繼續的問題。此時只能關閉已經打開的DCP并選擇不保存 而重新來過。

用戶可以根據自己的需要擴展這個Tcl腳本,也可以仿照這個Tcl的寫法 來實現其它的ECO需求。例如文章開始舉例時提到過一個將RAMB輸出一級的FF拉出到Fabric上實現的場景,基本的實現方法和思路也類似:先將 RAMB的輸出口REG的屬性改為0,然后創建一個新的FF,將其輸入與RAMB的輸出連接,再將FF的輸出與原本RAMB輸出驅動的cell連接,并完 成FF的時鐘和復位端的正確連接,然后選擇合適的位置放置這個新的FF,最后針對新增加的nets局部布線。

由此可見,用Tcl來實現的ECO雖然不及圖形化界面來的簡便直觀,但是帶給用戶的卻是最大化的自由。完全由用戶來決定如何修改設計,那怕是在最后已經完成布局布線時序收斂的結果上,也能直接改變那些底層單元的連接關系,甚至是增減設計。

ECO在Vivado上的發展

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

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

original11.png

這 個add_probe是在上述addProbe例子的基礎上擴展而來,不僅可以新增probe,而且可以改變現有probe連接的信號。此外,這個腳本采 用了argument寫法,點擊程序可以看help,所以不一定要按照順序輸入信號、電平標準等選項,輸錯也沒有問題。另外增加了預檢和糾錯功能,碰到問 題會報錯退出而不會改變Vivado數據庫,效率更高。

此外,Tcl Store上還有很多其它好用的腳本,歡迎大家試用并反饋給我們寶貴意見。雖然里面關于ECO的腳本還很少,但我們一直在補充。此外Tcl Store是一個基于GitHub的完全開源的環境,當然也歡迎大家上傳自己手中有用的Tcl腳本,對其進行補充。

總 體來說,ECO是一個比較大的命題,因為牽扯到的改動需求太多,其實也很難限制在一個GUI界面中實現。這篇文章的目的就是為了讓大家對在FPGA上實現 ECO有個基本的認識,梳理看似復雜無序的流程,所謂觀一葉而知秋,窺一斑而見全豹,希望能帶給更多用戶信心,用好Vivado其實一點都不難。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品影音先锋| 极品少妇一区二区| 亚洲一区二区日本| 日韩午夜在线观看视频| 久久久久久一区| 国产欧美日韩视频一区二区| 国产欧美亚洲日本| 精久久久久久| 免费在线观看日韩欧美| 国产午夜精品视频| 亚洲欧洲在线免费| 亚洲综合日韩在线| 欧美激情免费在线| 在线观看亚洲精品| 亚洲欧美日韩第一区| 欧美韩日视频| 狠狠久久综合婷婷不卡| 久久久精品一区| 免费看黄裸体一级大秀欧美| 亚洲精品美女久久久久| 国产精品久久久久秋霞鲁丝| 欧美日韩免费一区| 尤物视频一区二区| 一区二区三区黄色| 亚洲欧美一区二区在线观看| 久久久久久成人| 免费人成网站在线观看欧美高清| 国产三级欧美三级日产三级99| 久久亚洲春色中文字幕久久久| 中国亚洲黄色| 久久人91精品久久久久久不卡| 国产精品一区二区女厕厕| 亚洲激情在线观看视频免费| 欧美亚洲系列| 国产欧美日韩视频在线观看| 欧美一区日韩一区| 99re6这里只有精品| 亚洲日韩第九十九页| 午夜精品福利一区二区三区av| 宅男精品导航| 欧美日本免费| 国内精品视频在线观看| 久久精品日产第一区二区三区| 欧美日韩免费网站| 国产精品久久久久秋霞鲁丝| 久久gogo国模裸体人体| 久久狠狠一本精品综合网| 国产一区二区中文字幕免费看| 国产精品网站在线观看| 国产精品一卡二卡| 亚洲摸下面视频| 欧美成人日韩| 怡红院av一区二区三区| 亚洲欧美日韩国产一区二区| 亚洲欧洲综合另类在线| 亚洲欧美成人综合| 亚洲国产一区视频| 久久精品国产96久久久香蕉| 快she精品国产999| 一区二区欧美国产| 亚洲区在线播放| 欧美日韩美女在线| 一区二区久久久久| 亚洲日本欧美在线| 亚洲香蕉网站| 欧美xxx成人| 日韩亚洲欧美成人| 中文网丁香综合网| 香蕉久久夜色精品国产| 欧美日韩亚洲一区二区三区在线| 亚洲精品日韩欧美| 久久午夜影视| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美激情欧美狂野欧美精品| 亚洲丰满少妇videoshd| 亚洲视频综合在线| 久久精品综合| 亚洲午夜精品网| 亚洲人成网站精品片在线观看| 一区二区三区免费看| 欧美日韩在线播放三区四区| 久久成人亚洲| 国产精品video| 亚洲深夜福利视频| 国产欧美亚洲一区| 日韩视频一区二区三区在线播放| 欧美亚洲成人网| 欧美午夜在线视频| 国产精品日韩高清| 欧美精品一区二区三区四区| 欧美久久久久中文字幕| 亚洲伊人第一页| 国产情侣久久| 欲色影视综合吧| 在线播放豆国产99亚洲| 欧美啪啪成人vr| 欧美日韩在线第一页| 六月丁香综合| 亚洲性线免费观看视频成熟| 久久久久久久97| 国产精品久久久久aaaa樱花| 国产喷白浆一区二区三区| 国产午夜精品久久久久久久| 国产精品hd| 欧美在线视频一区二区三区| 91久久精品日日躁夜夜躁欧美| 国产精品v日韩精品v欧美精品网站| 亚洲欧美中文日韩在线| 亚洲第一中文字幕在线观看| 免费成人美女女| 国产日韩欧美在线播放| 欧美日韩综合在线免费观看| 国产精品av一区二区| 国产一级揄自揄精品视频| 欧美精品二区| 欧美日韩午夜激情| 中文一区字幕| 久久激情五月激情| 香蕉久久国产| 亚洲人成欧美中文字幕| 免费成人你懂的| 欧美日韩第一区日日骚| 久久精品亚洲乱码伦伦中文| 香蕉成人啪国产精品视频综合网| 日韩手机在线导航| 欧美日韩亚洲一区三区| 99视频热这里只有精品免费| 国产亚洲欧美在线| 国产午夜精品在线观看| 国产偷久久久精品专区| 在线视频成人| 亚洲欧美999| 国产综合亚洲精品一区二| 亚洲高清二区| 伊人天天综合| 亚洲欧美日韩视频一区| 亚洲日本免费电影| 久久精品免费看| 国产精品99久久久久久久久久久久| 欧美成人69| 欧美有码视频| 一区二区三区国产在线观看| 狂野欧美激情性xxxx| 亚洲天堂av电影| 亚洲精品之草原avav久久| 麻豆精品视频在线观看视频| 在线电影一区| 一区二区三区无毛| 亚洲免费高清视频| 欧美二区在线观看| 国产精品夜夜夜一区二区三区尤| 欧美日韩亚洲91| 国产综合精品一区| 日韩网站在线看片你懂的| 在线不卡免费欧美| 久久激情一区| 亚洲人成在线观看| 篠田优中文在线播放第一区| 欧美刺激午夜性久久久久久久| 国产亚洲欧洲997久久综合| 国产主播精品在线| 亚洲精品一区二区三区蜜桃久| 黄色精品免费| 欧美三级在线播放| 欧美大片免费观看在线观看网站推荐| 亚洲免费观看高清在线观看| 在线观看精品视频| 亚洲主播在线播放| 国产亚洲福利一区| 欧美精品一区视频| 欧美中文字幕| 久久精品国产91精品亚洲| 亚洲国产精品999| 久久爱另类一区二区小说| 免费日韩av片| 欧美一级欧美一级在线播放| 亚洲第一页在线| 亚洲精品一区二区三| 国产精品久久久久免费a∨大胸| 久久久九九九九| 国语自产精品视频在线看8查询8| 久久夜精品va视频免费观看| 免费日韩精品中文字幕视频在线| 欧美亚洲一区二区三区| 亚洲国产va精品久久久不卡综合| 国产欧美日韩亚洲一区二区三区| 一本色道久久综合狠狠躁的推荐| 99ri日韩精品视频| 久久亚洲私人国产精品va媚药| 午夜精品久久久久久久男人的天堂| 在线不卡视频| 日韩一级在线| 亚洲视频免费在线| 国模私拍视频一区| 欧美www视频在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 午夜精品一区二区在线观看| 久久米奇亚洲| 久久一区二区三区超碰国产精品| 中文日韩电影网站| 一色屋精品视频在线观看网站| 亚洲女同在线| 亚洲欧美综合v| 国产精品卡一卡二卡三| 99热在线精品观看| 中国日韩欧美久久久久久久久| 亚洲欧美日韩国产| 欧美午夜在线一二页| 亚洲国产日韩欧美在线99| 欧美日韩亚洲国产一区| 国产精品久久国产精麻豆99网站| 一区二区视频欧美| 亚洲视频播放| 欧美成人在线影院| 久久综合免费视频影院| 韩日午夜在线资源一区二区| 欧美日韩午夜精品| 欧美成人乱码一区二区三区| 亚洲永久免费av| 欧美日韩午夜剧场| 国产日韩欧美日韩大片| 久久在线视频在线| 国产欧美婷婷中文| 亚洲一区国产视频| 欧美激情精品久久久六区热门| 一区二区欧美日韩| 韩国精品主播一区二区在线观看| 久久午夜av| 亚洲看片网站| 欧美大片免费观看| 欧美aⅴ一区二区三区视频| 久久成人国产精品| 亚洲综合色在线| 欧美性事免费在线观看| 亚洲欧洲另类国产综合| 国产一区二区三区免费在线观看| 亚洲人成人99网站| 亚洲精品中文字| 久久午夜精品一区二区| 夜夜嗨网站十八久久| 在线观看三级视频欧美| 国产精品欧美精品| 国产精品人人做人人爽| 国产综合欧美在线看| 精品999在线观看| 亚洲天堂成人| 欧美高清视频在线观看| 国产精品一区二区在线| 欧美午夜视频| 亚洲精品女人| 亚洲综合清纯丝袜自拍| 亚洲精品美女在线观看播放| 国产精品久久久久久久浪潮网站| 一本久道久久综合狠狠爱| 欧美日本国产在线| 另类人畜视频在线| 在线日本高清免费不卡| 欧美人在线视频| 欧美日韩一二三区| 国产精品久久999| 欧美午夜精品久久久| 久久精品国产69国产精品亚洲| 可以免费看不卡的av网站| 久久精品一级爱片| 亚洲综合日本| 国产精品r级在线| 国产亚洲激情| 久久亚洲色图| 亚洲欧洲日本一区二区三区| 亚洲香蕉网站| aa国产精品| 亚洲制服欧美中文字幕中文字幕| 亚洲精品欧美激情| 亚洲国产欧美另类丝袜| 一本大道久久a久久精二百| 国产偷国产偷亚洲高清97cao| 亚洲女女做受ⅹxx高潮| 久久亚裔精品欧美| 欧美丝袜一区二区| 麻豆freexxxx性91精品| 国产精品99久久久久久久女警| 国产精品色婷婷久久58| 免费日韩av片| 国产主播一区| 久久精品91久久久久久再现| 亚洲视频网在线直播| 国产精品一二一区| 国产一区二区三区精品欧美日韩一区二区三区| 欧美成年人网| 亚洲精品乱码久久久久久蜜桃麻豆| 国产亚洲精品资源在线26u| 在线观看视频亚洲| 欧美午夜三级| 欧美日韩精品一本二本三本| 欧美三级网址| 亚洲电影下载| 国产精品久久久久久久久果冻传媒| 嫩草成人www欧美| 欧美黄色一区| 欧美成人国产va精品日本一级| 欧美在线免费一级片| 久久成人免费日本黄色| 亚洲在线免费观看| 欧美一区二区日韩一区二区| 国产精品一区二区久久国产| 欧美亚洲日本一区| 国产区在线观看成人精品| 久久久一区二区| 国产午夜精品久久久| 亚洲欧美在线一区| 亚洲在线观看视频网站| 国产女精品视频网站免费| 一区二区三区在线免费播放| 欧美日韩一区三区| 欧美一区二区三区日韩视频| 久久久久国产免费免费| 激情视频一区二区| 欧美日韩免费在线观看| 在线播放日韩专区| 亚洲大片一区二区三区| 欧美日韩国产综合久久| 激情成人亚洲| 国产区精品在线观看| 黄色亚洲精品| 狠狠爱成人网| 欧美日一区二区在线观看| 欧美精选在线| 欧美国产综合一区二区|