因为对Data Link Feature相关测试没有项目实际测试经验,所以研究了一下Test Spec,想从中学习一下
CaseA:
transmits no DLLPs
CaseB:
DL_Feature DLLP transmitted
CaseC:
InitFC1 DLLP transmitted
测试目的:These tests verify that the DUT will correctly handle the Data Link Feature exchange protocol
测试通过思路:
1、对端DL link up后发送 Data Link Feature Exchange DLLP,要回复The Feature Ack bit of these transmitted DLLPs contains zero,一直等到对方回Data Link Feature Exchange DLLP with the Feature Ack bit reporting 1;自己再回复Data Link Feature Exchange DLLP with the Feature Ack bit reporting 1,双方协商好了,开始initFC1,然后initFC2直到进入L0
2、对端DL link up后发送initFC1 DLLP,要回复initFC1 DLLP,随后协商至initFC2直到进入L0
扩展测试思路:
3.3 Data Link Feature Exchange
Ports that implement this protocol contain the Data Link Feature
Extended Capability (see Section 7.7.4 ). This capability contains four fields:
• The Local Data Link Feature Supported field indicates the Data Link Features supported by the local Port
• The Remote Data Link Feature Supported field indicates the Data Link Features supported by the remote Port
• The Remote Data Link Feature Supported Valid bit indicates that the Remote Data Link Feature Supported field
contains valid data
• The Data Link Feature Exchange Enable field permits systems to disable the Data Link Feature Exchange. This
can be used to work around legacy hardware that does not correctly ignore the DLLP.
能够测试的点除了Test 68-10 Data Link Feature Packet中能不能回复对应的DLLP,还可以1)测试Scaled Flow Control 0/1 之后,initFC(scaled factor配置)进入L0之后,流控更新是否符合预期2)Data Link Feature Capabilities Register bit31 变化是否符合预期
感觉自己想的这两点都没什么内涵,不知道Data Link Feature还有哪些点可以测试???
references:
1、PCI Express Architecture Link Layer and Transaction Layer Test Specification
Revision 4.0, Version 1.0
2、PCI Express® Base Specification Revision 5.0 Version 1.0 22 May 2019