<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PCIe可以添加哪些定位手段?PCIe需要的debug設計

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

1、PCIe debug環境說明

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

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

如圖所示,PCIe IP作為endpoint與RC對接,用戶實現了應用邏輯,與PCIe IP進行交互,交互信號中data格式為TLP報文格式,且交互信號包含相應的控制信號,例如PCIe配置空間和IP相干的配置信號。

常見的Debug設計可以通常有:中斷、鎖存狀態、統計計數和實時狀態。

添加Debug設計的目的通常是定位功能故障和性能故障。

功能故障通常有鏈路不通,出現錯包,PCIe部分 function無法訪問等等。

性能故障通常速率協商未到最高速率、傳輸速率不及預期等等。

添加debug手段可以在芯片調試時有效提高定位效率,快速發現并解決問題。

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

2.1.最常見的統計計數

常見的統計技術有,發起的請求數量和收到的請求響應數量、正確的數量和錯誤的數量、單個function的統計以及所有function的統計。

已發起的dma read請求、已返回的dma read 響應。

已發起的dma write請求、已返回的dma write 響應。

已收到的memory space 訪問以及返回的memory space 響應。

2.2.ltssm 狀態機

記錄ltssm 協商過程,鎖存ltssm最近的若干次數值,便于分析ltssm協商過程。

ltssm 實時狀態可讀 統計ltssm進入L0狀態的次數和退出L0狀態的次數

2.3.PCIe 關鍵使能信號

PCIe IP關鍵信號包含vf/pf_bus_master_en、vf/pf_function_level_reset、hot reset、金手指復位perst,如下表格才采用英文簡寫描述。

如上的關鍵信號只有0和1兩種狀態,都需要記錄實時狀態、統計0-->1跳變次數、統計1-->0跳變次數

2.4.異常完成報文鎖存若干cpld/cpld 報文頭信息

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

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

2.5.異常請求debug

發現異常請求時記錄異常信息。 場景1:無效function的請求,例如當前PCIe只有128個VF,即VF0~VF127,結果收到了VF128的請求。此時需要鎖存請求類型、VF number以及產生錯誤中斷,方便問題定位。

2.6.記錄cpld時延信息

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

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

2.7.統計流控信號

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

當應用邏輯寫數據速率過大或者RC端數據處理能力較弱時,RC反饋給EP的credit更新跟不上應用邏輯寫數據的速率,會導致EP對應用邏輯產生反壓,即credit_fc置1。此時將影響應用邏輯dma write的速率,通過觀察credit_fc的統計計數可以初步判斷影響性能的因素。

3.結束語

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




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    30

    文章

    5141

    瀏覽量

    118055
  • 鎖存器
    +關注

    關注

    8

    文章

    847

    瀏覽量

    41105
  • PCIe
    +關注

    關注

    13

    文章

    1101

    瀏覽量

    81154
  • TLP
    TLP
    +關注

    關注

    0

    文章

    30

    瀏覽量

    15531
  • CPLD芯片
    +關注

    關注

    0

    文章

    18

    瀏覽量

    11584

原文標題:PCIE定位:PCIe需要的debug設計

文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA的PCIE接口應用需要注意哪些問題

    并進行相應的優化。 綜上所述,FPGA的PCIe接口應用需要綜合考慮硬件資源、PCIe版本、時鐘同步、信號完整性、設計優化、軟件和驅動程序、主機系統性能、熱設計和電源管理等多個方面的問題。通過詳細規劃、設計和測試,
    發表于 05-27 16:17

    #硬聲創作季 PCIe-QuickLearn-PCIe-Overview-Data

    PCIPCIe
    Mr_haohao
    發布于 :2022年10月20日 23:00:07

    PCIE困惑

    主動發起DMA傳輸沒有問題。但問題是工控機需要知道什么時候發起DMA,發起DMA傳輸的條件是FPGA已經采集并緩存了一定的數據,然后需要通知工控機現在可以發起DMA傳輸了。我現在不知道如何通知,請教大家!
    發表于 11-13 14:26

    PCIE MSI中斷的配置

    )-(Uint32)gpPCIE_app_regs);,這個語句的大致意思就是MSI中斷配置。那是不是我只要改之前的那個結構體賦值,比如說是PCIE_16_MSI,然后不用管調用的那個函數,就可以觸發16號PCIE中斷呢?
    發表于 06-21 03:49

    PCIE接口的REFCLK的如何設計?

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

    如何使用xapp1052設計PCIe BMD示例?

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

    是否可以PCIe中的MGT用于RapidIO協議?

    嗨,我有一個ML605板和一塊使用RapidIO協議的DSP板。該板有兩個FMC連接器(HPC和LPC)和一個PCIe接口,我需要4個萬兆收發器(MGT),PCIe和FMC HPC都有8個(LPC
    發表于 08-29 10:33

    pcie

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

    PCIe資源Kintex7可以只使用一個PCIe Gen 2嗎?

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

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

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

    如何讀寫PCIe?

    我是一名PCIe新手,想了解以下問題: 1、如何測試PCIe? 2、如何讀寫PCIe(兩塊開發板通過PCIe線互連,分別配置為RC和EP)? 3.如何支持NTB?
    發表于 06-12 06:05

    體驗紫光PCIE之使用WinDriver驅動紫光PCIE

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

    最新PCIe Gen 5 switch芯片已內置SerialTek PCIe抓包分析功能

    等各環節可能遇到的各種疑難問題,工程師只需要免費下載SerialTek PCIe協議分析儀軟件BusXpert即可直接配置PCIe Gen 5 switch進行抓包分析,可以分析ups
    的頭像 發表于 04-13 15:30 ?4981次閱讀
    最新<b class='flag-5'>PCIe</b> Gen 5 switch芯片已內置SerialTek <b class='flag-5'>PCIe</b>抓包分析功能

    什么是PCIe?

    PCIe是一種高速串行計算機擴展總線標準,自2003年推出以來,已經成為服務器(Server)和PC上的重要接口。今天為大家簡單介紹一下PCIe的發展歷史以及它的工作原理。 一、PCIe的由來
    的頭像 發表于 07-04 18:15 ?1.4w次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>