AXI从设备接口,可以实现EP应用,即作为PCIe总线主设备通过PCIe总线向主机发起PCIe事务。
- 实现RP应用时,AXI从设备接口可以用于发起I/O、配置CFG和延迟内存写DMWr请求。
- 实现EP应用时,该接口连接的客户逻辑(外设)必须具有PCIe总线主设备能力。
- 在RP和EP应用中,该接口都能向PCIe总线发送消息。
AXI从设备接口向PCIe总线发送一次事务请求。AXI读写访问,通过区间或边带描述符两种方式,被转换成无确认或有确认的读写请求的TLP。
- 无确认的逻辑产生的内存写和消息请求,映射到无确认HLS发送接口。
- 有确认写逻辑产生的配置写、IO写、原子操作、延迟内存写请求,映射到有确认HLS发送接口。
- 确认读逻辑产生的内存读、配置读、IO读请求,映射到有确认的HLS发送接口。
延迟内存写DMWr
DMWr是一种第三类的扩展能力ECN。延迟写是一种具有格式/类型编码的有确认写请求。请求发起方需要等待请求完成方返回完成状态。请求完成方要能接收该请求,或(暂时)拒绝该请求并在后面请求重试。请求发起方希望DMWr具有事务性(原子性)。
针对有确认事务的标签管理
AXI从设备接口要维护来自设备客户端的、所有未完成的有确认事务状态,包括内存读、IO读写、配置读写和DMWr。每一个未完成的有确认事务状态记录在AXI从设备接口完成LUT中,有最大容量上限。标签管理针对每一个有确认请求寄存器,在有确认PCIe请求中设置初始标签的范围和偏移。每个初始标签对应唯一未完成有确认请求。请求完成者返回的完成数据包时,进行标签匹配。AXI从设备接口完成LUT维护了一组空闲标签,当外设逻辑启动一次有确认事务时,就分配一个标签给一个请求。
AXI从设备访问
静态方式:基于范围
这种方式仅仅适用于TLP类型读写,并且是通过PCIe向outbound方向发送一个预编程TLP信息。范围内的TLP信息是通过APB总线预编程设定的。
范围可以有多个,每个范围都有一组可操作的寄存器。outbound访问考虑
- 范围设定
- 范围访问
寄存器 | 说明 |
地址翻译寄存器 | 用于将AXI地址翻译为PCI地址 |
TLP描述符寄存器 | 设置outbound方向的TLP信息 |
基地址寄存器 | AXI基地址和长度,用于匹配来自AXI总线地址 |
动态方式:基于边带描述符(略)