一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

FPGA雜記之安路TD中chipwatcher工具的使用注意事項

潤欣科技Fortune ? 來源:潤欣科技 ? 作者:潤欣科技Fortune ? 2021-05-22 17:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上海潤欣科技股份有限公司創(chuàng)研社

一、什么是chipwatcher

編程開發(fā)過程的調(diào)試階段,可以借助一些編譯環(huán)境集成的工具幫助我們更好地定位問題。當(dāng)我們完成一份工程代碼但是觀測不到我們想要的結(jié)果時,我們需要進一步確認(rèn)是哪部分的代碼出現(xiàn)了偏差導(dǎo)致得不到我們想要的結(jié)果。

對于MCU來說,我們可以借助JLINK仿真器來實現(xiàn)斷點測試,進而觀察每一步的數(shù)據(jù)變化,從而定位到問題所在;對于FPGA而言,想要觀察內(nèi)部信號的變化,也有對應(yīng)的工具可以使用。

這些工具,不同的芯片廠商根據(jù)自家的編譯環(huán)境集成了他們各自的工具,例如,XilinxISE的chipscope,alteraquartusII的SignalProbe等。本文中安路TD的chipwatcher也是用于觀測電路內(nèi)部信號變化的工具,可以認(rèn)為這是一款類似于邏輯分析儀的工具,只不過觀測的信號不是芯片引腳上面的信號,而是電路內(nèi)部的信號。

當(dāng)我們需要定位問題的時候,可以在工具中添加我們想要查看的信號,通過抓取波形來確認(rèn)信號是否在根據(jù)我們的需求進行變化。

二、Chipwatcher使用流程

首先,一個FPGA工程常見的構(gòu)成如下:

1.功能代碼文件:后綴為.v的文件,通俗地講就是我們自己寫的代碼。

2.例化的IP文件:通過編譯軟件來例化的IP的代碼,不同廠商例化后的IP文件名后綴有差異,安路的TD中直接將例化完畢后的.v文件加入工程即可。這類文件不是必須的,有用到需要的IP就加,沒有不加。

3.IO約束文件:用來定義整個工程的輸入輸出信號對應(yīng)的具體芯片引腳是哪個。這類文件可以不加,不加的話編譯工具會自動分配IO口。

4.時鐘約束文件:即SDC文件。同IO約束文件,不加的話編譯器會自己約束,因此當(dāng)工程較大時序較為復(fù)雜時通常需要我們自己約束。

以上四種文件通過編譯后一起生成的整個工程的bit文件燒錄進FPGA芯片后,假設(shè)代碼功能正常,則芯片開始工作。

假設(shè)功能不正常,當(dāng)我們想要觀察電路內(nèi)部信號的時候,我們還需要在工程中加入另一類文件,即第五類文件,然后將這五類文件統(tǒng)一打包成bit文件后下載進FPGA,此時才可以利用工具觀測和抓取到我們想看的信號。

這第五類文件,在TD中,即為Chipwatcher工具生成的.cwc文件。

下圖展示了一個加入.cwc文件后的工程目錄(該工程中未加入時序約束文件):

o4YBAGAXc4CAdrzsAABD9K6z_nQ544.png

生成cwc文件的過程如下:

Tools->DebugTools->chipwatcher

pIYBAGAXc46AUcqjAABwEVEtDSA187.png

進入到chipwatcher頁面:

pIYBAGAXc5mAUPJYAAECEOXz33Q146.png

如上圖,①區(qū)是選擇采樣時鐘和采樣深度,采樣時鐘的選擇注意要選擇全局時鐘中頻率最高的時鐘,采樣深度越深(即數(shù)值越大),最終生成的bit文件所占用的芯片資源越多。

②區(qū)是添加想觀察的信號的區(qū)域,添加方法:在該區(qū)域右鍵后,選擇addnodes進入到信號選擇的頁面,如下:

pIYBAGAXc7CACbupAACbQZz-ClU853.png

如圖可以選擇想要觀察的信號至右側(cè),全部選擇完畢后,點擊OK即可。

需要注意的是,有些信號會自動被編譯器優(yōu)化,而在list中不被顯示,此時若是想觀測對應(yīng)的信號,可以回到我們的代碼中加上如下關(guān)鍵詞即可:

pIYBAGAXc7-AOzj9AABYZeRBP-c561.png

添加完想要觀察的信號后,設(shè)置觸發(fā)條件。

pIYBAGAXc9KAYnI5AABLEQdtn2c352.png

如圖,在triggerenable欄選擇觸發(fā)信號,在riggercondition欄選擇觸發(fā)條件(右鍵)

觸發(fā)條件共有以下幾種:

pIYBAGAXc_eATtHaAABINWgXmqY136.png

分別表示低電平觸發(fā)、高電平觸發(fā)、上升沿觸發(fā)、下降沿觸發(fā)和邊沿觸發(fā)。

pIYBAGAXdBOAaJ5lAABLgudfBmk251.png

在如上圖處設(shè)置觸發(fā)信號之間的關(guān)系。圖中設(shè)置為或,即只要其中一個信號滿足條件即可。

上圖中的整體觸發(fā)條件設(shè)置完畢后可敘述為:當(dāng)int_mem_we信號或int_mem_re信號其中之一為高電平時,抓取當(dāng)前int_mem_wdata[31:0]、int_mem_addr[10:0]、int_mem_rdata[31:0]、int_mem_we和int_mem_re的波形。

編輯完畢后即可保存文件。

pIYBAGAXdCqAKP4TAACW9QzLSSE933.png

保存后生成對應(yīng)的cwc文件,同時將文件加入工程,最后編譯下載至開發(fā)板。

pIYBAGAXdEGAatuhAAH1ZJkaMmI099.png

(注釋:①為將生成的cwc文件加入工程,②為編譯工程,③為將bit文件下載至開發(fā)板)

下載成功后,返回chipwatcher設(shè)置頁面,如下圖選擇singletrigger,即單次觸發(fā)。

pIYBAGAXdFGAQLzVAACeSrxoWFM916.png

當(dāng)程序運行并滿足觸發(fā)條件時,chipwatcher會抓取到波形,如下:

pIYBAGAXdGWAdYmkAABhyg8VC10070.png

三、FPGA調(diào)試與MCU調(diào)試的一些思路差異

Chipwatcher的調(diào)試過程大體如第二章中所示,但是很長一段時間,我并沒有在chipwatcher中觀察到任何波形,究其原因是沒有從MCU調(diào)試的思維轉(zhuǎn)變過來。

MCU的斷點調(diào)試,可以認(rèn)為是一步一步執(zhí)行的,沒有點擊下一步之前,程序會一直停留在當(dāng)前位置(除非程序跑飛)。

而FPGA調(diào)試沒有這種機制,當(dāng)bit文件下載至芯片后,程序是一直執(zhí)行的,而點擊singletrigger后只不過是當(dāng)滿足觸發(fā)條件時抓取當(dāng)前波形而已。抓取完畢會顯示波形,程序卻依舊在繼續(xù)執(zhí)行,不會停留在抓取完畢的那一刻。

當(dāng)我使用chipwatcher觀察AHB協(xié)議傳輸時,沒有在數(shù)據(jù)線和地址線上面觀察到波形就是沒有意識到這點。在bit文件下載進芯片時傳輸就已經(jīng)開始了(對比MCU的調(diào)試,通常MCU調(diào)試開始時,環(huán)境一般會在main函數(shù)起始自動設(shè)置斷點),假設(shè)傳輸在我開啟觸發(fā)按鍵前就已經(jīng)完成,則傳輸線上就會一直觀察不到數(shù)據(jù),觸發(fā)條件也會一直不成立。

因此,為了確保能夠順利抓取到傳輸?shù)臄?shù)據(jù),需要在傳輸前設(shè)置相應(yīng)的延時,保證當(dāng)點擊singletrigger,chipwatcher開始根據(jù)設(shè)置的觸發(fā)條件抓取波形時,數(shù)據(jù)的傳輸還沒有開始。

例程是MCU和FPGA根據(jù)AHB協(xié)議進行通信,因此后來我在MCU的工程中添加了一段延時:

pIYBAGAXdH2AYjZoAAAJl1uA8HY172.png

確保留出足夠的時間來操作chipwatcher。
fqj

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

    關(guān)注

    1645

    文章

    22041

    瀏覽量

    618231
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    52484

    瀏覽量

    440628
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    智多晶PLL使用注意事項

    FPGA設(shè)計,PLL(鎖相環(huán))模塊作為核心時鐘管理單元,通過靈活的倍頻、分頻和相位調(diào)整功能,為系統(tǒng)提供多路高精度時鐘信號。它不僅解決了時序同步問題,還能有效消除時鐘偏移,提升系統(tǒng)穩(wěn)定性。本文將深入探討智多晶PLL在實際應(yīng)用
    的頭像 發(fā)表于 06-13 16:37 ?733次閱讀
    智多晶PLL使用<b class='flag-5'>注意事項</b>

    IGBT器件的防靜電注意事項

    IGBT作為功率半導(dǎo)體器件,對靜電極為敏感。我將從其靜電敏感性原理入手,詳細闡述使用過程防靜電的具體注意事項與防護措施,確保其安全穩(wěn)定運行。
    的頭像 發(fā)表于 05-15 14:55 ?415次閱讀

    設(shè)置射頻網(wǎng)絡(luò)分析儀的測試條件有哪些注意事項

    建議: 使用矢量誤差校正(VEC)技術(shù)補償頻率響應(yīng)誤差。 3. 連接器與線纜 注意事項: 高頻測試需使用低損耗、高穩(wěn)定性的連接器(如3.5mm、2.92mm)。 損耗對比: [td]連接器類型損耗
    發(fā)表于 05-06 16:02

    掃描電鏡的日常維護有哪些注意事項?

    掃描電鏡日常維護的注意事項。
    的頭像 發(fā)表于 03-24 11:38 ?487次閱讀
    掃描電鏡的日常維護有哪些<b class='flag-5'>注意事項</b>?

    智多晶DDR Controller使用注意事項

    最后一期我們主要介紹智多晶DDR Controller使用時的注意事項。
    的頭像 發(fā)表于 01-24 11:14 ?746次閱讀
    智多晶DDR Controller使用<b class='flag-5'>注意事項</b>

    多層板埋孔設(shè)計注意事項

    多層板埋孔設(shè)計注意事項
    的頭像 發(fā)表于 12-20 16:06 ?790次閱讀

    直流電動汽車充電應(yīng)用電流檢測的設(shè)計注意事項

    電子發(fā)燒友網(wǎng)站提供《直流電動汽車充電應(yīng)用電流檢測的設(shè)計注意事項.pdf》資料免費下載
    發(fā)表于 10-31 10:22 ?0次下載

    PLC應(yīng)用的AM335x可靠性注意事項

    電子發(fā)燒友網(wǎng)站提供《PLC應(yīng)用的AM335x可靠性注意事項.pdf》資料免費下載
    發(fā)表于 10-12 11:33 ?0次下載
    PLC應(yīng)用<b class='flag-5'>中</b>的AM335x可靠性<b class='flag-5'>注意事項</b>

    脈沖式充電器的使用注意事項

    脈沖式充電器的使用注意事項主要包括以下幾個方面: 一、安全注意事項 用電安全 :在充電過程,應(yīng)始終保持警惕,注意用電安全,避免觸電和短路等危險情況的發(fā)生。 防火防災(zāi) :避免在易燃易爆
    的頭像 發(fā)表于 09-26 16:05 ?2462次閱讀

    繞線電感定制的注意事項

    電子發(fā)燒友網(wǎng)站提供《繞線電感定制的注意事項.docx》資料免費下載
    發(fā)表于 09-20 11:24 ?4次下載

    關(guān)于降壓轉(zhuǎn)換器啟動電阻器的設(shè)計注意事項

    電子發(fā)燒友網(wǎng)站提供《關(guān)于降壓轉(zhuǎn)換器啟動電阻器的設(shè)計注意事項.pdf》資料免費下載
    發(fā)表于 09-06 11:29 ?0次下載
    關(guān)于降壓轉(zhuǎn)換器<b class='flag-5'>中</b>啟動電阻器的設(shè)計<b class='flag-5'>注意事項</b>

    共模電感定制的注意事項

    電子發(fā)燒友網(wǎng)站提供《共模電感定制的注意事項.docx》資料免費下載
    發(fā)表于 09-04 11:47 ?0次下載

    LiFePO4設(shè)計注意事項

    電子發(fā)燒友網(wǎng)站提供《LiFePO4設(shè)計注意事項.pdf》資料免費下載
    發(fā)表于 09-03 09:24 ?0次下載
    LiFePO4設(shè)計<b class='flag-5'>注意事項</b>

    先進FPGA的電源設(shè)計注意事項(電源設(shè)計器121)

    電子發(fā)燒友網(wǎng)站提供《先進FPGA的電源設(shè)計注意事項(電源設(shè)計器121).pdf》資料免費下載
    發(fā)表于 08-26 09:27 ?0次下載
    先進<b class='flag-5'>FPGA</b>的電源設(shè)計<b class='flag-5'>注意事項</b>(電源設(shè)計器121)

    光耦在實際使用注意事項

    光耦,即光電耦合器,是一種以光為媒介傳輸電信號的電一光一電轉(zhuǎn)換器件。在實際使用,為了確保光耦的穩(wěn)定性和可靠性,需要注意多個方面的因素。以下是對光耦在實際使用應(yīng)注意事項的詳細闡述。
    的頭像 發(fā)表于 08-15 10:52 ?1799次閱讀