調(diào)試復(fù)雜的串行協(xié)議是驗(yàn)證工程師面臨的最大挑戰(zhàn)。這是影響每個(gè)項(xiàng)目進(jìn)度的最耗費(fèi)時(shí)間和精力的活動(dòng)之一。傳統(tǒng)的調(diào)試方法使用松散連接的波形、日志文件、消息和文檔的組合,這不足以進(jìn)行高效的調(diào)試。使用日志文件調(diào)試 SoC 和塊級(jí)問(wèn)題既繁瑣又耗時(shí)。在開(kāi)發(fā)周期的后期階段出現(xiàn)的設(shè)計(jì)問(wèn)題可能極難跟蹤和調(diào)試,從而使項(xiàng)目進(jìn)度面臨風(fēng)險(xiǎn)。
有沒(méi)有辦法簡(jiǎn)化調(diào)試過(guò)程和性能?如果可以查看數(shù)據(jù)包和交易而不是信號(hào),不是更容易嗎?在這篇博客中,我們將討論用戶(hù)在調(diào)試復(fù)雜協(xié)議時(shí)面臨的一些挑戰(zhàn);并重點(diǎn)介紹基于 GUI 的事務(wù)調(diào)試解決方案,該解決方案既簡(jiǎn)單又快速。.我們將以USB為例,討論復(fù)雜的功能,調(diào)試挑戰(zhàn)和相應(yīng)的解決方案。
讓我們看一下USB 3.0協(xié)議的復(fù)雜性及其相應(yīng)的調(diào)試挑戰(zhàn)。USB 3.0 協(xié)議指定主機(jī)通過(guò)交換以下類(lèi)型的信令和數(shù)據(jù)包來(lái)控制與設(shè)備的通信:
鏈接命令數(shù)據(jù)包
鏈路命令用于鏈路級(jí)數(shù)據(jù)完整性、流量控制和鏈路電源管理。這些數(shù)據(jù)包具有八個(gè)符號(hào)的固定長(zhǎng)度,重復(fù)以增加容錯(cuò)能力。僅使用波形中的串行信號(hào)很難識(shí)別這些符號(hào)的模式。
協(xié)議命令數(shù)據(jù)包
首先,主機(jī)啟動(dòng)多個(gè)傳輸,如批量、中斷、常時(shí)等量和中斷。每次轉(zhuǎn)賬都有多個(gè)事務(wù) - 設(shè)置、狀態(tài)、傳入和傳出。根據(jù)類(lèi)型,每個(gè)事務(wù)都有 TP(事務(wù)數(shù)據(jù)包)和 DP(數(shù)據(jù)包)的必要數(shù)據(jù)包組合。使用許多類(lèi)型的TP,如ACK,NRDY,ERDY,STALL,PING等。然后,主機(jī)為多個(gè)設(shè)備地址和端點(diǎn)號(hào)啟動(dòng)這些數(shù)據(jù)包。對(duì)于調(diào)試,檢查這些數(shù)據(jù)包的適當(dāng)順序在波形中是一項(xiàng)艱巨的任務(wù)。
低頻周期信令 (LFPS)
LFPS 用于在“低功耗鏈路狀態(tài)”下通過(guò)鏈路的兩個(gè)端口之間進(jìn)行邊帶通信。當(dāng)鏈路正在訓(xùn)練中,或者當(dāng)下游端口發(fā)出“熱重置”以重置鏈路時(shí),也會(huì)使用它。LFPS 功能涉及鏈路速度協(xié)商、退出低功耗狀態(tài)和鏈路復(fù)位。識(shí)別波形中傳輸信號(hào)的時(shí)序具有挑戰(zhàn)性。
還有其他挑戰(zhàn),例如:
USB 還定義了由單個(gè)事務(wù)組成的軟件級(jí)傳輸。
USB 允許數(shù)據(jù)包突發(fā),并且確認(rèn)是流水線的,這使得查找與任何事務(wù)對(duì)應(yīng)的響應(yīng)數(shù)據(jù)包變得更加困難。
總線上不同端點(diǎn)的流量啟動(dòng)和交錯(cuò)數(shù)據(jù)包使得很難找到與端點(diǎn)對(duì)應(yīng)的流量。
波形能否為這些驗(yàn)證挑戰(zhàn)提供快速解決方案?我們需要知道總線上發(fā)生了什么來(lái)調(diào)試問(wèn)題。波形將僅顯示總線上的序列化數(shù)據(jù)包,手動(dòng)解碼所有串行數(shù)據(jù)以獲取所需的數(shù)據(jù)包/事務(wù)/傳輸詳細(xì)信息非常復(fù)雜。幸運(yùn)的是,Verdi 協(xié)議分析器已被證明是一種簡(jiǎn)單有效的調(diào)試方法,可將生產(chǎn)力提高數(shù)倍。
Verdi 協(xié)議分析器按總線上發(fā)生的順序顯示分層事務(wù)活動(dòng),如下面的快照所示。選擇相應(yīng)的父?jìng)鬏敃r(shí),所有鏈接的事務(wù)和數(shù)據(jù)包都會(huì)突出顯示。
Verdi 協(xié)議分析器為用戶(hù)提供了傳輸、事務(wù)、數(shù)據(jù)包和協(xié)議握手的圖形視圖。它突出顯示了整個(gè)層次結(jié)構(gòu)之間的關(guān)系,直觀地揭示了高度交錯(cuò)流量的復(fù)雜行為。對(duì)錯(cuò)誤、警告和消息進(jìn)行注釋?zhuān)钥焖僮R(shí)別模擬中的問(wèn)題。它使用戶(hù)能夠快速了解協(xié)議活動(dòng)、識(shí)別瓶頸并調(diào)試意外行為。
我們已經(jīng)描述了一些調(diào)試挑戰(zhàn),以及Verdi協(xié)議分析器如何幫助快速輕松地解決這些問(wèn)題。有關(guān)更多詳細(xì)信息,請(qǐng)閱讀我們最近的白皮書(shū) - “調(diào)試基于 IIP 的設(shè)計(jì)和 SoC 的簡(jiǎn)單方法:使用 Verdi 事務(wù)調(diào)試平臺(tái)”。本白皮書(shū)介紹了使用 Verdi 事務(wù)調(diào)試平臺(tái)(包括協(xié)議分析儀、波形查看器、源代碼瀏覽器)使用“實(shí)時(shí)仿真數(shù)據(jù)”進(jìn)行調(diào)試的概念,并通過(guò)常見(jiàn) USB 驗(yàn)證挑戰(zhàn)的示例演示了易用性和省時(shí)功能。
審核編輯:郭婷
-
usb
+關(guān)注
關(guān)注
60文章
7979瀏覽量
265606 -
分析器
+關(guān)注
關(guān)注
0文章
93瀏覽量
12532 -
GUI
+關(guān)注
關(guān)注
3文章
662瀏覽量
39827
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論