PCIE协议解析 synopsys IP Receive TLP Processing 读书笔记(4)
2015-08-27 16:10
639 查看
4.1 Receive TLP Processing
4.1.1 Receive Filtering
Filter module 主要完成以下几个任务:Ø 制定TLP过滤的规则
Ø 通过filtering status决定接收的TLP的去向
Ø 指示输出的TLP的状态
Ø 基于filter的结果向AER register 报告错误,当有多个类型的错误被检测到时,Section 6.2.3.2.3, “Error Pollution”, of the
PCI ExpressBase 3.1 Specification, revision 1.0 is followed.
Core 对TLP的filter和route的规则由两个方面决定,一个是PCI Express Base 3.1Specification, revision 1.0的规定,另一方面是用户的filtering的配置选项。(目前不清楚该配置选项是否需要配置)。Filtering 的rules 受configuration 的parameter、IO signal、register values影响。
以下是对所有输入的TLP的普遍规则,而对于malformed的TLP,可以参见see
“ErrorDetection for Received TLPs” on page 77.默认情况下规则如下:
Ø 在device power state D1、D2和D3hot阶段(什么是D1/2/3??),内核值接收CFG和MSG的请求TLP,而对与其他的TLP将被以unsupported request(UR)处理。
Ø 当core在接收的TLP包中检测到error,处理流程如下:
l 丢弃该TLP
l 生成一个completion,该报文的状态为CA(????)或者UR(unsupported requests)。
l 置位PCI-compatible Status register
l 置位AER registers,如果AER寄存器被使能
l 生成一个error的message,(只存在upstream的接口中)
所有的正常的MSG request将会在core内部完成解析,并通过SIIinterface通知用户,然后被丢弃。当你想要将被内部解析的MSG发送到应用的接口上,可以参考see
“Routing of Received Messages” on page
126.
4.1.2 Receive Routing
Routing的功能将不同类型的TLP发送给不同的接口,而当系统中接入了AHB/AXI桥,TRGT1将会被AHB/AXI替代,TRGT0接口面向内部的CDM寄存器或者ELBI接口。EPMode Routing Overview
在endpoint模式下,TLP的能够到达的destination有3种情况:TRGT1、TRGT0或者丢弃。Ø CFG会被发送到TRGT0接口上,并通过LBC进入CDM
Ø BAR-Mathced MEM 和IO request 将会通过TRGT1接口给到用户的应用程序。
Ø MSG
的request将在内部被解析,通过SIIinterface通知。
RC Mode Routing Overview
而在RC模式下,TLP的destination只有两种情况:TRGT1和丢弃,而在RC模式下,CDM是不允许EP访问的。Ø MEM requests outside ofthe memory range and prefetchable memory range as determined by the
corresponding Base and Limit fields in theType-1 header are routed to TRGT1.(目前不理解??)
Ø MSG 的request将在内部被解析,通过SIIinterface通知。
Ø RC模式不接收CFG和IOrequest
Ø BAR(BaseAddress Register)也会被disable
4.1.3 Error Handling
错误处理机制可以参考PCI Express Base 3.1 Specification,revision 1.0.Ø 当core在接收的TLP包中检测到error,处理流程如下:
l 丢弃该TLP
l 生成一个completion,该报文的状态为CA(????)或者UR(unsupported requests)。
l 置位PCI-compatible Statusregister
l 置位AER registers,如果AER寄存器被使能
生成一个error的message,(只存在upstream的接口中)
相关文章推荐
- Centos系统更改 yum源为163
- Linux安装软件总结 (一.安装方法介绍)
- devstack nova-docker local.conf
- nginx error_log 日志配置
- shell 语句的应用
- Linux netlink机制及示例
- cdlinux u盘启动怎么制作教程
- linux的基础命令
- PCIE协议解析 synopsys IP Core operation 读书笔记(3)
- Eclipse下Tomcat插件的安装
- Windows Server2016上Docker Engine技术预览版介绍
- WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
- 使用bash将csv文件数据读写到MySQL数据库的脚本之一
- linux常用命令(7):mv命令
- OpenVAS漏洞扫描基础教程之创建用户
- linux下源代码分析和阅读工具比较
- Linux系统——C/C++开发工具及环境搭建
- linux tr命令详解
- linux 常用命令
- 命令__cp、scp(Secure Copy)