1.PCIE相關(guān)速率說(shuō)明
PCIE對(duì)應(yīng)的總線速率:
PCIE7.0:128Gbps(已正式發(fā)布其規(guī)范),
PCIE6.0:64Gbps,
PCIE5.0:32Gbps,
PCIE4.0:16Gbps,
PCIE4.0:16Gbps,
PCIE3.0:8Gbps,
PCIE2.0:5Gbps,
PCIE1.0:2.5Gbps。
由于應(yīng)用領(lǐng)域不同其所需總線速率也不同,目前接觸到的設(shè)計(jì),pcie 3.0局多,主要是CPU與交換機(jī)之間通信,或CPU與FPGA之間的通信。
2.芯片所支持的pcie 協(xié)議及管腳確認(rèn)
對(duì)于CPU或AI處理器手冊(cè)中會(huì)明確描述所支持的pcie接口及管腳,如RK3588中對(duì)pcie接口的描述見(jiàn)下圖所示,因此對(duì)于CPU或AI處理器的pcie硬件設(shè)計(jì)時(shí)只需看此數(shù)據(jù)手冊(cè)即可,比較簡(jiǎn)單;


2.2xilinx 7系列FPGA PCIE硬核資源查看
對(duì)于FPGA來(lái)說(shuō)pcie所用的是GT資源,若使用PCIe硬核需要使用其硬核對(duì)用的管腳才可以,否則就要專門使用軟核進(jìn)行開(kāi)發(fā),有硬核資源的情況下建議優(yōu)先使用硬核資源,如何查看FPGA對(duì)應(yīng)的pcie硬核管腳需要按照以下步驟進(jìn)行。
1、對(duì)于7系列FPGA來(lái)說(shuō)先查看手冊(cè)PG023,
2、確定位置后再根據(jù)手冊(cè)UG476查看對(duì)應(yīng)的硬件引腳,即可確定PCIe的硬核管腳:
匯總:A7/K7/Z7僅支持1個(gè)PCIe2.0(5Gbps)硬核,V7最大支持3個(gè)PCIe 3.0(8Gbps)硬核。對(duì)應(yīng)X4的在前一BANK。PCIE lane序號(hào)和GTX標(biāo)號(hào)需要確認(rèn)清楚。
注意:使用不同系列的FPGA請(qǐng)查看對(duì)應(yīng)的手冊(cè),能選擇用硬核建議使用硬核資源。
PCIE協(xié)議推薦的耦合電容范圍如下:

對(duì)于pcie1.0和pcie2.0常用的交流耦合電容選用0.1uf,對(duì)于pcie3.0常用的交流耦合電容選用0.22uf,正常來(lái)說(shuō)速率越高需要的耦合電容容值越小才對(duì),但為什么這里會(huì)是反的,主要是考慮PCIE的執(zhí)行編碼方式8b/10b,此編碼方式是為了DC平衡,綜合考慮才選擇的0.22uf。
另外,較小的封裝尺寸可減小寄生效應(yīng)和引入的阻抗不連續(xù),對(duì)于PCIe 4.0和PCIe 5.0,0201尺寸的電容通常比0402尺寸更受推薦,如Intel的PCIe 4.0耦合電容通用設(shè)計(jì)規(guī)則中就提到雖0402尺寸是可以接受的,但0201尺寸電容更推薦使用。
4.PCIE協(xié)議
PCIe拓?fù)浣Y(jié)構(gòu)如下圖所示:

4.1常用術(shù)語(yǔ)
Link:兩設(shè)備間通過(guò)1對(duì)或多對(duì)差分線連接,形成的數(shù)據(jù)通道。

TLP:“事務(wù)包(TLP,Transaction Layer Packet)”;
4.2協(xié)議分層
三層:

TransactionLayer(事務(wù)層):定義包的內(nèi)容;作用:“決定傳什么?傳給誰(shuí)”
Data Link Layer(數(shù)據(jù)鏈路層):傳輸包;作用:“確保傳對(duì),傳完整”;
Physical Layer(物理層):信號(hào)編碼,電信號(hào)傳遞;作用“把數(shù)據(jù)變?yōu)殡娦盘?hào)/光信號(hào)”;
包在各層次封裝的圖示:

4.3協(xié)議分層協(xié)作流程:
為更直觀理解三層如何配合,以“CPU讀取PCIe SSD中的文件”為例,看數(shù)據(jù)的完整傳輸路徑:
1、事務(wù)層(SSD端):
SSD接收CPU的“讀數(shù)據(jù)請(qǐng)求”,事務(wù)層將“要讀取的文件數(shù)據(jù)”+“CPU的目標(biāo)內(nèi)存地址”+“讀指令”打包成TLP,傳給數(shù)據(jù)鏈路層。
2、數(shù)據(jù)鏈路層(SSD端):
給TLP添加“鏈路控制頭”和“CRC校驗(yàn)碼”,打包成DLLP,同時(shí)記錄“已發(fā)送的DLLP”(用于重傳),傳給物理層。
3、物理層(SSD端):
將DLLP的二進(jìn)制數(shù)據(jù)編碼成“高低電平信號(hào)”,通過(guò)PCIe x4通道(假設(shè)SSD用x4)的銅線傳輸?shù)街靼濉?/p>
4、物理層(主板/ CPU端):
接收電信號(hào),解碼成二進(jìn)制的DLLP,傳給數(shù)據(jù)鏈路層。
5、數(shù)據(jù)鏈路層(主板/ CPU端):
用CRC碼校驗(yàn)DLLP是否完好,若完好則回復(fù)“ACK”給SSD,同時(shí)去掉“鏈路控制頭和CRC碼”,還原出TLP,傳給事務(wù)層。
6、事務(wù)層(主板/ CPU端):
解析TLP中的“目標(biāo)內(nèi)存地址”和“數(shù)據(jù)”,將文件數(shù)據(jù)寫入CPU指定的內(nèi)存地址,完成一次數(shù)據(jù)傳輸。
5.PCIE的硬件測(cè)試
對(duì)于這些高速信號(hào),需要使用高速差分示波器進(jìn)行測(cè)試,常用的示波器廠家有kesight和泰克,建議選擇信號(hào)速率為2倍速率以上的儀器進(jìn)行測(cè)試,防止示波器帶寬不足,出現(xiàn)測(cè)試失真情況,影響對(duì)信號(hào)質(zhì)量的判定。測(cè)試眼圖如下圖所示,若測(cè)試信號(hào)眼圖質(zhì)量較差,可通過(guò)調(diào)節(jié)CPU或FPGA的PCIE相關(guān)參數(shù)(均衡、加重、擺幅等相關(guān)參數(shù))。若想了解均衡、加重、擺幅對(duì)眼圖的影響可查詢相關(guān)文章或測(cè)試說(shuō)明。

PCIe眼圖測(cè)試
-
交換機(jī)
+關(guān)注
關(guān)注
23文章
2937瀏覽量
104902 -
總線
+關(guān)注
關(guān)注
10文章
3061瀏覽量
91892 -
PCIe
+關(guān)注
關(guān)注
16文章
1483瀏覽量
88965
原文標(biāo)題:PCIe速率解析與硬件設(shè)計(jì)
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
硬件的單元測(cè)試:PCIe 3.0測(cè)試
PCIe 7.0最終版草案發(fā)布,傳輸速率128 GT/s,PCIe 6.0加速商業(yè)化
PCIe 8.0 規(guī)范公布:1TB/s 帶寬、256GT/s 速率
PCIe協(xié)議分析儀在數(shù)據(jù)中心中有何作用?
請(qǐng)問(wèn)GEN1 PCIE最高可配置2.5Gbps,這里說(shuō)的最高傳輸速率是根據(jù)PCIE的協(xié)議制定的嗎?
基于Xilinx XCKU115的半高PCIe x8 硬件加速卡解決方案
基于Xilinx XCKU115的半高PCIe x8硬件加速卡
XCKU115板卡資料:1-基于Xilinx XCKU115的半高PCIe x8 硬件加速卡
SIM7100-PCIE4G模塊PCIE封裝硬件資料
XILINX FPGA的硬件設(shè)計(jì)總結(jié)之PCIE硬件設(shè)計(jì)避坑指南
PCIe速率解析與硬件設(shè)計(jì)
評(píng)論