国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NVMe高速傳輸卻不用XDMA設計之1

高速傳輸與存儲 ? 來源:高速傳輸與存儲 ? 作者:高速傳輸與存儲 ? 2025-06-09 17:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

NVMe IP放棄XDMA原因

選用XDMA做NVMe IP的關鍵傳輸模塊,可以加速IP的設計,但是XDMA對于開發者來說,還是不方便,原因是它就象一個黑匣子,調試也非一番周折,尤其是后面PCIe4.0升級。因此決定直接采用PCIe設計,雖然要費一番周折,但是目前看,還是值得的,uvm驗證也更清晰。

PCIe 加速模塊設計

PCIe 加速模塊負責處理PCIe事務層,并將其與NVMe功能和AXI接口直接綁定。如圖1所示,PCIe加速模塊按照請求發起方分為請求模塊和應答模塊。請求模塊負責將內部請求事務轉換為配置管理接口信號或axis請求方請求接口信號(axis_rq),以及解析 axis 請求方完成接口信號(axis_rc);應答模塊負責接收axis完成方請求接口信號(axis_cq),將請求內容轉換為AXI4接口信號或其它內部信號做進一步處理,同時將應答事務通過axis完成方完成接口axis_cc)發送給PCIE集成塊.

wKgZPGgxkAWAGe2ZAACUFjGWWo0349.png

圖1 PCIe加速模塊結構和連接關系圖

PCIe 加速模塊不僅承擔了TLP與其它接口信號的轉換功能,也是降低傳輸延遲增加吞吐量的核心部件。接下來分別對請求模塊和應答模塊的結構設計進行具體分析。

PCIe 請求模塊設計

請求模塊的具體任務是將系統的請求轉換成為axis接口形式的TLP或配置管理接口信號。這些請求主要包含初始化配置請求和門鈴寫請求。初始化配置請求由初始化模塊發起,當配置請求的總線號為0時,請求通過Cfg_mgmt接口發送給PCIE集成塊;當配置請求的總線號不為0時,請求以PCIe配置請求TLP的格式從axis_rq接口發送到PCIE集成塊,然后由硬核驅動數據鏈路層和物理層通過PCIe接口發送給下游設備,下游設備的反饋通過axis_rc接口以Cpl或CplD的形式傳回。門鈴寫請求由NVMe控制模塊發起,請求以PCIe存儲器寫請求TLP的格式從axis_rq接口交由PCIE集成塊發送。

由于發起請求的模塊存在多個,并且在時間順序上初始化模塊先占用請求,NVMe控制模塊后占用請求,不會出現請求的競爭,因此設置一條內部請求總線用于發起請求和接收響應,該請求總線也作為請求模塊的上游接口。請求模塊的請求總線接口說明如表1所示。無論是配置請求還是門鈴寫請求,請求的數據長度都只有一個雙字,因此設置讀寫數據位寬均為32比特。

表1 請求總線接口

wKgZPGgxkCOABVxfAADP1j_0uk4920.png

在接收到請求總線接口的請求事務后,當請求類型的值為0時,表示通過PCIE集成塊的配置管理接口發送請求,由于請求接口的接口和時序與配置管理接口基本一致,因此此時直接將請求接口信號驅動到配置管理接口完成請求的發送,請求讀數據和響應也通過選通器連接到配置管理接口。當請求類型值不為0時,則需要將請求轉換為TLP以axis接口形式發送,這一過程通過請求狀態機實現,請求狀態機的狀態轉移圖如圖2所示。

wKgZPGgxkFaAbkXyAACO845bvXI893.png

圖2 PCIe請求狀態轉移圖

各狀態說明如下:

IDLE:空閑狀態,復位后的初始狀態。當請求寫有效或請求讀有效,且請求類型值不為0時,如果請求寫有效跳轉到WR_HEAD狀態,如果請求讀有效或讀寫同時有效跳轉到RD_HEAD狀態,否則保持IDLE狀態。實際的上層設計中讀寫請求不會同時發生,這里的狀態跳轉條件增加了讀優先設計,從而避免異常情況的出現。

WR_HEAD:請求寫TLP頭發送狀態。該狀態下根據請求類型、請求地址組裝寫請求的TLP報文頭部,并將報文頭部通過axis_rq接口發送。當axis_rq接口握手時跳轉到WR_DATA狀態。

WR_DATA:請求寫TLP數據發送狀態。該狀態下將請求寫的數據通過axis_rq接口發送,當axis_rq接口握手時跳轉到DONE狀態。

RD_HEAD:請求讀TLP頭發送狀態。該狀態下組裝讀請求TLP報頭通過axis_rq接口發送,當接口握手時跳轉到RD_DATA狀態。

RD_DATA:請求讀CplD接收狀態。該狀態下監測axis_rc接口信號,當出現數據傳輸有效時,啟動握手并接受數據,然后跳轉到DONE狀態。

DONE:請求完成狀態。該狀態下使能req_ack請求響應信號,如果是讀請求同時將RD_DATA狀態下接收的數據發送到req_rdata請求讀數據接口。一個時鐘周期后回到IDLE狀態。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    9454

    瀏覽量

    156322
  • 高速傳輸
    +關注

    關注

    0

    文章

    39

    瀏覽量

    9270
  • nvme
    +關注

    關注

    0

    文章

    289

    瀏覽量

    23741
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    NVMe IP高速傳輸卻不依賴便利的XDMA設計之一

    NVMe IP放棄XDMA原因 選用XDMANVMe IP的關鍵傳輸模塊,可以加速IP的設計,但是XD
    發表于 05-24 17:09

    NVMe IP高速傳輸卻不依賴便利的XDMA設計之二

    NVMe IP放棄XDMA原因 選用XDMANVMe IP的關鍵傳輸模塊,可以加速IP的設計,但是XD
    發表于 05-25 10:20

    NVMe IP高速傳輸卻不依賴便利的XDMA設計之三:系統架構

    請求數據傳輸, 數據傳輸通過 AXI4總線接口對接用戶邏輯, 使用突發傳輸提高數據傳輸性能。 圖1 Nv
    發表于 06-29 17:42

    NVMe IP高速傳輸卻不依賴XDMA設計五:DMA 控制單元設計

    DMA 控制單元負責控制 DMA 傳輸事務, 該單元承擔了 DMA 事務到 NVMe 事務的轉換任務, 使用戶對數據傳輸事務的控制更加簡單快捷。 DMA 控制功能由 DMA寄存器組實現。DMA
    發表于 07-02 19:45

    NVMe高速傳輸擺脫XDMA設計十:NVMe初始化狀態機設計

    1NVMe配置初始化狀態機狀態轉移圖。各狀態的說明如下: 圖1NVMe初始化狀態轉移圖 IDLE:空閑狀態,復位后的初始狀態。當檢測到初始化控制寄存器的NVMe初始化啟動信號時,進入
    發表于 07-05 22:03

    NVMe高速傳輸擺脫XDMA設計18:UVM驗證平臺

    NVMe over PCIe采用 AXI4-Lite 接口、AXI4 接口和 PCIe3.0X4 接口,其中AXI4-Lite 和 AXI4 總線接口均可抽象為總線事務,而 PCIe 接口信號可被
    發表于 07-31 16:39

    NVMe高速傳輸擺脫XDMA設計14: PCIe應答模塊設計

    應答模塊的具體任務是接收來自PCIe鏈路上的設備的TLP請求,并響應請求。由于基于PCIe協議的NVMe數據傳輸只使用PCIe協議的存儲器讀請求TLP和存儲器寫請求TLP,應答模塊也分別針對兩種
    發表于 08-04 16:44

    NVMe高速傳輸擺脫XDMA設計17:PCIe加速模塊設計

    PCIe加速模塊負責實現PCIe傳輸層任務的處理,同時與NVMe層進行任務交互。如圖1所示,PCIe加速模塊按照請求發起方分為請求模塊和應答模塊。請求模塊負責將內部請求事務轉化為配置管理接口信號或
    發表于 08-07 18:57

    NVMe高速傳輸擺脫XDMA設計20: PCIe應答模塊設計

    應答模塊的具體任務是接收來自PCIe鏈路上的設備的TLP請求,并響應請求。由于基于PCIe協議的NVMe數據傳輸只使用PCIe協議的存儲器讀請求TLP和存儲器寫請求TLP,應答模塊也分別針對兩種
    發表于 08-12 16:04

    NVMe高速傳輸擺脫XDMA設計30: NVMe 設備模型設計

    NVMe 設備模型一方面模擬 PCIe EP 設備功能, 另一方面模擬 NVMe 行為功能,實現 NVMe 協議事務的處理。 PCIe EP 設備具有 TYPE0 類型的配置空間, 要模擬NV
    發表于 09-29 09:31

    NVMe IP over PCIe 4.0:擺脫XDMA,實現超高速!

    基于NVMe加速引擎,它直接放棄XDMA,改為深度結合PCIe,通過高速傳輸機制開發。同時利用UVM驗證平臺驗證,有效提升工作效率。
    的頭像 發表于 04-16 14:57 ?834次閱讀
    <b class='flag-5'>NVMe</b> IP over PCIe 4.0:擺脫<b class='flag-5'>XDMA</b>,實現超<b class='flag-5'>高速</b>!

    NVMe IP高速傳輸卻不依賴XDMA設計五:DMA 控制單元設計

    DMA 控制單元負責控制 DMA 傳輸事務, 該單元承擔了 DMA 事務到 NVMe 事務的轉換任務, 使用戶對數據傳輸事務的控制更加簡單快捷。 DMA 控制功能由 DMA寄存器組實現。
    的頭像 發表于 07-02 19:47 ?1929次閱讀
    <b class='flag-5'>NVMe</b> IP<b class='flag-5'>高速</b><b class='flag-5'>傳輸</b><b class='flag-5'>卻不</b>依賴<b class='flag-5'>XDMA</b>設計<b class='flag-5'>之</b>五:DMA 控制單元設計

    NVMe IP高速傳輸卻不依賴XDMA設計八:系統初始化

    采用XDMA是許多人常用xilinx庫實現NVMe或其他傳輸的方法。但是,XDMA介紹較少,在高速存儲設計時,尤其是PCIe4.0模式下,較
    的頭像 發表于 07-26 15:14 ?675次閱讀
    <b class='flag-5'>NVMe</b> IP<b class='flag-5'>高速</b><b class='flag-5'>傳輸</b><b class='flag-5'>卻不</b>依賴<b class='flag-5'>XDMA</b>設計<b class='flag-5'>之</b>八:系統初始化

    NVMe IP高速傳輸卻不依賴XDMA設計九:隊列管理模塊(上)

    這是采用PCIe設計NVMe,并非調用XDMA方式,后者在PCIe4.0時不大方便,故團隊直接采用PCIe設計,結合UVM驗證加快設計速度。 隊列管理模塊采用隊列的存儲與控制分離的設計結構。
    的頭像 發表于 08-04 09:53 ?620次閱讀
    <b class='flag-5'>NVMe</b> IP<b class='flag-5'>高速</b><b class='flag-5'>傳輸</b><b class='flag-5'>卻不</b>依賴<b class='flag-5'>XDMA</b>設計<b class='flag-5'>之</b>九:隊列管理模塊(上)

    NVMe高速傳輸擺脫XDMA設計17:PCIe加速模塊設計

    PCIe加速模塊負責實現PCIe傳輸層任務的處理,同時與NVMe層進行任務交互。PCIe加速模塊按照請求發起方分為請求模塊和應答模塊。
    的頭像 發表于 08-09 14:38 ?4599次閱讀
    <b class='flag-5'>NVMe</b><b class='flag-5'>高速</b><b class='flag-5'>傳輸</b><b class='flag-5'>之</b>擺脫<b class='flag-5'>XDMA</b>設計17:PCIe加速模塊設計