130、 PCIE调试笔记:ARI这个“小开关”惹出的麻烦

📅 2026/6/25 19:54:39
130、 PCIE调试笔记:ARI这个“小开关”惹出的麻烦
130、 PCIE调试笔记:ARI这个“小开关”惹出的麻烦上周调一块定制PCIE板卡,链路训练正常,但枚举时设备ID死活对不上。抓包发现Type 0配置空间头部的Device ID字段被写入了奇怪的值,而Function Number却显示为0xFF。团队里新人嘀咕:“这FPGA实现的Endpoint是不是把配置空间写飞了?”老手一看就笑了:“把ARI Capability打开试试。”ARI到底是什么来头?传统PCIE设备里,每个Physical Function最多带8个Logical Function(LF),用3-bit的Function Number区分。ARI(Alternative Routing-ID Interpretation)直接把Function Number字段扩展到8-bit,一个Physical Function就能直接带256个Logical Function,省去了那套复杂的Bus/Device/Function三级寻址。// 传统路由ID格式(Bus:Device:Function)// [15:8] Bus Number | [7:3] Device Number | [2:0] Function Number// ARI路由ID格式