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

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

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

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

如何使用Xilinx的PCIE IP來(lái)產(chǎn)生讀寫(xiě)請(qǐng)求

jf_pJlTbmA9 ? 來(lái)源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-10 16:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

仿真與實(shí)際應(yīng)用場(chǎng)景的差別
通常我們都會(huì)用Modelsim、Questa等工具對(duì)工程進(jìn)行仿真驗(yàn)證,在仿真的時(shí)候可能關(guān)注的點(diǎn)沒(méi)有那么的多,檢查到對(duì)端收到包沒(méi)有問(wèn)題,一般情況下就認(rèn)為已經(jīng)完成調(diào)試,可以上板給host、birdge或者switch下的其他PCIE設(shè)備進(jìn)行發(fā)包,不過(guò)在實(shí)際應(yīng)用的過(guò)程中,如果想用FPGA作為Endpoint主動(dòng)發(fā)包去讀寫(xiě)其他設(shè)備,還有一個(gè)功能需要打開(kāi):Bus Master Enable,下圖1是PCIE協(xié)議對(duì)此功能的定義。

1676510712707226.png

圖1

這個(gè)功能決定了Endpoint能否向遠(yuǎn)端設(shè)備發(fā)起讀寫(xiě)請(qǐng)求,只有使能了此功能,F(xiàn)PGA作為Endpoint時(shí),才能夠向遠(yuǎn)端設(shè)備成功發(fā)起讀寫(xiě)訪問(wèn)。Bus Master Enable在PCIE的配置空間命令寄存器04h中,此功能可以通過(guò)setpci指令打開(kāi)。

如何使用PCIE的RQ接口來(lái)產(chǎn)生讀寫(xiě)請(qǐng)求
在介紹如何控制端口信號(hào)產(chǎn)生讀寫(xiě)請(qǐng)求之前,需要先介紹下描述符(如下圖2所示),描述符類似與包頭的功能,描述符的大小是128bit,這個(gè)是固定的,其內(nèi)包含了地址類型、地址、請(qǐng)求類型、數(shù)字?jǐn)?shù)等字段,在傳輸時(shí)第一拍先傳輸?shù)氖敲枋龇?,傳完描述符之后才?huì)傳后面的數(shù)據(jù),使用128bit或者大于128Bit數(shù)據(jù)端口的用戶對(duì)這一點(diǎn)可能沒(méi)有疑問(wèn),但是使用64bit數(shù)據(jù)端口的用戶會(huì)可能會(huì)有疑問(wèn),128bit的描述符,64bit的數(shù)據(jù)端口一拍傳不完,如果使用的是64bit的端口,描述符會(huì)傳兩拍,在傳輸?shù)那皟膳亩际敲枋龇?/p>

1676510727197221.png

圖2

描述符的前兩個(gè)字段是address type,這個(gè)字段比較簡(jiǎn)單,其標(biāo)志了地址是否經(jīng)過(guò)了轉(zhuǎn)換,如果用戶要自己產(chǎn)生讀寫(xiě)請(qǐng)求可以把此字段設(shè)置為0,address就是用戶要訪問(wèn)的地址,在填寫(xiě)地址之前要確認(rèn)好此地址是否可讀寫(xiě),避免讀到讀清寄存器。Dword Count表示的是描述符后跟的數(shù)據(jù)的Dword數(shù),一般來(lái)講數(shù)據(jù)的長(zhǎng)度都是雙字的整數(shù)倍,如果長(zhǎng)度不是雙字的整數(shù)倍,就需要使用firstbe,或者lastbe,這兩個(gè)被放在了tuser字段,下面的篇幅會(huì)對(duì)其進(jìn)行介紹。接下來(lái)是Request Type,Request Type字段的定義如下圖3所示:

1676510736105555.png

圖3

根據(jù)所發(fā)送包的類型選擇相應(yīng)數(shù)字填充data字段即可,接下來(lái)說(shuō)一下Requester ID和Completer ID這兩個(gè)字段,如果用戶使用的是基于地址的方式對(duì)包進(jìn)行路由,這兩個(gè)字段的數(shù)值不需要特別關(guān)注,重點(diǎn)字段已介紹完,描述符其他字段的含義可參考Xilinx的PG343(Versal ACAP Integrated Block for PCI Express v1.0 LogiCORE IP Product Guide)。

本篇參考的是Xilinx的PG343,接下來(lái)會(huì)對(duì)Versal的 PCIE IP進(jìn)行介紹,以下提及的端口的data的bit數(shù)都是512bit,如果想了解其他bit位數(shù)據(jù)的接口如何使用,可以參考PG343,與512bit的數(shù)據(jù)端口區(qū)別不大。

產(chǎn)生讀寫(xiě)請(qǐng)求所使用的接口是PCIE IP的Requester Request Interface,接口的定義如下圖4所示:

1676510749371045.png

圖4

之前的篇幅中提到的描述符就在s_axis_rq_tdata中傳輸,前128bit是描述符,后面跟的是數(shù)據(jù),類似與tlast、tkeep和tready等字段,本篇blog不再進(jìn)行贅述,可以參照AMBA總線,或者上圖的描述,下面重點(diǎn)介紹s_axis_rq_tuser字段,手冊(cè)上稱其為邊帶信號(hào),部分字段的定義如下圖5所示:

1676510759619178.png

圖5

首先介紹下first_be和last_be,first_be指的是數(shù)據(jù)的第一個(gè)雙字中有幾個(gè)byte是有效的,一個(gè)雙字是4byte,所示只用4bit就可以識(shí)別出一個(gè)雙字中有效的byte數(shù),在IP界面,把straddle模式打開(kāi)時(shí),可以一拍傳輸兩個(gè)TLP,在512bit數(shù)據(jù)接口,其first_be字段的長(zhǎng)度為8bit,前4bit表示的是第一個(gè)TLP包中的第一個(gè)雙字中有效的byte,后4個(gè)bit表示的是第二個(gè)TLP包中的第一個(gè)雙字中有效的byte。is_sop的值表明了此拍的有或者沒(méi)有以及有幾個(gè)新的TLP,is_sop表明這一拍有沒(méi)有TLP結(jié)束或者有幾個(gè)TLP結(jié)束。
No straddle模式使用注意事項(xiàng)
在使用no straddle模式時(shí),在發(fā)送1DW的memory write時(shí),雖然上圖中說(shuō)的是在使用no straddle模式時(shí),is_eop是可選的,但是在實(shí)際使用的時(shí)候,特別是有1DW的memory write或者有1DW為結(jié)尾的memory write,需要把is_eop的數(shù)值設(shè)置為1。下圖6是memory write的發(fā)包格式,在生成包時(shí)可以參考如下圖6格式:

1676510772591071.png

圖6

下下面的兩張圖是發(fā)包的仿真圖,圖7為End point的Requester request接口的仿真圖,圖8為root port的Completer Request接口的仿真圖,整體的流程就是End point通過(guò)自己的Requester request接口把memory write TLP發(fā)送到root port的Completer Request接口。

先看Requester request接口所發(fā)送的包的rq_tuser字段,410000f中的f表示第一個(gè)TLP的firstbe全有效,10000表示此拍數(shù)據(jù)沒(méi)有第二個(gè)TLP且這一拍數(shù)據(jù)只有1DW,last_be全為0,10000中的1即為圖中的第四行2‘b01, //is SOP,表示這個(gè)一拍是一個(gè)TLP的開(kāi)始,4為圖中的2‘01 //is eop? 2’b00sop1 ptr兩行,表示此拍數(shù)據(jù)只有一個(gè)TLP,且此TLP在此拍結(jié)束。

接下來(lái)對(duì)Requester request接口所發(fā)送的包的rq_tdata進(jìn)行說(shuō)明,rq_tdata的前兩個(gè)bit表明了地址有沒(méi)有經(jīng)過(guò)轉(zhuǎn)換,數(shù)據(jù)的地址為BE7 1CBD 975D 4000,rq_tdata中的801表示此數(shù)據(jù)位memory寫(xiě),且Dword count 為1.

1676510819668199.png

圖7

接下來(lái)對(duì)RP的Completer Request接口接收到的數(shù)據(jù)進(jìn)行簡(jiǎn)要分析,可以看到m_axis_cq_tdata與s_axis_rq_tdata的字段完全相同,m_axis_tuser中的firstbe為0F,lastbe為00,這一點(diǎn)與發(fā)送端的情況一致,End point此次發(fā)送的數(shù)據(jù)包被Root port成功接收。

1676510830893428.png

圖8


審核編輯:湯梓紅

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

    關(guān)注

    1660

    文章

    22412

    瀏覽量

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

    關(guān)注

    33

    文章

    9521

    瀏覽量

    157040
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2200

    瀏覽量

    131144
  • 仿真
    +關(guān)注

    關(guān)注

    54

    文章

    4483

    瀏覽量

    138276
  • PCIe
    +關(guān)注

    關(guān)注

    16

    文章

    1461

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Xilinx高性能NVMe Host控制器IP+PCIe 3.0軟核控制器IP,純邏輯實(shí)現(xiàn),AXI4和AXI4-Stream DMA接口,支持PCIe 3.0和4.0

    Host Controller IP作為一個(gè)對(duì)PCIe SSD的高性能存儲(chǔ)控制器,不但提供對(duì)PCIe SSD的配置管理功能,而且提供對(duì)PCIe SSD的IO(Page)
    發(fā)表于 11-14 22:40

    請(qǐng)教大家誰(shuí)用過(guò) Xilinx PCIe IP 核啊?

    請(qǐng)教大家誰(shuí)用過(guò) Xilinx PCIe IP 核???
    發(fā)表于 01-15 14:38

    ZYNQ調(diào)用XDMA PCIE IP同時(shí)讀寫(xiě)PS DDR,導(dǎo)致藍(lán)屏問(wèn)題。

    XDMA讀和XDMA寫(xiě)的時(shí)候,上位機(jī)HOST PC就藍(lán)屏了。。 我想知道,XDMA PCIE IP 和 PS DDR 是否支持同時(shí)進(jìn)行XDMA讀寫(xiě)如果支持的話,我需要修改驅(qū)動(dòng),還是其他地方需要設(shè)置一下。謝謝!
    發(fā)表于 11-21 10:35

    PCIE XDMA IP核介紹

    TLP格式,并傳送給發(fā)送引擎;接收引擎用于從PCIE IP核接收不同類型的TLP數(shù)據(jù),接收DMA控制模塊用于實(shí)現(xiàn)存儲(chǔ)器讀請(qǐng)求包的發(fā)送流量控制及接收數(shù)據(jù)位寬的轉(zhuǎn)換;DMA狀態(tài)控制寄存器模塊主要用來(lái)解析來(lái)自
    發(fā)表于 12-26 10:46

    如何使用AXI-PCIe橋接IP與我的邏輯進(jìn)行通信

    嗨,我正在使用AXI-PCIe橋接IP與我的邏輯進(jìn)行通信。我的poroject要求有128K內(nèi)存。我不知道如何配置AXI BAR地址來(lái)擴(kuò)展內(nèi)存。我閱讀了IP文檔,但沒(méi)有任何意義。目前我
    發(fā)表于 06-19 10:14

    PCIE高速傳輸解決方案FPGA技術(shù)XILINX官方XDMA驅(qū)動(dòng)

    ,使用 XILINX 官方 XDMA IP 核配合板載高速 DDR3,可對(duì)前端 ADC 產(chǎn)生的不大于 4.5GB/s 的連續(xù)或非連續(xù)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,同時(shí)該采集卡具備數(shù)據(jù)發(fā)送功能,可以將用戶文件或者內(nèi)存中
    發(fā)表于 05-19 08:58

    今天分享 PCIE高速接口XILINX.ISE教程

    :能使用xiinx 的PCIE ip核完成讀寫(xiě)功能對(duì)以上課程有興趣的同學(xué)點(diǎn)下面鏈接學(xué)習(xí) : 明德?lián)PFPGA課程_PCIE高速接口XILINX
    發(fā)表于 02-14 09:50

    體驗(yàn)紫光PCIE之使用WinDriver驅(qū)動(dòng)紫光PCIE

    example例程。紫光的PCIE IP雖然沒(méi)有像xilinx那樣可以直接使用Block Design設(shè)計(jì),但是仔細(xì)讀一遍官方例程的DMA模塊,進(jìn)而開(kāi)發(fā)自己的東西,還是能夠很好用起來(lái)紫光的P
    發(fā)表于 11-17 14:35

    PCIe的Spec中明確規(guī)定只有Root有權(quán)限發(fā)起配置請(qǐng)求

    處理器一般不能夠直接發(fā)起配置讀寫(xiě)請(qǐng)求,因?yàn)槠渲荒?b class='flag-5'>產(chǎn)生Memory Request和IO Request。這就意味著Root必須要將處理器的相關(guān)請(qǐng)求轉(zhuǎn)換為配置
    的頭像 發(fā)表于 05-04 09:12 ?7676次閱讀
    <b class='flag-5'>PCIe</b>的Spec中明確規(guī)定只有Root有權(quán)限發(fā)起配置<b class='flag-5'>請(qǐng)求</b>

    PCIE通信技術(shù):通過(guò)AXI-Lite ip配置的VDMA使用

    XDMA是Xilinx封裝好的PCIE DMA傳輸IP,可以很方便的把PCIE總線上的數(shù)據(jù)傳輸事務(wù)映射到AXI總線上面,實(shí)現(xiàn)上位機(jī)直接對(duì)AXI總線進(jìn)行
    的頭像 發(fā)表于 12-28 10:17 ?4294次閱讀

    利用XILINX提供的FIFO IP進(jìn)行讀寫(xiě)測(cè)試

    FIFO是FPGA應(yīng)用當(dāng)中非常重要的模塊,廣泛用于數(shù)據(jù)的緩存,跨時(shí)鐘域數(shù)據(jù)處理等。學(xué)好FIFO是FPGA的關(guān)鍵,靈活運(yùn)用好FIFO是一個(gè)FPGA工程師必備的技能。本章主要介紹利用XILINX提供的FIFO IP進(jìn)行讀寫(xiě)測(cè)試。
    的頭像 發(fā)表于 02-08 17:08 ?4715次閱讀
    利用<b class='flag-5'>XILINX</b>提供的FIFO <b class='flag-5'>IP</b>進(jìn)行<b class='flag-5'>讀寫(xiě)</b>測(cè)試

    基于VIVADO的PCIE IP的使用

    定的。因?yàn)?b class='flag-5'>Xilinx官方給我們提供了完善的PCIE IP,基于這些IP我們?cè)O(shè)置不需要知道TLP包的組包原理我們便可以把PCIE使用起來(lái)。
    的頭像 發(fā)表于 08-09 16:22 ?1.6w次閱讀
    基于VIVADO的<b class='flag-5'>PCIE</b> <b class='flag-5'>IP</b>的使用

    XDMA/PCIE IP的定制和Block Design的搭建

    上一篇內(nèi)容我們已經(jīng)對(duì)PCIE協(xié)議進(jìn)行了粗略的講解。那么不明白具體的PCIE協(xié)議,我們就不能在FPGA中使用PCIE來(lái)進(jìn)行高速數(shù)據(jù)傳輸了嗎?答案是否定的。因?yàn)?/div>
    的頭像 發(fā)表于 06-01 15:52 ?1.6w次閱讀

    基于XILINX FPGA的硬件設(shè)計(jì)總結(jié)之PCIE硬件設(shè)計(jì)避坑

    一個(gè)GT Quad由四個(gè)GT車道組成。為PCIe IP選擇GT Quads時(shí),Xilinx建議您在最靠近PCIe硬塊的地方使用GT Quad。雖然這不是必要時(shí),它將改善設(shè)計(jì)的位置,路線
    的頭像 發(fā)表于 03-30 09:41 ?5075次閱讀

    NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之二:PCIe讀寫(xiě)邏輯

    應(yīng)答模塊的具體任務(wù)是接收來(lái)自PCIe鏈路上的設(shè)備的TLP請(qǐng)求,并響應(yīng)請(qǐng)求。由于基于PCIe協(xié)議的NVMe數(shù)據(jù)傳輸只使用PCIe協(xié)議的存儲(chǔ)器讀
    的頭像 發(fā)表于 06-09 17:25 ?758次閱讀
    NVMe <b class='flag-5'>IP</b>高速傳輸卻不依賴XDMA設(shè)計(jì)之二:<b class='flag-5'>PCIe</b><b class='flag-5'>讀寫(xiě)</b>邏輯