欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于AMD FPGA的PCIE DMA邏輯實現(xiàn)

Comtech FPGA ? 來源:Comtech FPGA ? 2023-06-09 09:34 ? 次閱讀

一、AMD FPGA PCIE IP介紹

AMD FPGA自帶PCIE硬核,實現(xiàn)了PCIE協(xié)議,把串行數(shù)據(jù)轉(zhuǎn)換為并行的用戶數(shù)據(jù),以UltraScale系列FPGA為例,其支持Gen1.02.03.04.0,1~16 Lanes,如下圖所示:

b6df2f10-05ee-11ee-962d-dac502259ad0.png

另外當(dāng)前最新7nm系列器件Versal ACAP可支持到PCIE Gen5.0,單個Lane可達(dá)32G的線速率,如下圖所示:

b6f2ca66-05ee-11ee-962d-dac502259ad0.png

1.1 PCIE IP功能介紹

用戶接口采用AXI接口實現(xiàn)PCIE TLP報文收發(fā),從而完成PCIE傳輸事務(wù)的收發(fā),最終實現(xiàn)PCIE的各種數(shù)據(jù)傳輸模式,系統(tǒng)架構(gòu)如下圖所示:

b717ddb0-05ee-11ee-962d-dac502259ad0.png

圖左側(cè)為FPGA PCIE IP,實現(xiàn)了PCIE協(xié)議,其與用戶邏輯的數(shù)據(jù)交互主要通過AXI CQ,CC,RQ,RC四個接口,可以實現(xiàn)PCIE上行和下行的數(shù)據(jù)傳輸。

1.2 PCIE協(xié)議TLP報文介紹

使用PCIE IP用戶需要了解PCIE協(xié)議,至少了解TLP報文的構(gòu)造,如下圖所示為32位地址寫請求TLP報文:

b7379aec-05ee-11ee-962d-dac502259ad0.png

R:保留位,一般填0;

Fmt:報文長度類型,指示當(dāng)前TLP報文是3DW長度還是4DW長度(此處主要是跟地址位寬相關(guān),PCIE協(xié)議可支持32位地址和64位地址);

Type:包類型,指示包括Mrd(讀數(shù)據(jù))、Mwr(寫數(shù)據(jù))、Cfg(配置PCIe)、Msg(消息事務(wù))、Cpl(讀地址數(shù)據(jù)請求后返回的數(shù)據(jù)包);

TC:傳輸優(yōu)先級,數(shù)值越大表示優(yōu)先級越高;

Attr:包屬性,指示當(dāng)前包是順序或者是亂序,cache一致性等;

TH:PCIe V2.1 總線規(guī)范引入的一個重要功能。TLP 的發(fā)送端可以使用 TPH 信息,通知接收端即將訪問數(shù)據(jù)的特性,以便接收端合理地預(yù)讀和管理數(shù)據(jù),一般很少應(yīng)用;

TD:指示接收端是否需要做ECRC校驗;

EP:指示當(dāng)前TLP包的有效性;

AT:地址種類,與 PCIe 總線的地址轉(zhuǎn)換相關(guān);

Length:指示TLP長度;

Requester ID:請求者ID,包括PCIe設(shè)備的總線號(Bus Number)、設(shè)備號(Device Number)和功能號(Function Number),通過該ID可以找到對應(yīng)的目標(biāo)設(shè)備;

Tag:數(shù)據(jù)包標(biāo)簽,可以指示當(dāng)前TLP數(shù)據(jù)包是屬于哪一組數(shù)據(jù)中分拆的數(shù)據(jù)塊;

Last DW BE:指示最后一個DW中有效的字節(jié),主要是針對在傳輸數(shù)據(jù)粒度比較小的情況,比如最小粒度為1字節(jié);

1st DW BE:指示第一個DW中有效的字節(jié)。

1.3 PCIE IP邏輯設(shè)計

用戶在實現(xiàn)PCIE數(shù)據(jù)傳輸功能時可通過上圖中AXI CQ,CC,RQ,RC四個接口來完成各種PCIE事務(wù)的數(shù)據(jù)收發(fā):

RQ:請求者請求接口,通常是主機(jī)向終端設(shè)備發(fā)送數(shù)據(jù)傳輸請求;

RC:請求者完成接口,通常是終端設(shè)備向主機(jī)發(fā)送需要的返回數(shù)據(jù);

CQ:完成者請求接口,通常是終端設(shè)備向主機(jī)發(fā)送數(shù)據(jù)傳輸請求;

CC:完成者完成接口,通常是主機(jī)向終端設(shè)備發(fā)送需要的返回數(shù)據(jù);

用戶需要通過這4個接口構(gòu)造TLP報文可以實現(xiàn)從主機(jī)到終端或者終端到主機(jī)的訪問請求和相應(yīng)的數(shù)據(jù)傳輸,下面是主機(jī)向終端發(fā)起寫數(shù)據(jù)請求的時序:

b7580afc-05ee-11ee-962d-dac502259ad0.png

用戶在邏輯設(shè)計時可以先通過右鍵IP生成一個example工程,工程里面就有構(gòu)造TLP報文的代碼,用戶可以在這個工程代碼上修改TLP報文的相關(guān)數(shù)據(jù)來實現(xiàn)具體的數(shù)據(jù)傳輸需求。

二、AMD PCIE DMA功能實現(xiàn)

AMD PCIE DMA功能主要是通過XDMAIP來實現(xiàn),其作用本質(zhì)上是通過這幾個接口實現(xiàn)PCIE DMA傳輸流程,用戶不需要關(guān)注PCIE TLP報文的構(gòu)造細(xì)節(jié),只需要通過XDMA的AXI接口完成數(shù)據(jù)傳輸即可,如下圖所示:

b772018c-05ee-11ee-962d-dac502259ad0.png

用戶只需關(guān)注AXI用戶接口的邏輯設(shè)計,通過該接口就可以實現(xiàn)DMA傳輸。另外,AXI用戶接口包括MM接口和ST兩種接口,MM接口是可以直接對接內(nèi)存,其包括了地址控制,可以直接實現(xiàn)內(nèi)存讀寫。

2.1 XDMA AXI-MM接口實現(xiàn)DMA傳輸

AXI-MM接口的操作相對簡單,其與用戶邏輯對接的接口為標(biāo)準(zhǔn)的AXI接口,包括了地址信息,可以直接對接內(nèi)存,最簡單的方式就是例化一個AXI接口的RAM直接對接,PC端就可以直接訪問該RAM,如下圖所示:

b796baa4-05ee-11ee-962d-dac502259ad0.png

AXI-MM接口主要應(yīng)用場景是直接訪問FPGA內(nèi)存,但對于視頻流,采集數(shù)據(jù)流等場景,特別是需要用到多通道的場景通常采用ST接口會更加方便。 2.2 XDMA ST接口實現(xiàn)DMA傳輸

ST(AXI4-Stream)接口是實現(xiàn)數(shù)據(jù)流傳輸接口,用于傳輸連續(xù)的數(shù)據(jù)流,比如視頻數(shù)據(jù)流,特別是在實現(xiàn)多通道DMA的情況下通常會采用該接口,如下圖所示:

b7b04974-05ee-11ee-962d-dac502259ad0.png

S_AXIS_C2H是終端設(shè)備向主機(jī)發(fā)送數(shù)據(jù)接口,S_AXIS_H2C是主機(jī)向終端設(shè)備發(fā)送數(shù)據(jù)接口,均為AXI Stream接口,只實現(xiàn)數(shù)據(jù)流傳輸,典型特征是不傳輸?shù)刂?,?a target="_blank">端口如下圖所示:

b7d21586-05ee-11ee-962d-dac502259ad0.png

其時序跟上述PCIE IP的AXI接口類似,所以,通過XDMA的ST接口可以很方便實現(xiàn)數(shù)據(jù)流傳輸,只需要跟PC驅(qū)動程序配對好地址和長度信息,邏輯設(shè)計只需要通過ST接口收發(fā)數(shù)據(jù)。 2.3 DMA邏輯設(shè)計方法

邏輯與主機(jī)上層軟件實現(xiàn)DMA數(shù)據(jù)傳輸主要有查詢和中斷兩種方式,以ST接口為例,邏輯可以通過AXI LITE接口實現(xiàn)PC的寄存器訪問,PC可以通過查詢寄存器來確定是否可以啟動DMA下發(fā)數(shù)據(jù),或者通過發(fā)起DMA獲取邏輯需要上傳的數(shù)據(jù),邏輯根據(jù)當(dāng)前數(shù)據(jù)需要上傳或者允許PC下發(fā)數(shù)據(jù)的具體情況來設(shè)置寄存器的狀態(tài)。

中斷模式首先要在例化XDMA IP時要選擇一個中斷,IP自動生成一個可供用戶產(chǎn)生中斷的接口,時序如下圖所示:

b7f2e3f6-05ee-11ee-962d-dac502259ad0.png

用戶產(chǎn)生中斷的方法很簡單,只需要拉高usr_irq_req,等待usr_irq_ack拉高即可產(chǎn)生中斷。需要注意的是當(dāng)usr_irq_ack拉高時用戶不能立刻把usr_irq_req拉低,因為此刻不能確定PC已經(jīng)響應(yīng)并完成中斷處理,最簡單的方式是設(shè)置一個清中斷寄存器,PC通過向這個寄存器寫1來通知邏輯,中斷事務(wù)已經(jīng)被處理完成。

另外,PCIE協(xié)議支持3種中斷:

INTx中斷:主要是為了兼容PCI設(shè)備,是電平觸發(fā)中斷;

MSI中斷:消息中斷,PCIE設(shè)備通過構(gòu)造對應(yīng)的中斷消息發(fā)送到主機(jī),從而觸發(fā)中斷;

MSI-X中斷:是MSI中斷的擴(kuò)展,可以通過中斷向量表的方式把中斷個數(shù)擴(kuò)展到2048個;

當(dāng)PC啟動DMA下發(fā)數(shù)據(jù)時,XDMA IP會通過H2C接口向邏輯發(fā)送數(shù)據(jù),邏輯可以通過s_axis_h2c_tready信號來決定是否允許數(shù)據(jù)下發(fā);當(dāng)邏輯向PC上傳數(shù)據(jù)時可通過C2H接口向PC傳輸數(shù)據(jù),在發(fā)送數(shù)據(jù)前邏輯需要向PC產(chǎn)生一個中斷,PC檢測到中斷后就會啟動DMA上傳數(shù)據(jù),邏輯側(cè)看到的是s_axis_c2h_tready信號拉高,說明邏輯可以開始通過C2H接口發(fā)送數(shù)據(jù)給PC。所以,整個DMA傳輸都是由PC發(fā)起的,無論是上傳還是下發(fā)數(shù)據(jù),邏輯只是被動完成數(shù)據(jù)傳輸。

值得注意的是當(dāng)使用多通道DMA時每個通道的操作是完全獨(dú)立的,包括ST接口和中斷都是獨(dú)立的,相關(guān)的寄存器用戶最好也采用獨(dú)立的寄存器來實現(xiàn)與PC的交互。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21800

    瀏覽量

    606275
  • amd
    amd
    +關(guān)注

    關(guān)注

    25

    文章

    5503

    瀏覽量

    134683
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8706

    瀏覽量

    151988
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1263

    瀏覽量

    83250
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    566

    瀏覽量

    101004

原文標(biāo)題:基于AMD FPGA的PCIE DMA邏輯實現(xiàn)

文章出處:【微信號:Comtech FPGA,微信公眾號:Comtech FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于PCIE(mcap)的部分可重構(gòu)實現(xiàn)方案

    芯片才能實現(xiàn),具體哪些系列能實現(xiàn)哪種配置方式如下圖所示: 圖1 本質(zhì)上來說,無論是JTAG還是ICAP或者M(jìn)CAP以及其它FPGA的配置方式,目的都是配置FPGA
    的頭像 發(fā)表于 01-03 09:20 ?4343次閱讀
    基于<b class='flag-5'>PCIE</b>(mcap)的部分可重構(gòu)<b class='flag-5'>實現(xiàn)</b>方案

    基于Xilinx V6的PCIE DMA高速傳輸模塊

    利用XIlinx V6評估板ML605實現(xiàn)PCIE2.0,8通道主模式DMA數(shù)據(jù)傳輸,DMAFPGA發(fā)起,采用1GB DDR3作為
    發(fā)表于 04-25 12:48

    Xilinx PCIe Master DMA設(shè)計

    基于PCI Express的數(shù)據(jù)采集卡PCIe數(shù)據(jù)采集卡PCI Express數(shù)據(jù)采集卡本人在北京工作6年以上,從事FPGA外圍接口設(shè)計,非常熟悉PCI Express協(xié)議,設(shè)計調(diào)試了多個基于PCI
    發(fā)表于 03-01 18:11

    PCIe DMA設(shè)計實現(xiàn)

    基于PCI Express的數(shù)據(jù)采集卡PCIe數(shù)據(jù)采集卡PCI Express數(shù)據(jù)采集卡在北京工作6年以上,從事FPGA外圍接口設(shè)計,非常熟悉PCI Express協(xié)議,設(shè)計調(diào)試了多個基于PCI
    發(fā)表于 01-10 20:36

    關(guān)于PCIE DMA操作的一個疑問

    功能,1、FPGA是不是可以直接通過PCIE操作DDR完成DMA操作?2、在操作過程中CPU是一個旁觀者的角色嗎?3、地址轉(zhuǎn)換,DDR接口操作等都是由CPU內(nèi)部的硬件完成?CPU在FPGA
    發(fā)表于 04-06 16:24

    尋求fpga大牛開發(fā)一個簡單的fpga pcie設(shè)備

    需求:兩塊fpga互聯(lián),兩塊fpga分別模擬成特定的pcie設(shè)備,兩個設(shè)備通過serdes總線互聯(lián)通信,fpga僅僅只要模擬特定的設(shè)備就可以,不需要負(fù)載的
    發(fā)表于 02-11 15:31

    采用FPGA實現(xiàn)PCIe接口設(shè)計

    系列FPGA實現(xiàn)PCIe接口所涉及的硬件板卡參數(shù)、應(yīng)用層系統(tǒng)方案、DMA仲裁、PCIe硬核配置與讀寫時序等內(nèi)容。
    發(fā)表于 05-21 09:12

    如何通過PCIe進(jìn)行FPGA到PC的通信?

    嗨,我正在使用超大規(guī)模的FPGA板。我可以通過DMA子系統(tǒng)IP和DDR控制器IP將數(shù)據(jù)從PC傳輸?shù)紻DR。我打算在FPGA中進(jìn)行一些處理,然后更新數(shù)據(jù),以便PC可以讀取。如何通過PCIe
    發(fā)表于 05-08 09:40

    如何利用PCIe DMA總線實現(xiàn)一個基于FPGAPCIe 8位數(shù)據(jù)采集卡?

    PCIe總線通信過程是怎樣的?是什么原理?如何利用PCIe DMA總線實現(xiàn)一個基于FPGAPCIe
    發(fā)表于 09-17 07:16

    PCIE DMA例子

    Xilinx FPGA工程例子源碼:PCIE DMA例子
    發(fā)表于 06-07 14:13 ?52次下載

    基于FPGAPCIe總線接口的DMA控制器的實現(xiàn)并進(jìn)行仿真驗證

    本文實現(xiàn)的基于FPGAPCIe總線接口的DMA控制器是在Altera PHY IP和Synopsys Core IP的基礎(chǔ)上實現(xiàn)的,
    的頭像 發(fā)表于 01-11 10:57 ?1.3w次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>PCIe</b>總線接口的<b class='flag-5'>DMA</b>控制器的<b class='flag-5'>實現(xiàn)</b>并進(jìn)行仿真驗證

    Xilinx PCIe DMA子系統(tǒng)的性能測試

    本視頻介紹了設(shè)置和測試Xilinx PCIe DMA子系統(tǒng)性能的過程。
    的頭像 發(fā)表于 11-27 06:16 ?6568次閱讀

    基于AMD FPGAPCIE DMA邏輯實現(xiàn)

    AMD FPGA自帶PCIE硬核,實現(xiàn)PCIE協(xié)議,把串行數(shù)據(jù)轉(zhuǎn)換為并行的用戶數(shù)據(jù)
    的頭像 發(fā)表于 07-14 15:53 ?1555次閱讀
    基于<b class='flag-5'>AMD</b> <b class='flag-5'>FPGA</b>的<b class='flag-5'>PCIE</b> <b class='flag-5'>DMA</b><b class='flag-5'>邏輯</b><b class='flag-5'>實現(xiàn)</b>

    PCIe控制器(FPGA或ASIC),PCIe-AXI-Controller

    Transaction Layer的所有功能特性,不僅內(nèi)置DMA控制器,而且具備AXI4用戶接口,提供一個高性能,易于使用,可定制化的PCIe-AXI互連解決方案,同時適用于ASIC和FPGA。
    的頭像 發(fā)表于 02-21 15:15 ?1022次閱讀
    <b class='flag-5'>PCIe</b>控制器(<b class='flag-5'>FPGA</b>或ASIC),<b class='flag-5'>PCIe</b>-AXI-Controller

    Xilinx高性能PCIe DMA控制器IP,8個DMA通道

    基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem實現(xiàn)了使用DMA地址隊列的獨(dú)立多通道、高性能Continous或
    的頭像 發(fā)表于 02-22 11:11 ?1624次閱讀
    Xilinx高性能<b class='flag-5'>PCIe</b> <b class='flag-5'>DMA</b>控制器IP,8個<b class='flag-5'>DMA</b>通道