大俠好,歡迎來(lái)到FPGA技術(shù)江湖,江湖偌大,相見(jiàn)即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。
今天給大俠帶來(lái)PCI-Express transaction Layer specification(處理層協(xié)議),本次PCIE TLP 學(xué)習(xí)經(jīng)驗(yàn)分享分為三篇,今天帶來(lái)第二篇,
i/o,memory,configuration,message request、completetion(Memory Request Package、I/O Request 包、Configuration Request包、Message、Completion Rules(應(yīng)答機(jī)制)),話不多說(shuō),上貨。
三、I/O,Memory,Configuration,Message Request、Completetion
memory、i/o、configuration request包頭除了基本的域之外還包括:Transaction ID即requester ID、Tag、Last DW BE、1st DW BE,放在第二個(gè)DW中。以下分別介紹這三種不同的請(qǐng)求包。
1. Memory Request Package
采用直接地址尋址,有64bit地址和32bit地址兩種,其中讀請(qǐng)求包的Length域不應(yīng)大于Max_Read_Request_Size寄存器設(shè)置的值。請(qǐng)求器件不會(huì)示例一個(gè)所訪問(wèn)的memory空間超過(guò)4KB的read request包。以下是兩種不同地址長(zhǎng)度的memory request 包。
64位地址的包格式
32位地址的包格式
2. I/O Request 包
I/O request 包只有32位地址尋址。有如下限制:
- TC[2:0] must be 000bAttr[1:0] must be 00bAT[1:0] must be 00bLength[9:0] must be 00 0000 0001bLast DW BE[3:0] must be 0000b
格式如下:
可見(jiàn)每次只傳送一個(gè)DW數(shù)據(jù)。
3. Configuration Request包
configuration request包采用ID尋址方式,包頭(Tlp Header長(zhǎng)度是3DW)。有如下規(guī)定:
- TC[2:0] must be 000bAttr[1:0] must be 00bAT[1:0] must be 00b[9:0] must be 00 0000 0001bLast DW BE[3:0] must be 0000b
包格式:
4.?Message 包
Message包分為:
- INTx Interrupt Signaling?INTx中斷信息包Power Management 電源管理機(jī)能。Error Signaling錯(cuò)誤信息包Locked Transaction Support?鎖住交易的支持Slot Power Limit Support插槽電源限制的支持Vendor-Defined Messages制造商自行定義信息
所有的Message包都用Msg編碼,即不包括數(shù)據(jù)負(fù)荷的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包不需要返回響應(yīng)包。Message Requests follow the same ordering rules as Memory Write Requests。
尋址方式:隱含尋址,由Type域中的r[2:0]決定,即Type域的最后三位。具體尋址映射如下:
r[2:0]是010時(shí),尋址方式就是ID尋址。
5. Completion Rules(應(yīng)答機(jī)制)
completion包用ID尋址方式,尋址使用的ID就是request提供的requester ID。除了那些正常的域以外,還包括:
- Completer ID[15:0] – Identifies the Completer – described in detail belowCompletion Status[2:0] – Indicates the status for a CompletionBCM – Byte Count ModifiedByte Count[11:0] – The remaining byte count for RequestTag[7:0] – in combination with the Requester ID field, corresponds to the Transaction IDLower Address[6:0] – lower byte address for starting byte of Completion
compl.Status位有如下含義:
第二篇就到這里,明天開(kāi)啟第三篇,將會(huì)帶來(lái)請(qǐng)求和應(yīng)答處理機(jī)制(Request Handling Rules、Completion Handling)、virtual channel(vc)Mechanism虛擬通道機(jī)制(TC/VC映射、Flow Control)、Data Integrity數(shù)據(jù)完整性等詳解,愿大俠持續(xù)關(guān)注,一切安好,告辭。