PCI-E TLP学习笔记(2)

描述

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。  

今天给大侠带来PCI-Express transaction Layer specification(处理层协议),本次PCIE TLP 学习经验分享分为三篇,今天带来第二篇,i/o,memory,configuration,message request、completetion(Memory Request Package、I/O Request 包、Configuration Request包、Message、Completion Rules(应答机制)),话不多说,上货。  

三、I/O,Memory,Configuration,Message Request、Completetion

memory、i/o、configuration request包头除了基本的域之外还包括:Transaction ID即requester ID、Tag、Last DW BE、1st DW BE,放在第二个DW中。以下分别介绍这三种不同的请求包。

1. Memory Request Package

采用直接地址寻址,有64bit地址和32bit地址两种,其中读请求包的Length域不应大于Max_Read_Request_Size寄存器设置的值。请求器件不会示例一个所访问的memory空间超过4KB的read request包。以下是两种不同地址长度的memory request 包。

FPGA

64位地址的包格式  

FPGA

32位地址的包格式  

2. I/O Request 包

I/O request 包只有32位地址寻址。有如下限制:

TC[2:0] must be 000b

Attr[1:0] must be 00b

AT[1:0] must be 00b

Length[9:0] must be 00 0000 0001b

Last DW BE[3:0] must be 0000b

格式如下:

FPGA

可见每次只传送一个DW数据。

3. Configuration Request包

configuration request包采用ID寻址方式,包头(Tlp Header长度是3DW)。有如下规定:

TC[2:0] must be 000b

Attr[1:0] must be 00b

AT[1:0] must be 00b

[9:0] must be 00 0000 0001b

Last DW BE[3:0] must be 0000b

包格式:

FPGA

4. Message 包

Message包分为:

INTx Interrupt Signaling INTx中断信息包

Power Management 电源管理机能。

Error Signaling错误信息包

Locked Transaction Support 锁住交易的支持

Slot Power Limit Support插槽电源限制的支持

Vendor-Defined Messages制造商自行定义信息

所有的Message包都用Msg编码,即不包括数据负荷的Message包,除了Vendor_Defined Messages和Set_Slot_Power_Limit Message包,Message包有以下限制:

The Message Code field must be fully decoded (Message aliasing is not permitted).

Except as noted, the Attr[1:0] field is reserved.保留Attr域。

AT[1:0] must be 00b.

Except as noted, bytes 8 through 15 are reserved.保留包头部分的bytes8到byte15.

Message Requests are posted and do not require Completion。Message包不需要返回响应包。

Message Requests follow the same ordering rules as Memory Write Requests。

FPGA

寻址方式:隐含寻址,由Type域中的r[2:0]决定,即Type域的最后三位。具体寻址映射如下:

FPGA

r[2:0]是010时,寻址方式就是ID寻址。

5. Completion Rules(应答机制)

completion包用ID寻址方式,寻址使用的ID就是request提供的requester ID。除了那些正常的域以外,还包括:

Completer ID[15:0] – Identifies the Completer – described in detail below

Completion Status[2:0] – Indicates the status for a Completion

BCM – Byte Count Modified

Byte Count[11:0] – The remaining byte count for Request

Tag[7:0] – in combination with the Requester ID field, corresponds to the Transaction ID

Lower Address[6:0] – lower byte address for starting byte of Completion

FPGA

compl.Status位有如下含义:

FPGA

第二篇就到这里,明天开启第三篇,将会带来请求和应答处理机制(Request Handling Rules、Completion Handling)、virtual channel(vc)Mechanism虚拟通道机制(TC/VC映射、Flow Control)、Data Integrity数据完整性等详解,愿大侠持续关注,一切安好,告辞。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分