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

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