PIPE 接口上的數(shù)據(jù)在 Gen3 的速度下被加密。當(dāng)調(diào)試 PCIe 問(wèn)題時(shí),能在 PCIe 鏈接上查看各個(gè)包會(huì)很有幫助。
若要實(shí)現(xiàn)此目的,用戶(hù)需擁有協(xié)議鏈接分析器。由于其成本較高,能接觸到此等設(shè)備的用戶(hù)不多。隨協(xié)議鏈接分析器提供的包分析工具很廣泛,可對(duì)鏈接流量進(jìn)行深入分析。
賽靈思 UltraScale+ 器件的 PCIe? Express Gen3 IP 集成塊有一個(gè)功能,可讓您集成一個(gè)解擾器模塊,以便解密在 PIPE 接口上被加密的數(shù)據(jù)。盡管它不能提供與協(xié)議鏈接分析器相同數(shù)量的分析數(shù)據(jù),但它可以在識(shí)別潛在問(wèn)題方面提供幫助,而且在大部分情況下可幫助追蹤問(wèn)題的根本原因。
本文將詳細(xì)介紹如何通過(guò)識(shí)別來(lái)自鏈路并進(jìn)入 PCIe IP 的不同類(lèi)型的 PCIe 包來(lái)分析解擾器模塊的輸出數(shù)據(jù)。
解擾器模塊在 PCIe IP 配置 GUI 中被使能,具體如下:
解擾器模塊只在 Gen3 模式中被支持。
如果復(fù)選框變成灰色,要確保配置 GUI 的“Basic”標(biāo)簽中的鏈接速度被設(shè)為 8.0 GT/s。如果該選項(xiàng)不可用,請(qǐng)將“Basic”標(biāo)簽中的“Mode”設(shè)為“Advanced”。
為了追蹤 PIPE 接口上有效 PCIe 包的起始點(diǎn),該接口提供了兩種信號(hào):*_sync_header 和 *_start_block。
為了確認(rèn) rx_data 上的數(shù)據(jù)是否為有效包,請(qǐng)檢查以下各項(xiàng):
- *_data_valid 已被有效
- *_start_block 已被有效
-
*_sync_header 為“1”或“2”。
- 如果該值是“1”,則表示是“Ordered Set”的起始點(diǎn)。
- 如果該值是“2”,則表示是 TLP 或 DLLP 包的起始點(diǎn)。
被解擾的數(shù)據(jù)分析也可在仿真中進(jìn)行。
以下的波形圖來(lái)自與 IP 一起生成的 Gen3 示例設(shè)計(jì)的仿真。
上文波形圖中所示的 FF00FF00 就是 EIEOS。
被解擾信號(hào)上的第一個(gè)包將是 EIEOS。
如前文所述,*_start_block 必須有效,而且下文波形圖中所示的 *_sync_header 信號(hào)應(yīng)為“1”。
一旦所有均衡狀態(tài)都已完成,在進(jìn)入 L0 狀態(tài)之前,您應(yīng)該看到 555555E1。
這就是 SDS(數(shù)據(jù)流起始點(diǎn))。一旦您看到了 SDS,則意味著有序集交互已完成。接口上的下一個(gè)包類(lèi)型將是初始流量控制信用,即,我們應(yīng)在接口上看到 DLLP 包。
下面的波形圖即顯示了 DLLP 包。DLLP 包以 SDP(DLLP 包起始點(diǎn) - ACF0)開(kāi)始。在多通道設(shè)計(jì)時(shí),數(shù)據(jù)將被跨通道分布。
在下文的波形圖中,DLLP 包為 InitFC1-P。
DLLP 包格式共有四種:
- ACK 或 Nak DLLP 包格式
- 功耗管理 DLLP 包格式
- 流量控制 DLLP 包格式
- 供應(yīng)商特定 DLLP 包格式
每一種 DLLP 包的長(zhǎng)度都是 6 個(gè)符號(hào)。 有關(guān)解碼 DLLP 包內(nèi)容的信息,請(qǐng)參閱 PCI Express 規(guī)范。在下文的波形圖中,“60”是 InitFC-Cpl(Cpl 代表 completion)。“50”是 InitFC-NP(NP 代表 Non-Posted)。
UpdateFC-P 以“80”開(kāi)始。被解擾數(shù)據(jù)中的更新值為十六進(jìn)制,因此需要將其轉(zhuǎn)化為十進(jìn)制,以便獲得可用信用的準(zhǔn)確數(shù)字。
有序集總是按通道來(lái)的。每條通道都有其自己的有序集。 DLLP 和 TLP 被跨通道分配;每條通道一個(gè)字節(jié)。
DLLP 只在 lane-0、lane-4 或 lane-8 中開(kāi)始,即,F(xiàn)0 只能在 lane 0、4 或 8 上。TLP 可在任何通道上開(kāi)始。
TXRATE 表示鏈路運(yùn)行的速度。向 Gen3 速度的過(guò)渡在“Recovery.Speed”(0C)LTSSM 狀態(tài)中發(fā)生,如以下波形圖所示。
在 L0 狀態(tài)之前以 Gen1/Gen2 速度運(yùn)行的包未被加擾,它僅在 Gen3 速度下被加擾。在 PIPE 接口上以 Gen1/Gen2 速度運(yùn)行的有序集可被直接讀取。但是,所有速度的所有內(nèi)容在 L0 狀態(tài)中都會(huì)被擾碼。下面的波形圖顯示了在 Gen1 速度時(shí)的捕獲。
在這里,“4A”系指其 TS1 有序集。只有在速度如 TXRATE 所示變化至 Gen3 時(shí)才需要解擾器模塊。
下列波形圖中的 AAAAAAAA 表示一個(gè) SKP 有序集。
E1 表示 SKP_END 符號(hào)的定義詳見(jiàn)如下所示的 PCIe 規(guī)范。
下面的波形圖顯示了在 Gen3 鏈接上的一個(gè) TS1 有序集。所示的“1E”表示在 Gen3 速度時(shí)的一個(gè) TS1 有序集。
下面的波形圖顯示了每條通道中的一個(gè) TS1 有序集。它不會(huì)跨越多條通道。它在所有通道上都相同,只是通道號(hào)不同。在下面的波形圖中,通道號(hào)分別為 00 和 01。
這里的“0E”是 Symbol-4。Symbol-4 在規(guī)范中的定義如下:
0E= 0000_1110。當(dāng)我們將這些位映射到規(guī)范中的 Symbol-4 描述上時(shí),它表示 Gen3 速度得到了支持。
Symbol-6 在 LTSSM 所處的不同狀態(tài)中具有不同含義。在如下所示的波形圖中,LTSSM 為“28”,則意味著它位于 phase-0 中。
Symbol-6 為 20,即 001_0000。由于它在 phase-0 中,則位 1:0 被設(shè)為“00”。
下面的波形圖顯示了一個(gè)完整的 TS1 有序集。
下面的波形圖顯示了設(shè)置為 Gen3 速度的一個(gè) TS2 有序集。“2D”表示它是一個(gè) TS2 有序集
至此,我們已討論了有關(guān)有序集和 DLLP 的內(nèi)容,那么現(xiàn)在我們來(lái)看一下如何在 PIPE 接口上識(shí)別 TLP。
每個(gè) TLP 都以 STP(TLP 包起始點(diǎn))標(biāo)識(shí)開(kāi)始。因此,在解擾器中查找具有 *_start_block = 1 和 *_sync_header= 2 的任何“nF”。
每個(gè) STP 標(biāo)識(shí)都是 4 個(gè)符號(hào)并表示 TLP 的開(kāi)始。
STP 字段的定義詳見(jiàn)下圖所示:
以下是 MemWr(存儲(chǔ)器寫(xiě)入 TLP)的示例。請(qǐng)注意,這是一個(gè) x4 鏈接,因此所有內(nèi)容都被跨越分配。下面的波形圖取自示例設(shè)計(jì)仿真。
該波形圖顯示了來(lái)自主機(jī)測(cè)試平臺(tái)而通過(guò) PCIe 硬塊的 CQ 接口進(jìn)入用戶(hù)邏輯的存儲(chǔ)器寫(xiě)入傳輸事務(wù)。該傳輸事務(wù)在 PIPE 接口上具體理解如下:
開(kāi)始從 LSB 讀取:
DW0 = ClkCycle0-Byte0 (Lane-0 to Lane-3) -> “6F-80-20-1D” -> STP token DW1 = Header starts here -> ClkCycle0-Byte1 (Lane-0 to Lane-3) -> “40-00-00-01” -> Indicates Fmt/Type = 0x40 which is a 3DW MemWr request, Length = 1 DW2 = ClkCycle0-Byte2 (Lane-0 to Lane-3) -> "00-00-00-0F” -> "0000- ReqID, Tag – 00, 1st DW Byte Enable = "F" DW3 = ClkCycle0-Byte3 (Lane-0 to Lane-3) -> “00-00-00-10” -> Address = 'h10 DW4 = ClkCycle1-Byte0 (Lane-0 to Lane-3) -> “04-03-02-01” -> Payload (Byte0 to Byte3, 01-> MSB, 04-> LSB)
編輯:hfy
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7453瀏覽量
163609 -
賽靈思
+關(guān)注
關(guān)注
32文章
1794瀏覽量
131166 -
PCIe
+關(guān)注
關(guān)注
15文章
1224瀏覽量
82446 -
GUI
+關(guān)注
關(guān)注
3文章
649瀏覽量
39550
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論