【新手入門】Vivado工程升級及板級信號調試

2021-02-23 網絡交換FPGA

由於疫情,大家最近都只能在家中進行學習。同時實驗室的研一同學也在通過Teamviewer進行培訓項目的實際操作。這次把兩位同學的研究成果給大家分享一下,老司機們可以重溫一下當年自己新手時的情景,新司機們可以借鑑一下他人的經驗。本次實驗操作包括:工程的版本遷移,板級測試時信號的抓取。

如何使用新版本的vivado去打開舊版本的vivado工程

李家俊同學給大家介紹了一下如何使用新版本的vivado去打開舊版本的vivado工程。

對於舊版本的vivado工程或者是ise工程,更新到新版本的vivado環境下有兩種方法:

1、直接用新版本vivado打開原有工程文件,進行IP核更新;2、拷貝原有工程設計文件、約束文件、IP核文件夾至新建新版本vivado空白工程文件下,進行更新。我們先來介紹一下如何直接使用新版本打開舊版本工程並且進行升級。直接使用新版本vivado打開vivado的工程文件。對於新版本vivado一般在打開舊版本工程時都會自動進行更新默認自動更新就好。打開工程之後,需要對舊版本工程的IP核進行升級操作。點擊Reports->Report IP Status查看IP核被鎖狀態進行升級。保持默認不使用核容器,(Core Container沒有用過,我都是默認不使用)。如何使用新版本的vivado去打開舊版本的vivado工程

debug步驟:

在需要debug的輸入輸出埠列表前加 (* mark_debug = 「true」 *)。

在編譯通過後,進行綜合生成網表等文件,點setup debug進行添加。

保存,xdc中應該有約束了,原理圖裡也有ila_core 模塊,直接進行實現即布局布線。

在線調試:生成比特後下載,run trigger。

注意:在有多個debug埠時,會引入1個以上ila_core,每一個ila_core 的時鐘域都是獨立的,且在每一個ila_core中各個埠的時鐘域是一樣的。

1、設置信號抓取標記

將需要測試的埠前標記上(*mark_debug = 「1」*)或者(*mark_debug = 「true」*)

注意:這裡最好將需要測試的埠信號打一拍再進行測試,因為輸入輸出埠的驅動單元類型往往是不一樣的,比如兩個紅框之間的rgmii_txd信號它的驅動單元類型就是ODDR,這將影響布線到此處的邏輯分析儀ila的探針的連接,具體的我也不清楚應該是驅動能力不匹配之類的,反正最好實現的時候會報錯。如果不打拍則在後續設置setup debug的時候就要注意去除不符合驅動類型的信號。

2、建立debug文件

添加完debug標記後,進行編譯、綜合,沒有問題則可以查看當前原理圖(其實也可以不用看,這裡只是為了對比ila模塊)然後點擊Set Up Debug對剛剛添加的信號進行設置。

設置的信號有幾個需要注意的地方:

1、關於時鐘域的選擇,如圖紅框部分,這些時鐘需要選擇free clock,所謂free clock(按照我自己的理解,也可能不準確)就是系統一上電就能運行的時鐘,並且不會因為復位以外的條件停振,比如有些時鐘為了節省功耗,僅在需要進行數據交換時振動,在其他時刻保持低電平,但是這種時鐘就不是free clock。

2、注意選擇具有符合標準驅動單元的信號,這裡右側紅框中都是可以的,但是對於DDR型的驅動信號就會出錯。

3、同一個時鐘域的信號都在同一個ila模塊下,即有幾個時鐘域就會有幾個ila模塊。

這裡需要注意:

1、是選擇採樣深度,會佔用一定的FPGA資源,所以如果設計系統簡單就可以選擇多一點,可以看到較長時鐘周期內存儲的信號變化。

2、選擇上後,可以進行高級設置操作(選了也沒用上==)。

可以看到這裡的summary是4個時鐘域和之前選擇一致。

這是兩張原理圖,後者的紅框框部分是添加的4個ila模塊,中間藍色圓框部分是debug hub,即連接FPGA和jtag的部分。

在底部Debug窗口可以看到各個ila模塊的時鐘選擇。

對於debug hub時鐘域的選擇查看可以通過tcl命令也可以點擊原理圖連線的方式,在左側會有連接顯示,這裡看到是連接到了ila3模塊上,這樣不太好,因為如果ila3的時鐘沒選擇對就會導致整個debug hub在後面下載比特時無法被檢測到,就算其他ila的時鐘對了也白瞎。因為計算機是通過jtag返回數據的,而jtag又靠著debug hub 連接fpga的ila。

3、完善XDC文件,實現電路

修改完成之後,依然需要保存修改,看到這裡沒有保存約束文件在214行。

保存之後xdc增加了ila模塊的對應約束。

這裡對應debug hub 的連接時鐘。

之前說了debug hub時鐘保持默認的缺點,這裡通過tcl命令進行修改,通過查看ug908文檔可以知道推薦的debug hub時鐘在100Mhz左右,且至少在JTAG下載速率的2.5倍以上,採樣定理嘛,一般jtag速率默認15Mhz,查看代碼中時鐘生成部分,發現CLK_OUT2也就是mac的用戶側時鐘就是100Mhz,所以我們選擇debug hub時鐘為100Mhz。

修改完成後,查看xdc確認已經修改了(其實也可以直接通過xdc

修改,但是直接修改xdc軟體可能會提示綜合過期,讓重新綜合,而通過tcl則可以直接進行後面的步驟)。

我們再次查看原理圖,可以看到debug hub的時鐘域已經修改。

4、生成比特流文件,進行板級調試並抓取信號

直接生成比特文件。

相比較之前的工程版本遷移時的下載界面,紅框部分多出了後綴為ltx的文件,即邏輯分析儀的探針文件。

下載完成後會彈出4個dashboard對應著4個不同時鐘域的ila模塊,可是沒有信號,這時可以點擊+號進行添加。

ctrl+a選中所有進行添加。

添加完信號後注意右下角的觸發條件設置,同樣點擊+號設置需要添加的信號,這裡選則的是幀起始標誌sop,並且選擇觸發條件的關係為或,同時觸發值設置為1』b1,之後再點擊三角型的 run trigger符號即可。

這裡lower部分已經有波形了。

放大看所有的信號。

這裡發現沒有前導碼是因為這裡的4位元組數據已經是進了mac之後經過了8轉32的數據了已經去掉了前導碼和CRC。但是upper client沒有數據,原來是沒有ping都沒有發怎麼有?

結果發現ping了也沒有,好氣。

注意之前設置的觸發條件,是或關係,於是lower的sop信號在當前的1024個鐘內比其他的sop先觸發,而各個sop的間隔周期大於我們設置的採樣深度1024,所以無法同時顯示,刪除lower觸發條件後就有了,當然lower又沒有了。

這邊按照同樣的步驟,添加觀察信號、添加設置觸發條件、點擊run trigger,就能看到波形了,注意放大後的紅框部分,有了前導碼,按單字節應該是 55 55 55 d5的順序而這裡由於是rgmii只是半字節,所以是 5 5 5 5 5 5 5 d。

對ila3按同樣的步驟操作當我們點擊run trigger的時候會發現出現unable to arm ila core的錯誤,這就是時鐘域的問題,由於我們選擇的是rgmii_rx_clk這是由phy提供的,但是ila3即例化時的client對應的phy沒有插網線,所以也沒有時鐘,自然無法arm ila core。

這裡特意為了對比不同時鐘域的選擇對於ila的影響,其實也可以將lower upper client的ila時鐘域都設置成用戶側即CLK_OUT2因為這個時鐘一直存在,這樣即使ila3對應的模塊的網口沒有插網線,在dashboard上顯示也會有全0 的數據,就和ila0 一樣,可以翻到前面去看看,這裡的lower upper client的ff_rx_data[31:  0]來自三個獨立的例化模塊,但是也可以放到同一個時鐘域。表達的不太好實踐一下就能知道了。

掃描下方二維碼,感謝您的關注!

相關焦點

  • 用ModelSim仿真Vivado建立的工程
    安富利的人說使用Vivado自己的仿真器進行仿真,可是對於新手來說在Vivado的工程設置裡可以修改目標仿真器,我們可以選擇使用ModelSim來仿真。 指定仿真工具可以直接在vivado
  • 新手入門買單反,選它準沒錯,佳能入門級單反之王800D
    佳能800D是2017年3月上市的一款的入門級半畫幅相機,從發布之初就預示著它將是佳能入門單反裡的最強機型,那麼,相對於 750D,它有了哪些改進呢?下面跟著小編一起去看看吧!佳能800D依舊採用了現在最主流的2420萬像素,但是晶片方面換上了新一代DIGIC 7數字影像處理器,能夠高效處理CMOS圖像感應器高速輸出的圖像信號。同時兼顧高速連拍與高畫質以及不錯的低感降噪性能,這也是新一代的影像傳感器帶來的好處。
  • 板繪新手入門必看
    板繪新手入門必看!可以能是由於傳統紙繪太耗費紙張和顏料,現在也越來越多的人開始學習板繪,但是一些手繪不錯的朋友一在板子上畫就不行,因此,就會遇到連條流暢圓滑的線都畫不出來的尷尬場面。這是板繪新手的通病,因為不夠熟悉手繪板,那麼怎麼學板繪?板繪入門學習!
  • 板繪零基礎該怎麼自學?板繪新手入門教學
    板繪零基礎該怎麼自學?板繪新手入門教學!相信有很多朋友想學習漫畫卻又不知從何下手,今天微課菌給大家分享的內容就是幫助初學者解決這個問題。如何學?從哪裡開始學?這些問題都會在今天的分享中找到答案。「輕微課」的網站上非常多的繪畫教程、繪畫素材,也有專業的繪畫課程,學繪畫的小夥伴可以去上面找到很多有用的繪畫學習資源哦1、如果以後主要想板繪,完全可以零基礎學習板繪,但是在學習的過程中需要根據自己需要,補充繪畫的知識。
  • 使用vivado的過程如何清理/壓縮不必要的文件
    關於vivado的基本使用這裡不多說,主要把一些問題點整理成「錯題集」,把一些小技巧進行歸納。 清理/壓縮工程 實際使用vivado的過程中,由於vivado會自動產生一系列文件,有些是不必要時刻保存的中間文件,有些是加快效率的文件(比如編譯IP核後產生的文件)。但是在上傳svn或者自己做備份的時候希望備份佔用儘量少的空間。
  • 板繪新手入門該如何挑選數位板?數位板推薦!
    板繪新手入門該如何挑選數位板?
  • 板繪初學者們如何使用數位板?新手初級入門
    板繪初學者們如何使用數位板?新手初級入門!數位板是一個產品,在畫師進行板繪的時候會用到。板繪就是使用繪畫軟體,藉助數位板進行電腦繪畫,主要還是如何學習板繪,剛開始學板繪,第一步就是搞定軟體。下面小編結合自己的學習經歷。給同學們說一下板繪的學習方式。
  • 地下蟻國新手入門經驗分享 新手怎麼玩?
    導 讀 地下蟻國新手怎麼玩?新手入門地下蟻國還是有一定難度的,接下來就給大家帶來了玩家「丨�酒趁年�A丨」的地下蟻國新手入門經驗分享,小夥伴們快來看看吧。
  • 新手初學者如何選擇入門級民謠吉他?
    VEAZEN VZ200D EQ新手初學者如何選擇一把入門級民謠吉他呢? 新手買吉他究竟要注意哪些材料和配置呢?今天就拿VEAZEN這款VZ200系列的吉他來作為參考來給大家介紹一下,怎樣從一些實實在在影響吉他的質量音質以及手感的材料和配置去分析,究竟初學者應該怎樣去選擇一把好的入門級吉他。1.面板VEAZEN VZ200系列的民謠吉他使用的面板:雲杉單板。
  • 255頁建築工程施工測量新手入門教程,針對性強,測量輕鬆入門
    254頁建築工程施工測量新手入門教程,針對性強,測量輕鬆入門馬上要到工地做測量員了心裏面有點忐忑,就去做了很多年測量的表叔那兒,希望他能教點我什麼。表叔知道我的來意之後給了我這套建築工程施工測量新手入門教程。
  • 四旋翼無人機的製作與調試
    主要特點是具有一定的強度和韌性且價格便宜,禁得住磕碰摔打,很適合剛入門的玩家。如圖2-8所示就是一種尼龍塑膠機架。圖2-8 450軸距塑膠四旋翼機架(2)玻纖機架。這種機架主要是由玻璃纖維製作而成,和塑膠機架相比具有更高的強度,價格相比昂貴的碳纖維材料便宜很多,很適合對機架有更高要求的入門級玩家。
  • 適合新手騎行的入門級摩託車,這五款是許多新手喜歡的類型!
    適合新手騎行的入門級摩託車,這五款是許多新手喜歡的類型!對於許多新手來說,他們在挑選一款入門的摩託車都是比較困難的,畢竟他們只是剛剛學習摩託車,許多經驗他們還不知道,所以就比較容易吃虧,今天小編就為大家推薦五款適合新手入門的摩託車!
  • FPGA時序分析—vivado篇
    對FPGA的IO口進行輸入最大最小延時約束是為了讓FPGA設計工具能夠儘可能的優化從輸入埠到第一級寄存器之間的路徑延遲,使其能夠保證系統時鐘可靠的採到從外部晶片到FPGA的信號。其中包括時鐘源到FPGA延時和到外部器件延時之差、經過外部器件的數據發送Tco,再加上PCB板上的走線延時。如下圖所示,為外部器件和FPGA接口時序。
  • 《凹凸世界手遊》新手怎麼玩 新手入門攻略
    凹凸世界手遊新手怎麼玩?萌新剛進入遊戲不了解遊戲玩法怎麼辦?萌新有什麼需要注意的地方呢?接下來小編為大家帶來凹凸世界手遊新手入門攻略,希望對大家有所幫助。
  • 採用MATLAB的DSP調試方法
    本文引用地址:http://www.eepw.com.cn/article/151783.htmMATLAB 具有強大的分析、計算和可視化功能,利用MATLAB 提供的數十個專業工具箱,可以方便、靈活地實現對自動控制、信號處理、通信系統等的算法分析和仿真,是算法設計人員和工程技術人員必不可少的軟體工具。
  • 新手學漫畫怎麼入門?漫畫初學入門教程
    新手學漫畫怎麼入門?漫畫初學入門教程!喜歡畫畫的小白們還在入坑的邊緣來回徘徊猶豫就會敗北?微課菌經常能在私信中看到這樣的字眼:「初學者如何學畫」、「怎樣入門」「學漫畫入門怎麼學習」等相關問題。所以今天出一期漫畫新手常見問題解答特輯,給想學漫畫的萌新解除一些不必要的疑惑!
  • 摩託新手想買復古車,入門級求推薦?
    摩託新手想買復古車,入門級求推薦?這種需求下,其實完全沒必要去選擇二手車,不是說二手車不能選,而是二手車當中的好車你遇不到,並且二手車的水很深,所以一般情況下騎士分享是不建議選擇二手車的,因此跳過這個問題,直接來看入門級復古車的推薦。
  • 板繪零基礎sai教程,簡單的板繪入門
    板繪零基礎sai教程,簡單的板繪入門!對每一位板繪新手來說,一個有規劃的學習順序是非常的重要,那麼零基礎學板繪究竟要怎麼做?每一步做什麼呢?下面就針對零基礎學板繪給出大家詳細的學習步驟,逐步練習方可進步哦!
  • 長板新手怎麼起步,下面這些要點要掌握好,新手練板技能會更好
    隨著人們生活水平的提高,越來越多的人開始玩長板了,剛開始學長板都要經歷「新手期」,那麼怎樣才能愉快的度過這段時期呢, 下面這些要點很重要,新手們了解一下會有很大的幫助!第一,新手要對長板有個簡單的認識。
  • 新手入門攻略
    《皇上吉祥2》是最近騰訊微信很受歡迎的宮鬥類小遊戲,很多萌新玩家都不知道開局怎麼玩,今天小編就為玩家們詳細介紹下微信我要當女皇新手入門攻略介紹吧! 新手入門攻略  1、合成宮女  金幣製造出宮女之後,我們可以把宮女合併到一起,宮女就會像升官一樣升級了,變成更高的職務了,如果按照等級去計算的話