Virtex6 PCIe 超簡版基礎概念學習(一)

2022-05-13 19:51:41 字數 1949 閱讀 5635

文件版本

開發工具

測試平台

工程名字

日期作者

備註v1.0

ise14.7

dbf板

day2/pcietest1

2016.03.31

lutianfei

none

菜鳥5小時速成fpga_pcie設計高手教程.pdf

v6_pcie_ug517.pdf

3 bar空間概述

4 事物處理層概述

2.2.1 配置空間暫存器說明

header type:有8位,其中 

subsystem idsubsystem vendor id:與device id 、vendor id功能類似,但是進一步細分了。 

interrupt pin:pci通過了4個中斷引腳inta#,intb#,intc#,intd#

status:絕大多數是唯讀位,儲存pci裝置的狀態。

2.2.2 pci匯流排配置概述2.3.1 bar空間與dma空間對映關係例子

tlp(transaction layer sepcification) 有三部分組成,幀頭資料摘要(或者稱 ecrc)。 tlp頭標3 或者 4 個 dw,格式和內容隨事物型別變化;資料端為 tlp 幀頭定義下的資料段,如果該 tlp 不攜帶資料,那該段為空。digest段( optional)是基於頭標、資料字段計算出來的 crc,成為 ecrc,一般 digest 段由ip 核填充。所以, pcie 的處理在使用者層表現為處理 tlp 中頭標資料段。 

2.4.1 儲存器讀、寫請求tlp包頭格式

** length: 1~1024dw,當值為**0:表示1024dw

dw be

requester id: 包含「生成這個tlp報文」的pcie裝置的匯流排號(bus number)裝置號(device number)功能號(function number)

tag:requester id、tag合起來組成transaction id,在同一時間段內,pcie裝置發出的每乙個non-posted資料請求tlp,其transaction id必須唯一。也就是tag必須唯一。

2.4.2 完成包報文頭格式

* byte0~3 與儲存器、配置請求報文對應字段含義一致。 

*completer id:該欄位存放「傳送完成報文」的pcie裝置的id號。 

*byte count記錄源裝置還需要從目標裝置中獲得多少位元組的資料就能完成全部資料傳遞。 

*lower address:接收端必須使用儲存器讀寫完成tlp的low address 字段,識別乙個tlp中包含資料的起始位址。

2.3.3 配置讀寫請求報文頭格式

2.4.4 訊息請求報文頭格式

intx 中斷訊息報文 

**:

Virtex6 PCIe 超簡版基礎概念學習(二)

文件版本 開發工具 測試平台 工程名字 日期作者 備註v1.0 ise14.7 dbf板 day4 pcietest 2016.03.31 lutianfei none spartan 6 pcie v2.4 真教程 二 菜鳥5小時速成fpga pcie設計高手教程.pdf ug671 v6 int...

Virtex6 PCIe 超簡版基礎概念學習(二)

分類 fpga pcie 2081 0 舉報 收藏 文件版本 開發工具 測試平台 工程名字 日期作者 備註v1.0 ise14.7 dbf板 day4 pcietest 2016.03.31 lutianfei none spartan 6 pcie v2.4 真教程 二 菜鳥5小時速成fpga p...

python6翻 6個超讚的Python小技巧

列表推導式 lambda表示式 對映函式 單行實現if elif和else條件判斷 拉鍊函式 1 字串操作 可以使用算數表示式來操作字串,例如 和 my string hi medium.print my string 2 hi medium.hi medium.print my string i ...