“Root Port Model”(根端口模型)支持 2 类测试。
- 顺序测试
- 此类测试存在于单一进程内,其行为与顺序程序相似。测试程序:pio_writeReadBack_test0(详见本章后文)中所示测试即为顺序测试的示例。顺序测试适用于验证事件行为是否符合已知顺序。
- 并行测试
- 涉及多个进程线程的测试。sample_smoke_test1 测试即为含 2 个进程线程的并行测试示例。并行测试适用于验证一组特定事件是否已发生,但这些事件的顺序未知。
典型的并行测试采用 1 个命令线程加 1 个或多个预期线程的格式。这些线程协同工作以验证器件功能。命令线程的角色是创建必要的 TLP 传输事务,这些传输事务会导致器件接收并生成 TLP。预期线程的角色是验证是否接收到预期的 TLP。Root Port Model TPI 具有一整套预期任务,可配合并行测试来使用。
由于设计示例是以目标为唯一导向的器件,并行测试程序使用 PIO 设计时只能预期收到完成 TLP。但预期任务的整个库在配合客户设计(可包含总线主控功能)使用时即可用于预期接收任何类型的 TLP。