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

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

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

Vivado工程升級(jí)及板級(jí)信號(hào)調(diào)試方案

FPGA技術(shù)江湖 ? 來源:網(wǎng)絡(luò)交換FPGA ? 2023-02-09 09:36 ? 次閱讀

本次操作包括:工程的版本遷移,板級(jí)測(cè)試時(shí)信號(hào)的抓取。

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

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

對(duì)于舊版本的vivado工程或者是ise工程,更新到新版本的vivado環(huán)境下有兩種方法:

1、直接用新版本vivado打開原有工程文件,進(jìn)行IP核更新; 2、拷貝原有工程設(shè)計(jì)文件、約束文件、IP核文件夾至新建新版本vivado空白工程文件下,進(jìn)行更新。

1、在舊版本vivado基礎(chǔ)上直接升級(jí)

我們先來介紹一下如何直接使用新版本打開舊版本工程并且進(jìn)行升級(jí)。

814029b2-a7d5-11ed-bfe3-dac502259ad0.png

直接使用新版本vivado打開vivado的工程文件。

81699f5e-a7d5-11ed-bfe3-dac502259ad0.png

對(duì)于新版本vivado一般在打開舊版本工程時(shí)都會(huì)自動(dòng)進(jìn)行更新默認(rèn)自動(dòng)更新就好。 打開工程之后,需要對(duì)舊版本工程的IP核進(jìn)行升級(jí)操作。點(diǎn)擊Reports->Report IP Status查看IP核被鎖狀態(tài)進(jìn)行升級(jí)。 818bbde6-a7d5-11ed-bfe3-dac502259ad0.png

81a07fd8-a7d5-11ed-bfe3-dac502259ad0.png

選中所有IP核進(jìn)行升級(jí)。

81cd416c-a7d5-11ed-bfe3-dac502259ad0.png

點(diǎn)擊確定。

81e7726c-a7d5-11ed-bfe3-dac502259ad0.jpg

保持默認(rèn)不使用核容器,(Core Container沒有用過,我都是默認(rèn)不使用)。

8207998e-a7d5-11ed-bfe3-dac502259ad0.png

升級(jí)完成之后的界面如圖所示。

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

debug步驟:

在需要debug的輸入輸出端口列表前加 (* mark_debug = “true” *)。

在編譯通過后,進(jìn)行綜合生成網(wǎng)表等文件,點(diǎn)setup debug進(jìn)行添加。

保存,xdc中應(yīng)該有約束了,原理圖里也有ila_core 模塊,直接進(jìn)行實(shí)現(xiàn)即布局布線。

在線調(diào)試:生成比特后下載,run trigger。

注意:在有多個(gè)debug端口時(shí),會(huì)引入1個(gè)以上ila_core,每一個(gè)ila_core 的時(shí)鐘域都是獨(dú)立的,且在每一個(gè)ila_core中各個(gè)端口的時(shí)鐘域是一樣的。

1、設(shè)置信號(hào)抓取標(biāo)記

將需要測(cè)試的端口前標(biāo)記上(*mark_debug = “1”*)或者(*mark_debug = “true”*)

注意:這里最好將需要測(cè)試的端口信號(hào)打一拍再進(jìn)行測(cè)試,因?yàn)檩斎胼敵龆丝诘尿?qū)動(dòng)單元類型往往是不一樣的,比如兩個(gè)紅框之間的rgmii_txd信號(hào)它的驅(qū)動(dòng)單元類型就是ODDR,這將影響布線到此處的邏輯分析儀ila的探針的連接,具體的我也不清楚應(yīng)該是驅(qū)動(dòng)能力不匹配之類的,反正最好實(shí)現(xiàn)的時(shí)候會(huì)報(bào)錯(cuò)。如果不打拍則在后續(xù)設(shè)置setup debug的時(shí)候就要注意去除不符合驅(qū)動(dòng)類型的信號(hào)。

822af32a-a7d5-11ed-bfe3-dac502259ad0.jpg

2、建立debug文件

824b9512-a7d5-11ed-bfe3-dac502259ad0.png

添加完debug標(biāo)記后,進(jìn)行編譯、綜合,沒有問題則可以查看當(dāng)前原理圖(其實(shí)也可以不用看,這里只是為了對(duì)比ila模塊)然后點(diǎn)擊Set Up Debug對(duì)剛剛添加的信號(hào)進(jìn)行設(shè)置。

8274be56-a7d5-11ed-bfe3-dac502259ad0.jpg

設(shè)置的信號(hào)有幾個(gè)需要注意的地方:

1、關(guān)于時(shí)鐘域的選擇,如圖紅框部分,這些時(shí)鐘需要選擇free clock,所謂free clock(按照我自己的理解,也可能不準(zhǔn)確)就是系統(tǒng)一上電就能運(yùn)行的時(shí)鐘,并且不會(huì)因?yàn)閺?fù)位以外的條件停振,比如有些時(shí)鐘為了節(jié)省功耗,僅在需要進(jìn)行數(shù)據(jù)交換時(shí)振動(dòng),在其他時(shí)刻保持低電平,但是這種時(shí)鐘就不是free clock。

8297fd3a-a7d5-11ed-bfe3-dac502259ad0.jpg

2、注意選擇具有符合標(biāo)準(zhǔn)驅(qū)動(dòng)單元的信號(hào),這里右側(cè)紅框中都是可以的,但是對(duì)于DDR型的驅(qū)動(dòng)信號(hào)就會(huì)出錯(cuò)。

3、同一個(gè)時(shí)鐘域的信號(hào)都在同一個(gè)ila模塊下,即有幾個(gè)時(shí)鐘域就會(huì)有幾個(gè)ila模塊。

82cb2e6c-a7d5-11ed-bfe3-dac502259ad0.png

這里需要注意:

1、是選擇采樣深度,會(huì)占用一定的FPGA資源,所以如果設(shè)計(jì)系統(tǒng)簡(jiǎn)單就可以選擇多一點(diǎn),可以看到較長(zhǎng)時(shí)鐘周期內(nèi)存儲(chǔ)的信號(hào)變化。

2、選擇上后,可以進(jìn)行高級(jí)設(shè)置操作(選了也沒用上==)。

82e8dfd4-a7d5-11ed-bfe3-dac502259ad0.png

可以看到這里的summary是4個(gè)時(shí)鐘域和之前選擇一致。

83150636-a7d5-11ed-bfe3-dac502259ad0.png

83413e04-a7d5-11ed-bfe3-dac502259ad0.png

這是兩張?jiān)韴D,后者的紅框框部分是添加的4個(gè)ila模塊,中間藍(lán)色圓框部分是debug hub,即連接FPGA和jtag的部分。

835d60de-a7d5-11ed-bfe3-dac502259ad0.png

83767af6-a7d5-11ed-bfe3-dac502259ad0.png

在底部Debug窗口可以看到各個(gè)ila模塊的時(shí)鐘選擇。

83b03188-a7d5-11ed-bfe3-dac502259ad0.png

對(duì)于debug hub時(shí)鐘域的選擇查看可以通過tcl命令也可以點(diǎn)擊原理圖連線的方式,在左側(cè)會(huì)有連接顯示,這里看到是連接到了ila3模塊上,這樣不太好,因?yàn)槿绻鹖la3的時(shí)鐘沒選擇對(duì)就會(huì)導(dǎo)致整個(gè)debug hub在后面下載比特時(shí)無法被檢測(cè)到,就算其他ila的時(shí)鐘對(duì)了也白瞎。因?yàn)橛?jì)算機(jī)是通過jtag返回?cái)?shù)據(jù)的,而jtag又靠著debug hub 連接fpga的ila。

3、完善XDC文件,實(shí)現(xiàn)電路

83e7ceb8-a7d5-11ed-bfe3-dac502259ad0.jpg

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

8404a66e-a7d5-11ed-bfe3-dac502259ad0.jpg

保存之后xdc增加了ila模塊的對(duì)應(yīng)約束。

843f01ec-a7d5-11ed-bfe3-dac502259ad0.jpg

這里對(duì)應(yīng)debug hub 的連接時(shí)鐘。

845ae68c-a7d5-11ed-bfe3-dac502259ad0.png

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

847cb37a-a7d5-11ed-bfe3-dac502259ad0.jpg

修改完成后,查看xdc確認(rèn)已經(jīng)修改了(其實(shí)也可以直接通過xdc

修改,但是直接修改xdc軟件可能會(huì)提示綜合過期,讓重新綜合,而通過tcl則可以直接進(jìn)行后面的步驟)。

8499de32-a7d5-11ed-bfe3-dac502259ad0.png

我們?cè)俅尾榭丛韴D,可以看到debug hub的時(shí)鐘域已經(jīng)修改。

4、生成比特流文件,進(jìn)行板級(jí)調(diào)試并抓取信號(hào)

84ce7e12-a7d5-11ed-bfe3-dac502259ad0.png

直接生成比特文件。

84ee80a4-a7d5-11ed-bfe3-dac502259ad0.png

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

850e140a-a7d5-11ed-bfe3-dac502259ad0.png

下載完成后會(huì)彈出4個(gè)dashboard對(duì)應(yīng)著4個(gè)不同時(shí)鐘域的ila模塊,可是沒有信號(hào),這時(shí)可以點(diǎn)擊+號(hào)進(jìn)行添加。

85325310-a7d5-11ed-bfe3-dac502259ad0.png

ctrl+a選中所有進(jìn)行添加。

8551905e-a7d5-11ed-bfe3-dac502259ad0.png

添加完信號(hào)后注意右下角的觸發(fā)條件設(shè)置,同樣點(diǎn)擊+號(hào)設(shè)置需要添加的信號(hào),這里選則的是幀起始標(biāo)志sop,并且選擇觸發(fā)條件的關(guān)系為或,同時(shí)觸發(fā)值設(shè)置為1’b1,之后再點(diǎn)擊三角型的 run trigger符號(hào)即可。

85804f7a-a7d5-11ed-bfe3-dac502259ad0.png

這里lower部分已經(jīng)有波形了。

85aadb6e-a7d5-11ed-bfe3-dac502259ad0.png

放大看所有的信號(hào)。

85d8ada0-a7d5-11ed-bfe3-dac502259ad0.png

這里發(fā)現(xiàn)沒有前導(dǎo)碼是因?yàn)檫@里的4字節(jié)數(shù)據(jù)已經(jīng)是進(jìn)了mac之后經(jīng)過了8轉(zhuǎn)32的數(shù)據(jù)了已經(jīng)去掉了前導(dǎo)碼和CRC。但是upper client沒有數(shù)據(jù),原來是沒有ping都沒有發(fā)怎么有?

8600540e-a7d5-11ed-bfe3-dac502259ad0.png

86223ccc-a7d5-11ed-bfe3-dac502259ad0.png

結(jié)果發(fā)現(xiàn)ping了也沒有,好氣。

86488daa-a7d5-11ed-bfe3-dac502259ad0.png

注意之前設(shè)置的觸發(fā)條件,是或關(guān)系,于是lower的sop信號(hào)在當(dāng)前的1024個(gè)鐘內(nèi)比其他的sop先觸發(fā),而各個(gè)sop的間隔周期大于我們?cè)O(shè)置的采樣深度1024,所以無法同時(shí)顯示,刪除lower觸發(fā)條件后就有了,當(dāng)然lower又沒有了。

867534cc-a7d5-11ed-bfe3-dac502259ad0.png

869c8144-a7d5-11ed-bfe3-dac502259ad0.png

86c8080a-a7d5-11ed-bfe3-dac502259ad0.png

這邊按照同樣的步驟,添加觀察信號(hào)、添加設(shè)置觸發(fā)條件、點(diǎn)擊run trigger,就能看到波形了,注意放大后的紅框部分,有了前導(dǎo)碼,按單字節(jié)應(yīng)該是 55 55 55 d5的順序而這里由于是rgmii只是半字節(jié),所以是 5 5 5 5 5 5 5 d。

86f260c8-a7d5-11ed-bfe3-dac502259ad0.png

871a7860-a7d5-11ed-bfe3-dac502259ad0.png

對(duì)ila3按同樣的步驟操作當(dāng)我們點(diǎn)擊run trigger的時(shí)候會(huì)發(fā)現(xiàn)出現(xiàn)unable to arm ila core的錯(cuò)誤,這就是時(shí)鐘域的問題,由于我們選擇的是rgmii_rx_clk這是由phy提供的,但是ila3即例化時(shí)的client對(duì)應(yīng)的phy沒有插網(wǎng)線,所以也沒有時(shí)鐘,自然無法arm ila core。

這里特意為了對(duì)比不同時(shí)鐘域的選擇對(duì)于ila的影響,其實(shí)也可以將lower upper client的ila時(shí)鐘域都設(shè)置成用戶側(cè)即CLK_OUT2因?yàn)檫@個(gè)時(shí)鐘一直存在,這樣即使ila3對(duì)應(yīng)的模塊的網(wǎng)口沒有插網(wǎng)線,在dashboard上顯示也會(huì)有全0 的數(shù)據(jù),就和ila0 一樣,可以翻到前面去看看,這里的lower upper client的ff_rx_data[31: 0]來自三個(gè)獨(dú)立的例化模塊,但是也可以放到同一個(gè)時(shí)鐘域。表達(dá)的不太好實(shí)踐一下就能知道了。

審核編輯:湯梓紅

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

    關(guān)注

    11

    文章

    2773

    瀏覽量

    76539
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    571

    瀏覽量

    33872
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    561

    瀏覽量

    24671
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    948

    瀏覽量

    31985
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    804

    瀏覽量

    66224

原文標(biāo)題:Vivado工程升級(jí)及板級(jí)信號(hào)調(diào)試

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    vivado ILA在線調(diào)試求助

    在用Vivado實(shí)現(xiàn)某個(gè)工程時(shí),功能仿真正確,時(shí)序滿足要求,比特流也能生成,但是在ILA調(diào)試和下板子時(shí),無法得到正確的結(jié)果信號(hào),請(qǐng)問各位大神可能是什么問題?
    發(fā)表于 12-11 11:10

    vivado在線調(diào)試

    DSP的CCS軟件在線調(diào)試,不僅能觀察數(shù)據(jù),還能在線修改參數(shù)值,我想問一下vivado在線調(diào)試有這個(gè)功能嗎,我看見debug好像只能在線觀察,我想把bit文件下載到上,我不僅要觀察,
    發(fā)表于 12-20 14:03

    玩轉(zhuǎn)Zynq連載5——基于Vivado的在線板級(jí)調(diào)試概述

    `玩轉(zhuǎn)Zynq連載5——基于Vivado的在線板級(jí)調(diào)試概述 更多資料共享 鏈接:https://share.weiyun.com/5s6bA0s Vivado在線
    發(fā)表于 05-24 15:16

    玩轉(zhuǎn)Zynq連載33——基于Vivado的在線邏輯分析儀級(jí)調(diào)試

    /1XTQtP5LZAedkCwQtllAEyw提取碼:ld9c 1概述基于Vivado級(jí)調(diào)試介紹,可以參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:基于Vi
    發(fā)表于 10-28 11:14

    玩轉(zhuǎn)Zynq連載36——[ex55] 基于VIO在線板級(jí)調(diào)試的AXI GP總線讀寫實(shí)例

    PL代碼中VIO的配置和例化PL工程中,需要將作為開關(guān)量控制或狀態(tài)顯示的信號(hào)連接到VIO IP核的接口中。具體可以參考文檔《玩轉(zhuǎn)Zynq-工具篇:基于Vivado的Virtual IO在線板
    發(fā)表于 11-21 10:04

    Vivado中綜合,實(shí)現(xiàn),編程和調(diào)試工程可能會(huì)出現(xiàn)的問題及解決方案

    調(diào)試PRX100-D開發(fā)注意事項(xiàng)1.與Vivado軟件本身相關(guān)的問題Vivado在添加新的工程/HDL文件后會(huì)自動(dòng)崩潰退出這一問題出現(xiàn)在
    發(fā)表于 07-31 09:09

    Vivado中使用debug工具步驟與調(diào)試技巧

    在ISE中稱為ChipScope而Vivado中就稱為in system debug。下面就介紹Vivado中如何使用debug工具。 Debug分為3個(gè)階段: 1. 探測(cè)信號(hào):在設(shè)計(jì)中標(biāo)志想要查看的
    發(fā)表于 11-17 14:05 ?6w次閱讀
    <b class='flag-5'>Vivado</b>中使用debug工具步驟與<b class='flag-5'>調(diào)試</b>技巧

    使用Vivado 2016.3中IBERT調(diào)試的好處及步驟

    了解使用Vivado 2016.3中引入的系統(tǒng)內(nèi)IBERT進(jìn)行調(diào)試的好處,以及將其添加到設(shè)計(jì)中所需的步驟。
    的頭像 發(fā)表于 11-20 06:43 ?5720次閱讀

    如何使用Vivado Logic Analyzer與邏輯調(diào)試IP進(jìn)行交互

    了解Vivado中的Logic Debug功能,如何將邏輯調(diào)試IP添加到設(shè)計(jì)中,以及如何使用Vivado Logic Analyzer與邏輯調(diào)試IP進(jìn)行交互。
    的頭像 發(fā)表于 11-30 06:22 ?3335次閱讀

    如何使用Vivado在設(shè)備啟動(dòng)時(shí)進(jìn)行調(diào)試

    了解如何使用Vivado在設(shè)備啟動(dòng)時(shí)及其周??圍進(jìn)行調(diào)試。 你也會(huì)學(xué)習(xí) 使用Vivado 2014.1中引入的Trigger at Startup功能來配置和預(yù)先安裝a 調(diào)試核心
    的頭像 發(fā)表于 11-22 07:05 ?4385次閱讀

    如何升級(jí)Vivado工程腳本

    Vivado可以導(dǎo)出腳本,保存創(chuàng)建工程的相關(guān)命令和配置,并可以在需要的時(shí)候使用腳本重建Vivado工程。腳本通常只有KB級(jí)別大小,遠(yuǎn)遠(yuǎn)小于工程
    發(fā)表于 08-02 10:10 ?1775次閱讀

    ISE工程升級(jí)Vivado級(jí)信號(hào)調(diào)試

    版本遷移的操作想必大家已經(jīng)做過不少了,其中包括從ISE轉(zhuǎn)換到vivadovivado老版本遷移到新版本。鄭智海同學(xué)給大家介紹了一下如何把工程從ISE遷移到vivado中。
    的頭像 發(fā)表于 01-30 09:11 ?4144次閱讀

    Vivado Design Suite用戶指南:編程和調(diào)試

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:編程和調(diào)試.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 14:47 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南:編程和<b class='flag-5'>調(diào)試</b>

    Vivado設(shè)計(jì)套件用戶指南:編程和調(diào)試

    電子發(fā)燒友網(wǎng)站提供《Vivado設(shè)計(jì)套件用戶指南:編程和調(diào)試.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 11:37 ?0次下載
    <b class='flag-5'>Vivado</b>設(shè)計(jì)套件用戶指南:編程和<b class='flag-5'>調(diào)試</b>

    Vivado Design Suite 用戶指南:編程和調(diào)試

    Vivado Design Suite 用戶指南:編程和調(diào)試》 文檔涵蓋了以下設(shè)計(jì)進(jìn)程: 硬件、IP 和平臺(tái)開發(fā) : 為硬件平臺(tái)創(chuàng)建 PL IP 塊、創(chuàng)建 PL 內(nèi)核、功能仿真以及評(píng)估 AMD
    的頭像 發(fā)表于 10-25 16:15 ?835次閱讀
    <b class='flag-5'>Vivado</b> Design Suite 用戶指南:編程和<b class='flag-5'>調(diào)試</b>