PCIE协议解析 synopsys IP Core 读书笔记(2)
来源:互联网 发布:手机二次元壁纸软件 编辑:程序博客网 时间:2024/05/17 21:56
1 Overview
图1
如上图为整个PCIE的框架,在C1中PIPE-CompliantPHY部分的SERDES模块,DWC PCIe Core为synopsys提供的IP,而黄色部分为用户需要完成的部分,主要包括参数的配置和数据的发送和接收。
2 Architecture
图2
该IP包含4个重要的模块,CXPL、RADM、XADM、CDM。
Ø Common ExpressPort Logic (CXPL) Module:
整个协议的核心部分,包含了物理层、数据链路层的全部功能、同时包含了传输层大部分的功能。其中包含了一个重要的缩写,LTSSM(link training and statues state machine),在后面的文档中将重复出现,link training的目的在于完成链路的链接。
Ø TransmitApplication-Dependent Module (XADM):
面向数据包发送的应用模块,主要包括以下3个功能:
l TLP(Transaction Layer Packet)arbitration
l TLP formation
l Flow control creditchecking
该模块内部为直接转发的结构,除了重发的缓存区外,内部没有发送的缓存区。
Ø ReceiveApplication-Dependent Module (RADM):
面向数据包接收的应用模块,主要包括以下3个功能:
l Sorting/filtering of received TLPs. The filtering rules and routing areconfigurable.
l Buffering and queuing ofthe received TLPs.
l Routing of received TLPto the core’s receive interfaces.
Ø Configuration-DependentModule (CDM):
功能:
l Standard PCI Express configuration space
l Core-specific register space (Port Logic Registers)
其他相关的模块:
Ø Power ManagementController (PMC)
Ø Local BusController (LBC) and Data Bus Interface (DBI)
The LBC module providesa mechanism for a link partner (in EP mode only) or a local CPU (through
the DBI) to access:
l Internal registers (in the CDM)
l External applicationregisters connected externally to the ELBI
Ø MessageGeneration Module (MSG_GEN)
Ø Hot Plug ControlModule (HOT PLUG)
如图3所示,可以非常清晰的看到内部各个模块间的关系,而作为用户,不需要与CXPL直接做数据交互,而需要关心的内容主要是与RADM、LBC、CDM、XADM、MSG_GEN、PMC的数据交换,以及与之交互的一大堆的接口。下面从图中的上往下介绍各个接口的作用和意义。
■“Receive Bypass Interface (RBYP)” on page 233
■“Receive Request Interface (TRGT1)” on page 234
■“Data Bus Interface (DBI)”on page 240
■ “External Local Bus Interface (ELBI)” on page 238
■ “Message Signaled Interrupt (MSI) Interface”on page242
■ “MSI-X Interface” on page 243
■ “Transmit Interfaces (XALI0/1/2)” on page 22
■ “Vendor Message Interface (VMI)” on page 247
■ “System Information Interface (SII)” on page 248
作为用户,我认为需要知道以上各个接口的作用和用法,并且知道每个接口需要在整个传输中扮演的角色,而在IP生成后,也许部分接口用户不需要知道,但是在C1 bring up阶段,每个接口的具体作用应该都是必须要明白的。
图3
3 Core operation
3.1 Initialization
1、 先disable link training
2、 通过DBI(data bus interface)配置core的stickyregisters,需要配置什么目前不知道??????
3、 Enable link training
4、 等待link完成。
5、 root Complex枚举Downstream Device(什么是Downstreamdevice????)
Ø 读取 Downstream device的配置空间
Ø 配置device的capabilites(具体配置什么???)
Ø 配置switch ports(???) 的base和limit寄存器,以反映devices enumerated downstream的BAR(Base Address Register)的范围。
Ø 配置endpoint的BAR。
(该部分是用户完成,还是IP自动完成????????)
6、 使能BME、MSE、ISE。
7、 开始传输数据。
- PCIE协议解析 synopsys IP Core 读书笔记(2)
- PCIE协议解析 synopsys IP Core operation 读书笔记(3)
- PCIE协议解析 synopsys IP loopback 读书笔记(1)
- PCIE协议解析 synopsys IP MSI Capability 读书笔记(11)
- PCIE协议解析 synopsys IP Receive TLP Processing 读书笔记(4)
- PCIE协议解析 synopsys IP DBI and LBC 读书笔记(5)
- PCIE协议解析 synopsys IP DBI and LBC 读书笔记(6)
- PCIE协议解析 synopsys IP Register配置空间 读书笔记(7)
- PCIE协议解析 synopsys IP Register配置空间 读书笔记(8)
- PCIE协议解析 synopsys IP Configuration Space Header 读书笔记(9)
- PCIE协议解析 synopsys IP Power Management Capability 读书笔记(10)
- PCIE协议解析 synopsys IP MSI-X Capability 读书笔记(12)
- PCIE协议解析 synopsys IP PCI Express Capability 读书笔记(13)
- PCIE协议解析 synopsys IP 基本配置空间总结 读书笔记(14)
- TCP/IP详解读书笔记(第四章 ARP:地址解析协议)
- (四)IP协议--图解TCP/IP读书笔记
- (五)IP协议相关技术--图解TCP/IP读书笔记
- (七)路由协议-TCP/IP--图解TCP/IP读书笔记
- java多线程之join()方法
- tenp
- 2952 Counting Sheep【dfs】
- 更改Ubuntu系统时间命令
- 2015.8.27 学习日记
- PCIE协议解析 synopsys IP Core 读书笔记(2)
- json格式字符串转集合
- TFS客户端接口详解JAVA版本
- vijos - P1456最小总代价 (状态压缩DP + 记忆化搜索)
- Memset()函数综合分析
- BZOJ1057
- HDU 5353
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- C# List排序