在接收到請求總線接口的請求事務后,當請求類型的值為0時,表示通過PCIE硬核的配置管理接口發(fā)送請求,由于請求接口的接口和時序與配置管理接口基本一致,因此此時直接將請求接口信號驅動到配置管理接口完成請求的發(fā)送,請求讀數(shù)據(jù)和響應也通過選通器連接到配置管理接口。當請求類型值不為0時,則需要將請求轉換為TLP以axis接口形式發(fā)送,這一過程通過請求狀態(tài)機實現(xiàn),請求狀態(tài)機的狀態(tài)轉移圖如圖1所示。各狀態(tài)說明如下:

PCIe請求狀態(tài)轉移圖
IDLE:空閑狀態(tài),復位后的初始狀態(tài)。當請求寫有效或請求讀有效,且請求類型值不為0時,如果請求寫有效跳轉到WR_HEAD狀態(tài),如果請求讀有效或讀寫同時有效跳轉到RD_HEAD狀態(tài),否則保持IDLE狀態(tài)。實際的上層設計中讀寫請求不會同時發(fā)生,這里的狀態(tài)跳轉條件增加了讀優(yōu)先設計,從而避免異常情況的出現(xiàn)。
WR_HEAD:請求寫TLP頭發(fā)送狀態(tài)。該狀態(tài)下根據(jù)請求類型、請求地址組裝寫請求的TLP報頭,并將報頭通過axis_rq接口發(fā)送。當axis_rq接口握手時跳轉到WR_DATA狀態(tài)。
WR_DATA:請求寫TLP數(shù)據(jù)發(fā)送狀態(tài)。該狀態(tài)下將請求寫的數(shù)據(jù)通過axis_rq接口發(fā)送,當axis_rq接口握手時跳轉到DONE狀態(tài)。
RD_HEAD:請求讀TLP頭發(fā)送狀態(tài)。該狀態(tài)下組裝讀請求TLP報頭通過axis_rq接口發(fā)送,當接口握手時跳轉到RD_DATA狀態(tài)。
RD_DATA:請求讀CPLD接收狀態(tài)。該狀態(tài)下監(jiān)測axis_rc接口信號,當出現(xiàn)數(shù)據(jù)傳輸有效時,啟動握手并接受數(shù)據(jù),然后跳轉到DONE狀態(tài)。
DONE:請求完成狀態(tài)。該狀態(tài)下使能req_ack請求響應信號,如果是讀請求同時將RD_DATA狀態(tài)下接收的數(shù)據(jù)發(fā)送到req_rdata請求讀數(shù)據(jù)接口。一個時鐘周期后回到IDLE狀態(tài)。
B站已給出相關性能的視頻,如想進一步了解,請搜索B站用戶:專注與守望
鏈接:https://space.bilibili.com/585132944/dynamic?spm_id_from=333.1365.list.card_title.click
審核編輯 黃宇
-
PCIe
+關注
關注
16文章
1461瀏覽量
88422 -
nvme
+關注
關注
0文章
299瀏覽量
23842
發(fā)布評論請先 登錄
NVMe高速傳輸之擺脫XDMA設計20: PCIe應答模塊設計
NVMe高速傳輸之擺脫XDMA設計19:PCIe請求模塊設計(下)
NVMe高速傳輸之擺脫XDMA設計18:PCIe請求模塊設計(上)
NVMe高速傳輸之擺脫XDMA設計18:PCIe請求模塊設計(上)
NVMe高速傳輸之擺脫XDMA設計17:PCIe加速模塊設計
NVMe高速傳輸之擺脫XDMA設計14: PCIe應答模塊設計
NVMe高速傳輸之擺脫XDMA設計13:PCIe請求模塊設計(下)
NVMe高速傳輸之擺脫XDMA設計之12:PCIe請求模塊設計(上)
NVMe IP高速傳輸卻不依賴XDMA設計之八:系統(tǒng)初始化
NVMe IP over PCIe 4.0:擺脫XDMA,實現(xiàn)超高速!
NVMe高速傳輸之擺脫XDMA設計19:PCIe請求模塊設計(下)
評論