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

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

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

PCIe可以添加哪些定位手段?PCIe需要的debug設(shè)計(jì)

ruikundianzi ? 來源:IC的世界 ? 2024-02-26 18:19 ? 次閱讀

1、PCIe debug環(huán)境說明

526d6b5c-d48b-11ee-a297-92fbcf53809c.png

本文將以PCIe EP用戶邏輯舉例,描述PCIe可以添加哪些定位手段。

如圖所示,PCIe IP作為endpoint與RC對(duì)接,用戶實(shí)現(xiàn)了應(yīng)用邏輯,與PCIe IP進(jìn)行交互,交互信號(hào)中data格式為TLP報(bào)文格式,且交互信號(hào)包含相應(yīng)的控制信號(hào),例如PCIe配置空間和IP相干的配置信號(hào)。

常見的Debug設(shè)計(jì)可以通常有:中斷、鎖存狀態(tài)、統(tǒng)計(jì)計(jì)數(shù)和實(shí)時(shí)狀態(tài)。

添加Debug設(shè)計(jì)的目的通常是定位功能故障和性能故障。

功能故障通常有鏈路不通,出現(xiàn)錯(cuò)包,PCIe部分 function無法訪問等等。

性能故障通常速率協(xié)商未到最高速率、傳輸速率不及預(yù)期等等。

添加debug手段可以在芯片調(diào)試時(shí)有效提高定位效率,快速發(fā)現(xiàn)并解決問題。

2.用戶需要添加的debug手段

2.1.最常見的統(tǒng)計(jì)計(jì)數(shù)

常見的統(tǒng)計(jì)技術(shù)有,發(fā)起的請(qǐng)求數(shù)量和收到的請(qǐng)求響應(yīng)數(shù)量、正確的數(shù)量和錯(cuò)誤的數(shù)量、單個(gè)function的統(tǒng)計(jì)以及所有function的統(tǒng)計(jì)。

已發(fā)起的dma read請(qǐng)求、已返回的dma read 響應(yīng)。

已發(fā)起的dma write請(qǐng)求、已返回的dma write 響應(yīng)。

已收到的memory space 訪問以及返回的memory space 響應(yīng)。

2.2.ltssm 狀態(tài)機(jī)

記錄ltssm 協(xié)商過程,鎖存ltssm最近的若干次數(shù)值,便于分析ltssm協(xié)商過程。

ltssm 實(shí)時(shí)狀態(tài)可讀 統(tǒng)計(jì)ltssm進(jìn)入L0狀態(tài)的次數(shù)和退出L0狀態(tài)的次數(shù)

2.3.PCIe 關(guān)鍵使能信號(hào)

PCIe IP關(guān)鍵信號(hào)包含vf/pf_bus_master_en、vf/pf_function_level_reset、hot reset、金手指復(fù)位perst,如下表格才采用英文簡(jiǎn)寫描述。

如上的關(guān)鍵信號(hào)只有0和1兩種狀態(tài),都需要記錄實(shí)時(shí)狀態(tài)、統(tǒng)計(jì)0-->1跳變次數(shù)、統(tǒng)計(jì)1-->0跳變次數(shù)

2.4.異常完成報(bào)文鎖存若干cpld/cpld 報(bào)文頭信息

采用ram或者寄存器鎖存收到的cpl/cpld報(bào)文頭信息,可以根據(jù)需要選擇鎖存的字段,如下所示,強(qiáng)烈推薦鎖存Completion Status 、EP、Completer ID、Requester ID等信息方便問題定位。

527d11d8-d48b-11ee-a297-92fbcf53809c.png5290c41c-d48b-11ee-a297-92fbcf53809c.png

2.5.異常請(qǐng)求debug

發(fā)現(xiàn)異常請(qǐng)求時(shí)記錄異常信息。 場(chǎng)景1:無效function的請(qǐng)求,例如當(dāng)前PCIe只有128個(gè)VF,即VF0~VF127,結(jié)果收到了VF128的請(qǐng)求。此時(shí)需要鎖存請(qǐng)求類型、VF number以及產(chǎn)生錯(cuò)誤中斷,方便問題定位。

2.6.記錄cpld時(shí)延信息

52a21f00-d48b-11ee-a297-92fbcf53809c.png

為了便于計(jì)算性能,EP發(fā)起的memory 讀請(qǐng)求(俗稱dma read),需要統(tǒng)計(jì)時(shí)延,即從發(fā)起dma read請(qǐng)求開始到收到最后一個(gè)CPLD/CPL時(shí)消耗的時(shí)間,并且期望debug設(shè)計(jì)能夠記錄不同時(shí)延段位的dma read請(qǐng)求數(shù)量。debug設(shè)計(jì)可配置延時(shí)上限,一旦超時(shí)延時(shí)上限,則鎖存dma read請(qǐng)求信息,方便調(diào)試者定位。

2.7.統(tǒng)計(jì)流控信號(hào)

52b635da-d48b-11ee-a297-92fbcf53809c.png

當(dāng)應(yīng)用邏輯寫數(shù)據(jù)速率過大或者RC端數(shù)據(jù)處理能力較弱時(shí),RC反饋給EP的credit更新跟不上應(yīng)用邏輯寫數(shù)據(jù)的速率,會(huì)導(dǎo)致EP對(duì)應(yīng)用邏輯產(chǎn)生反壓,即credit_fc置1。此時(shí)將影響應(yīng)用邏輯dma write的速率,通過觀察credit_fc的統(tǒng)計(jì)計(jì)數(shù)可以初步判斷影響性能的因素。

3.結(jié)束語

出現(xiàn)問題的原因可能是代碼bug,可能是配置的寄存器數(shù)值錯(cuò)誤,也可能是配置順序流程不正確,添加debug設(shè)計(jì)就是為了能夠高效定位問題。本文僅僅簡(jiǎn)單描述了部分需要添加的debug手段,歡迎大家留言補(bǔ)充。




審核編輯:劉清

聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5250

    瀏覽量

    119193
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    903

    瀏覽量

    41311
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1165

    瀏覽量

    81965
  • TLP
    TLP
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    15565
  • CPLD芯片
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    11599

原文標(biāo)題:PCIE定位:PCIe需要的debug設(shè)計(jì)

文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA的PCIE接口應(yīng)用需要注意哪些問題

    并進(jìn)行相應(yīng)的優(yōu)化。 綜上所述,F(xiàn)PGA的PCIe接口應(yīng)用需要綜合考慮硬件資源、PCIe版本、時(shí)鐘同步、信號(hào)完整性、設(shè)計(jì)優(yōu)化、軟件和驅(qū)動(dòng)程序、主機(jī)系統(tǒng)性能、熱設(shè)計(jì)和電源管理等多個(gè)方面的問題。通過詳細(xì)規(guī)劃、設(shè)計(jì)和測(cè)試,
    發(fā)表于 05-27 16:17

    #硬聲創(chuàng)作季 PCIe-QuickLearn-PCIe-Overview-Data

    PCIPCIe
    Mr_haohao
    發(fā)布于 :2022年10月20日 23:00:07

    PCIE困惑

    主動(dòng)發(fā)起DMA傳輸沒有問題。但問題是工控機(jī)需要知道什么時(shí)候發(fā)起DMA,發(fā)起DMA傳輸?shù)臈l件是FPGA已經(jīng)采集并緩存了一定的數(shù)據(jù),然后需要通知工控機(jī)現(xiàn)在可以發(fā)起DMA傳輸了。我現(xiàn)在不知道如何通知,請(qǐng)教大家!
    發(fā)表于 11-13 14:26

    PCIE接口的REFCLK的如何設(shè)計(jì)?

    我想用C6657的PCIE接口擴(kuò)展一個(gè)WIFI. C6657的PCIE需要一個(gè)LVDS的參考時(shí)鐘(PCIECLKP, PCIECLKN),? WIFI芯片的PCIE
    發(fā)表于 06-21 18:45

    如何使用xapp1052設(shè)計(jì)PCIe BMD示例?

    我試圖從xapp1052識(shí)別PCIe BMD示例中的主要數(shù)據(jù)端口,以便我可以在其中添加我的設(shè)計(jì)。我試圖為PCIe接收數(shù)據(jù)[63:0] trn_rd
    發(fā)表于 03-20 15:09

    pcie

    pcie虛擬化技術(shù)中,一端pcie的虛擬通道又睡指定,是通過軟件配置嗎
    發(fā)表于 11-11 10:34

    PCIe資源Kintex7可以只使用一個(gè)PCIe Gen 2嗎?

    親愛的,我需要使用2-3個(gè)PCIe(x2)和一個(gè)Kintex 7 FPGA。實(shí)際上我正在查看系列7發(fā)現(xiàn)的數(shù)據(jù)表(在集成的IP資源下),可以只使用一個(gè)PCIe Gen 2。我是否正確理解
    發(fā)表于 08-27 16:42

    可以將多個(gè)PCIe設(shè)備連接到一般的單個(gè)PCIe控制器嗎?

    我們可以將多個(gè) PCIe 設(shè)備 (IC) 連接到一般的單個(gè) PCIe 控制器(在我們的案例中更具體地說是 NXP LS20xxA 處理器)嗎? 例如,將四個(gè)不同的 PCIe x1 設(shè)備
    發(fā)表于 05-05 07:35

    體驗(yàn)紫光PCIE之使用WinDriver驅(qū)動(dòng)紫光PCIE

    主板的PCIE插槽中,此過程在關(guān)機(jī)狀態(tài)下完成。 (2)如果硬件PCIE鏈路設(shè)計(jì)并沒有使用PCIE插槽電源供電開發(fā)板,那么開發(fā)板需要使用外部電源供電,反之
    發(fā)表于 11-17 14:35

    基于VIVADO的PCIE IP的使用

    定的。因?yàn)閄ilinx官方給我們提供了完善的PCIE IP,基于這些IP我們?cè)O(shè)置不需要知道TLP包的組包原理我們便可以PCIE使用起來。 這篇博客我們主要把FPGA作為endpoin
    的頭像 發(fā)表于 08-09 16:22 ?1.2w次閱讀
    基于VIVADO的<b class='flag-5'>PCIE</b> IP的使用

    什么是PCIe?

    PCIe是一種高速串行計(jì)算機(jī)擴(kuò)展總線標(biāo)準(zhǔn),自2003年推出以來,已經(jīng)成為服務(wù)器(Server)和PC上的重要接口。今天為大家簡(jiǎn)單介紹一下PCIe的發(fā)展歷史以及它的工作原理。 一、PCIe的由來
    的頭像 發(fā)表于 07-04 18:15 ?1.8w次閱讀

    pcie3.0和4.0差距大嗎 怎么看pcie3.0還是4.0

    要充分發(fā)揮PCIe 4.0的優(yōu)勢(shì),需要具備兼容PCIe 4.0的主板和設(shè)備。如果你的設(shè)備只支持PCIe 3.0,那么你將無法享受到PCIe
    發(fā)表于 07-18 15:10 ?2.9w次閱讀

    pcie接口可以插什么

    PCIE接口可以插入的設(shè)備非常多,涵蓋了各種不同的硬件設(shè)備和擴(kuò)展卡。下面將詳細(xì)介紹幾種常見的PCIE接口設(shè)備。 顯卡(Graphice Card):顯卡是最常見的PCIE接口設(shè)備之一。
    的頭像 發(fā)表于 12-28 16:20 ?1.5w次閱讀

    PCIe 5.0 SerDes 測(cè)試

    的吞吐量較上一代 PCIe 4.0 增加一倍。需要注意的是 PCIe 原始傳輸速率的單位是 GT/s ,而鏈路數(shù)據(jù)速率的單位是 Gb/s。 表 1:五代 PCIe 的對(duì)比表
    的頭像 發(fā)表于 08-16 09:33 ?322次閱讀
    <b class='flag-5'>PCIe</b> 5.0 SerDes 測(cè)試