名称 | 输入 | 描述 | |
---|---|---|---|
TSK_TX_TYPE0_CONFIGURATION_READ |
tag_ reg_addr_ first_dw_be_ |
7:0 11:0 3:0 |
将“Type 0 PCI Express Config Read TLP”(类型 0 PCI Express 配置读取 TLP)从“Root Port Model”(根端口模型)发送到“Endpoint DUT”(端点 DUT)的 reg_addr(含 tag_ 和 first_dw_be_ 输入)。 从 Endpoint DUT 返回的 Cpld 使用全局 EP_BUS_DEV_FNS 的内容作为完成器 ID。 |
TSK_TX_TYPE1_CONFIGURATION_READ |
tag_ reg_addr_ first_dw_be_ |
7:0 11:0 3:0 |
将“Type 1 PCI Express Config Read TLP”(类型 1 PCI Express 配置读取 TLP)从“Root Port Model”发送到“Endpoint DUT”的 reg_addr_(含 tag_ 输入和 first_dw_be_ 输入)。 从 Endpoint DUT 返回的 CplD 使用全局 EP_BUS_DEV_FNS 的内容作为完成器 ID。 |
TSK_TX_TYPE0_CONFIGURATION_WRITE |
tag_ reg_addr_ reg_data_ first_dw_be_ |
7:0 11:0 31:0 3:0 |
将“Type 0 PCI Express Config Write TLP”(类型 0 PCI Express 配置写入 TLP)从“Root Port Model”发送到“Endpoint DUT”的 reg_addr_(含 tag_ 输入和 first_dw_be_ 输入)。 从 Endpoint DUT 返回的 Cpl 使用全局 EP_BUS_DEV_FNS 的内容作为完成器 ID。 |
TSK_TX_TYPE1_CONFIGURATION_WRITE |
tag_ reg_addr_ reg_data_ first_dw_be_ |
7:0 11:0 31:0 3:0 |
将“Type 1 PCI Express Config Write TLP”(类型 1 PCI Express 配置写入 TLP)从“Root Port Model”发送到“Endpoint DUT”的 reg_addr_(含 tag_ 输入和 first_dw_be_ 输入)。 从 Endpoint DUT 返回的 Cpl 使用全局 EP_BUS_DEV_FNS 的内容作为完成器 ID。 |
TSK_TX_MEMORY_READ_32 |
tag_ tc_ len_ addr_ last_dw_be_ first_dw_be_ |
7:0 2:0 10:0 31:0 3:0 3:0 |
将“PCI Express Memory Read TLP”(PCI Express 存储器读取 TLP)从“Root Port”(根端口)发送到“Endpoint DUT”的 32 位存储器地址 addr_。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 |
TSK_TX_MEMORY_READ_64 |
tag_ tc_ len_ addr_ last_dw_be_ first_dw_be_ |
7:0 2:0 10:0 63:0 3:0 3:0 |
将“PCI Express Memory Read TLP”从 Root Port Model 发送到 Endpoint DUT 的 64 位存储器地址 addr_。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 |
TSK_TX_MEMORY_WRITE_32 |
tag_ tc_ len_ addr_ last_dw_be_ first_dw_be_ ep_ |
7:0 2:0 10:0 31:0 3:0 3:0 - |
将“PCI Express Memory Write TLP”(PCI Express 存储器写入 TLP)从“Root Port Model”发送模型到“Endpoint DUT”的 32 位存储器地址 addr_。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 使用全局 DATA_STORE 字节阵列将写入数据传递到任务。 |
TSK_TX_MEMORY_WRITE_64 |
tag_ tc_ len_ addr_ last_dw_be_ first_dw_be_ ep_ |
7:0 2:0 10:0 63:0 3:0 3:0 - |
将“PCI Express Memory Write TLP”(PCI Express 存储器写入 TLP)从“Root Port Model”发送模型到“Endpoint DUT”的 64 位存储器地址 addr_。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 使用全局 DATA_STORE 字节阵列将写入数据传递到任务。 |
TSK_TX_COMPLETION |
req_id_ tag_ tc_ len_ byte_count_ lower_addr_ comp_status_ ep_ |
15:0 7:0 2:0 10:0 2:0 11:0 6:0 - |
将“PCI Express Completion TLP”(PCI Express 完成 TLP)从“Root Port Model”发送到“Endpoint DUT”,使用全局 RP_BUS_DEV_FNS 作为完成器 ID 并使用 req_id_ 输入作为请求器 ID。 comp_status_ 输入可设置为以下值之一: 3'b000 = 成功完成 3'b001 = 请求不受支持 3'b010 = 配置请求重试状态 3'b100 = 完成器异常中止 |
TSK_TX_COMPLETION_DATA |
req_id_ tag_ tc_ len_ byte_count_ lower_addr_ ram_ptr comp_status_ ep_ |
15:0 7:0 2:0 10:0 11:0 6:0 RP_BAR_ SIZE:0 2:0 - |
将“PCI Express Completion with Data TLP”(PCI Express 含数据完成 TLP)从“Root Port Model”发送到“Endpoint DUT”,使用全局 RP_BUS_DEV_FNS 作为完成器 ID 并使用 req_id_ 输入作为请求器 ID。 使用全局 DATA_STORE_2 字节阵列来将完成数据传递到任务,使用 ram_ptr 输入偏移此阵列中的起始字节。 |
TSK_TX_MESSAGE |
tag_ tc_ len_ data_ message_rtg_ message_code_ |
7:0 2:0 10:0 63:0 2:0 7:0 |
将“PCI Express Message TLP”(PCI Express 报文 TLP)从“Root Port Model”发送到“Endpoint DUT”。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 |
TSK_TX_MESSAGE_DATA |
tag_ tc_ len_ data_ message_rtg_ message_code_ |
7:0 2:0 10:0 63:0 2:0 7:0 |
将“PCI Express Message with Data TLP”(PCI Express 报文含数据 TLP)从“Root Port Model”发送到“Endpoint DUT”。 使用全局 DATA_STORE 字节阵列将报文数据传递到任务。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 |
TSK_TX_IO_READ |
tag_ addr_ first_dw_be_ |
7:0 31:0 3:0 |
将“PCI Express I/O Read TLP”(PCI Express I/O 读取 TLP)从“Root Port Model”发送到“Endpoint DUT”的 I/O 地址 addr_[31:2]。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 |
TSK_TX_IO_WRITE |
tag_ addr_ first_dw_be_ data |
7:0 31:0 3:0 31:0 |
将“PCI Express I/O Write TLP”(PCI Express I/O 写入 TLP)从“Root Port Model”发送到“Endpoint DUT”的 I/O 地址 addr_[31:2]。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 |
TSK_TX_BAR_READ |
bar_index byte_offset tag_ tc_ |
2:0 31:0 7:0 2:0 |
将 PCI Express one Dword Memory 32、Memory 64 或 I/O Read TLP 从 Root Port Model 发送到目标地址,此地址对应于来自 Endpoint DUT 的 BAR bar_index 的偏移 byte_offset。此任务会基于初始化期间 BAR bar_index 的配置方式来发送相应的 Read TLP。只有在成功完成 TSK_BAR_INIT 后才能调用此任务。 此请求使用全局 RP_BUS_DEV_FNS 的内容作为请求器 ID。 |
TSK_TX_BAR_WRITE |
bar_index byte_offset tag_ tc_ data_ |
2:0 31:0 7:0 2:0 31:0 |
将 PCI Express one Dword Memory 32、Memory 64 或 I/O Write TLP 从 Root Port 发送到目标地址,此地址对应于来自 Endpoint DUT 的 BAR bar_index 的偏移 byte_offset。 此任务会基于初始化期间 BAR bar_index 的配置方式来发送相应的 Write TLP。只有在成功完成 TSK_BAR_INIT 后才能调用此任务。 |
TSK_WAIT_FOR_READ_DATA | 无 |
等待端口 DUT 发送的下一个含数据完成 TLP。成功完成后,来自 CplD 的数据的第一个 Dword 将存储在全局 P_READ_DATA 中。在 TPI 中请求含数据完成 TLP 的任何读取任务完成后应立即调用此任务,以避免出现任何争用状况。 默认情况下,此任务会局部超时,并在经过 1000 个传输事务接口时钟后终止仿真。全局 cpld_to_finish 可设置为 0,以便局部超时向调用测试返回执行指令,并避免导致仿真超时。在本例中,测试程序应检查全局 cpld_to,后者设置为 1,表明此任务已超时并且 P_READ_DATA 的内容无效。 |
|
TSK_TX_SYNCHRONIZE |
first_ active_ last_call_ tready_sw_ |
- - - - |
等待 AXI4-Stream Requester Request(请求器请求)信号或 Completer Completion Interface Ready(完成器完成接口就绪)信号断言有效,并将 log 日志文件中的输出同步到当前有效的每个传输事务。 first_ 输入表示包起始。 active_ 输入表示当前正在执行传输事务。 last_call_ 输入表示包结束。 tready_sw 输入用于选择 Requester Request 信号或 Completer Completion Interface Ready 信号。 |
TSK_BUILD_RC_TO_PCIE_PKT |
rc_data_QW0 rc_data_QW1 m_axis_rc_tkeep m_axis_rc_tlast |
63:0 63:0 KEEP_ WIDTH-1:0 - |
将位于请求器完成接口的 AXI4-Stream 包从描述符包格式转换为 PCIe TLP 包格式,以便于记录到 log 日志中。 |
TSK_BUILD_CQ_TO_PCIE_PKT |
cq_data cq_be m_axis_cq_tdata |
63:0 7:0 63:0 |
将位于完成器请求接口的 AXI4-Stream 包从描述符包格式转换为 PCIe TLP 包格式,以便于记录到 log 日志中。 |
TSK_BUILD_CPLD_PKT |
cq_addr cq_be m_axis_cq_tdata |
63:0 15:0 63:0 |
针对从端口 DUT 接收到的存储器读取返回完成包或含数据完成包。使用完成器模型时,生成的完成包将根据“Root Port Model”中的“Max Payload Size”(最大有效载荷大小)和“Read Completion Boundary”(读取完成边界)规则进行拆分。含数据完成包使用全局 DATA_STORE_2 阵列中存储的数据。 |