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

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

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

FPGA邏輯中關(guān)于地址映射說(shuō)明

454398 ? 來(lái)源:CSDN博主 ? 作者:慕田會(huì) ? 2020-11-20 15:28 ? 次閱讀

背景與問(wèn)題

? CPU+FPGA架構(gòu),CPU做RC、FPGA做EP;

? FPGA邏輯(Vivado ->BD -> Address Editor)中如何設(shè)置PCIe to AXI Translation;

? FPGA邏輯中如何設(shè)置AXI to PCIe Address Translation。

1. Root Complex到Endpiont

1.1 Root Complex到Endpiont,即PCIe域(Root Complex中的系統(tǒng)地址空間)到AXI域(FPGA邏輯中的AXI地址空間)。PCIe發(fā)起的對(duì)Endpoint的訪問(wèn)應(yīng)在Endpoint申請(qǐng)的BAR空間內(nèi),Endpoint申請(qǐng)BAR空間時(shí)申明了地址空間的大?。ū热?56M,而且我們假設(shè)這256M空間對(duì)應(yīng)AXI域中0x3000_0000~0x3FFF_FFFF),而Root Complex則根據(jù)實(shí)際情況決定從某個(gè)地址開(kāi)始分配一段地址空間給Endpoint(比如0x4000_0000~0x4FFF_FFFF)。

1.2 PCIe想對(duì)Endpoint中的0x3000_0010地址發(fā)起一次訪問(wèn)。PCIe發(fā)出訪問(wèn)的地址為0x4000_0010,F(xiàn)PGA的PCIe Core會(huì)收到相應(yīng)BAR空間中的有效地址偏移0x10,PCIe Core使用有效地址偏移+ C_PCIEBAR2AXIBAR(根據(jù)1.1中的假設(shè),這個(gè)值為0x3000_0000)作為其AXI總線訪問(wèn)的地址。

2. Endpiont到Root Complex

2.1 假設(shè)PCIe域和AXI域的映射跟1. Root Complex到Endpiont的設(shè)定相同。

2.2 來(lái)自映射地址為0x3000_0000~0x3FFF_FFFF的AX總線訪問(wèn)給出的地址0x3000_1234會(huì)被PCIe Core剝離出有效偏移地址0x1234,使用該偏移地址+C_AXIBAR2PCIEBAR作為PCIe TLP的地址發(fā)送給Root Complex。C_AXIBAR2PCIEBAR的值應(yīng)該設(shè)為Root Complex給Endpoint分配的地址空間的首地址,即0x4000_0000。

圖1 地址映射說(shuō)明

3. 總結(jié)與疑問(wèn)

3.1 總結(jié)

? 地址空間的有效偏移地址。

? 地址空間的首地址。

3.2 疑問(wèn)

CPU發(fā)出的訪問(wèn)地址到FPGA的PCIe IP是如何被提取出有效偏移地址的? PCIe的配置空間里記錄了CPU分配的BAR空間的首地址?

參考文獻(xiàn)
[1] pg055-axi-bridge-pcie??.
[2] Xilinx_Answer_65062_AXI_PCIe_Address_Mapping??.

聲明:本文內(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)注

    1620

    文章

    21510

    瀏覽量

    598917
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10702

    瀏覽量

    209366
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1165

    瀏覽量

    81979
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    操作系統(tǒng)邏輯地址和物理地址

    本文是關(guān)于操作系統(tǒng)邏輯地址和物理地址之間的區(qū)別。計(jì)算機(jī)操作系統(tǒng)的內(nèi)存使用兩種不同類型的
    發(fā)表于 09-14 14:26 ?3741次閱讀

    Matlab算法映射FPGA硬件邏輯

    引言:本文分享一篇技術(shù)PPT,該P(yáng)PT主要介紹如何將算法映射FPGA或ASIC硬件架構(gòu)。
    的頭像 發(fā)表于 01-30 17:37 ?2203次閱讀

    Linux內(nèi)核地址映射模型與Linux內(nèi)核高端內(nèi)存詳解

    的數(shù)據(jù)可能不在內(nèi)存。 Linux內(nèi)核地址映射模型 x86 CPU采用了段頁(yè)式地址映射模型。進(jìn)程代碼
    發(fā)表于 05-08 10:33 ?3401次閱讀
    Linux內(nèi)核<b class='flag-5'>地址</b><b class='flag-5'>映射</b>模型與Linux內(nèi)核高端內(nèi)存詳解

    關(guān)于ARM地址映射的理解

    對(duì)于剛剛學(xué)習(xí)ARM嵌入式的人來(lái)說(shuō),遇到的第一個(gè)難點(diǎn)我覺(jué)得就是地址映射的原理,往往會(huì)被一些概念弄得稀里糊涂(比如像我這種智商不高的)。所以就靜下心自己好好研讀了以下杜春雷《ARM體系結(jié)構(gòu)與編程》有關(guān)
    發(fā)表于 12-08 09:37

    關(guān)于6678 SRIO地址映射

    您好! ? ? ? 兩塊6678DSP通過(guò)SRIO建立連接,對(duì)于SRIO來(lái)說(shuō): ? ? ?1.這兩塊DSP的地址是怎樣映射的? ? ? ? 2.映射是怎樣建立的? ? ? ?3. 雙方的設(shè)備ID有沒(méi)有參與到
    發(fā)表于 06-21 09:37

    hyperlink地址映射方式不對(duì)

    的,core0的映射地址是segment0,2,4,6 core1映射地址是segment1,3,5,7我不知道我對(duì)于privid的理解是否正確,希望能得到解答!下圖是
    發(fā)表于 12-28 11:09

    C6678邏輯地址映射問(wèn)題

    `按照TI手冊(cè)示例,通過(guò)設(shè)置XMPAX寄存器將MSMC映射到不同的不同的邏輯地址區(qū)域。映射后,邏輯地址
    發(fā)表于 04-24 16:38

    地址映射和寄存器映射原理分別是什么

    映射存儲(chǔ)器本身不具有地址信息,它的地址是由芯片廠商或用戶分配,給物理存儲(chǔ)器分配邏輯地址的過(guò)程就稱為存儲(chǔ)器
    發(fā)表于 03-02 06:36

    ARM啟動(dòng)代碼及地址映射

    ARM啟動(dòng)代碼及地址映射
    發(fā)表于 02-11 11:00 ?104次下載
    ARM啟動(dòng)代碼及<b class='flag-5'>地址</b><b class='flag-5'>映射</b>

    STM32核心在Cortex的地址映射說(shuō)明

    一、Cortex-M3支持最大4GB的存儲(chǔ)空間,其地址映射關(guān)系如下圖 二、存儲(chǔ)器映射實(shí)例:256KB Flash 48KB SRAM IROM1為片上程序存儲(chǔ)器,即片上集成的Flash存儲(chǔ)器,對(duì)該處
    發(fā)表于 11-29 20:11 ?517次閱讀
     STM32核心在Cortex的<b class='flag-5'>地址</b><b class='flag-5'>映射</b><b class='flag-5'>說(shuō)明</b>

    FPGA視頻教程之FPGA設(shè)計(jì)時(shí)序邏輯設(shè)計(jì)要點(diǎn)的詳細(xì)資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA視頻教程之FPGA設(shè)計(jì)時(shí)序邏輯設(shè)計(jì)要點(diǎn)的詳細(xì)資料說(shuō)明免費(fèi)下載。
    發(fā)表于 03-27 10:56 ?20次下載
    <b class='flag-5'>FPGA</b>視頻教程之<b class='flag-5'>FPGA</b>設(shè)計(jì)<b class='flag-5'>中</b>時(shí)序<b class='flag-5'>邏輯</b>設(shè)計(jì)要點(diǎn)的詳細(xì)資料<b class='flag-5'>說(shuō)明</b>

    可編程邏輯陣列fpga和cpld說(shuō)明

    可編程邏輯陣列fpga和cpld說(shuō)明。
    發(fā)表于 03-30 09:30 ?25次下載

    2020.4.14 第四次 寄存器地址名稱映射

    寄存器地址名稱映射寫(xiě)在前面:對(duì)于MCU,一切低層配置都是配置寄存器51映射方法:sfr P0=0x08;//P0映射
    發(fā)表于 12-08 17:51 ?9次下載
    2020.4.14  第四次 寄存器<b class='flag-5'>地址</b>名稱<b class='flag-5'>映射</b>

    FPGA關(guān)于SPI的使用

    FPGA關(guān)于SPI的使用
    的頭像 發(fā)表于 04-12 10:13 ?795次閱讀

    STM32/CPU地址映射的概念

    很多人對(duì)總線和地址映射的概念都是一頭霧水,但是我們?nèi)绻罏楹涡枰偩€和地址映射,他們是在什么背景下被衍化出來(lái)的,自然而然對(duì)此概念就清清楚楚了。
    的頭像 發(fā)表于 07-24 11:14 ?900次閱讀
    STM32/CPU<b class='flag-5'>地址</b><b class='flag-5'>映射</b>的概念