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

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

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

在Versal里實現(xiàn)cache一致性傳輸

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 作者:賽靈思工程師 Lo ? 2022-04-21 10:19 ? 次閱讀
在Zynq MPSoC里,我們有以下文章介紹怎么在MPSoC實現(xiàn)cache一致性的傳輸:

[1]https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842098/Zynq+UltraScale+MPSoC+Cache+Coherency

[2]https://support.xilinx.com/s/article/69446?language=en_US

Versal與MPSoC在cache維護數(shù)據(jù)的架構(gòu)上,有一定的相似性。所以在Versal器件里,我們?nèi)匀豢梢允褂蒙鲜鑫臋n [1] 里8.1和8.2的checklist去檢測系統(tǒng)是否滿足一致性傳輸?shù)臈l件。

本篇博客提供了一個基于VCK190 ES1開發(fā)板和2021.1 Vivado/Vitis的例子,用來簡單介紹在Versal里實現(xiàn)數(shù)據(jù)從PL 經(jīng)過 FPD CCI 到達 NoC DDR的一致性傳輸。

這個例子與上面文檔[2]的例子類似,使用AXI CDMA IP實現(xiàn)數(shù)據(jù)的傳輸,通過修改AXI CDMA在Vitis里的參考設(shè)計,實現(xiàn)CPU直接讀寫AXI CDMA傳輸過來的數(shù)據(jù),不必進行額外的cache操作。

這個例子里,AXI CDMA通過NOC連接到CIPS IP的NOC_FFD_CCI_1接口,這個接口是連接到PS內(nèi)部的cache管理模塊CCI-500,下面是這個例子的Block Design截圖。更具體的block design,請新建一個VCK190 ES1的工程,然后運行附件的tcl文件創(chuàng)建完整的block design。

2de3e100-c09a-11ec-bce3-dac502259ad0.png

可以通過雙擊CIPS IP,選擇PS PMC,使能連接NoC的CCI接口。(另外,還可以使用PS與PL的ACP或ACE接口,這兩個接口也能實現(xiàn)數(shù)據(jù)的一致性傳輸。)

2dfe8f50-c09a-11ec-bce3-dac502259ad0.png

NoC的AXI Slave接口需要配置如下AxCache和AxProt的值,具體原因請參考文檔 [2]。

AxCache: 0xF

AxProt: 0x0

在Block Design創(chuàng)建后,由于工具的已知問題(https://support.xilinx.com/s/article/76566),需要在tcl里運行下面命令,否則AXI CDMA會訪問不到NoC DDR。運行完以下命令后,再重新分配地址。

set_property CONFIG.CONNECTIONS [list FPD_CCI_NOC_1] [get_bd_intf_pins /versal_cips_0/NOC_FPD_CCI_1]

最后把工程導(dǎo)出到Vitis,新建一個基于A72_0的應(yīng)用工程。把(1)附件的xaxicdma_example_simple_poll.c導(dǎo)入到新的工程里,編譯出elf。

(2)附件的xaxicdma_example_simple_poll.c是基于AXI Cdma IP自帶的例子修改而來的。里面主要做了兩處修改,一是使能了CCI模塊S4接口的snooping,二是把例子里對cache的操作去掉。

下面是使能snooping的代碼:

Xil_Out32(0XFD005000,0x1);

dmb();

最后可以運行下面的bootgen命令,通過(3)附件的bif文件把pdi和elf文件打包成boot.bin, 然后拷貝到VCK190的SD卡上運行。

[以上123附件可在公眾號內(nèi)回復(fù)“123附件”下載]

bootgen -arch versal -image long.bif -w -o boot.bin

下面是正常的輸出:

[4.021]PLM Initialization Time

[4.083]***********Boot PDI Load: Started***********

[4.161]Loading PDI from SD1_LS

[4.223]Monolithic/Master Device

[307.009]302.813 ms: PDI initialization time

[307.087]+++Loading Image#: 0x1, Name: lpd, Id: 0x04210002

[307.175]---Loading Partition#: 0x1, Id: 0xC

[332.064]****************************************

[336.419]Xilinx Versal Platform Loader and Manager

[340.945]Release 2021.1 Feb 11 2022 - 0903

[345.384]Platform Version: v1.0 PMC: v1.0, PS: v1.0

[349.908]BOOTMODE: 0xE, MULTIBOOT: 0xF0000000

[353.921]****************************************

[358.315] 51.029 ms for Partition#: 0x1, Size: 2336 Bytes

[363.312]---Loading Partition#: 0x2, Id: 0xB

[367.799] 0.527 ms for Partition#: 0x2, Size: 48 Bytes

[372.021]---Loading Partition#: 0x3, Id: 0xB

[379.571] 3.587 ms for Partition#: 0x3, Size: 60592 Bytes

[381.822]---Loading Partition#: 0x4, Id: 0xB

[387.173] 1.387 ms for Partition#: 0x4, Size: 5968 Bytes

[390.705]---Loading Partition#: 0x5, Id: 0xB

[395.390] 0.721 ms for Partition#: 0x5, Size: 80 Bytes

[399.482]+++Loading Image#: 0x2, Name: pl_cfi, Id: 0x18700000

[404.800]---Loading Partition#: 0x6, Id: 0x3

[11801.051] 11392.281 ms for Partition#: 0x6, Size: 863984 Bytes

[11803.906]---Loading Partition#: 0x7, Id: 0x5

[11872.509] 64.470 ms for Partition#: 0x7, Size: 467600 Bytes

[11875.153]+++Loading Image#: 0x3, Name: fpd, Id: 0x0420C003

[11880.401]---Loading Partition#: 0x8, Id: 0x8

[11885.475] 0.942 ms for Partition#: 0x8, Size: 1104 Bytes

[11889.911]+++Loading Image#: 0x4, Name: apu_ss, Id: 0x1C000000

[11895.178]---Loading Partition#: 0x9, Id: 0x0

[11908.765] 9.453 ms for Partition#: 0x9, Size: 176208 Bytes

[11911.365]***********Boot PDI Load: Done***********

[11915.925]194.206 ms: ROM Time

[11918.708]Total PLM Boot Time

--- Entering main() ----

Successfully ran AxiCdma_SimplePoll Example

--- Exiting main() ---

這篇博客只是著重介紹了在Versal工程里實現(xiàn)cache一致性傳輸?shù)囊恍┮c。

審核編輯 :李倩


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

    關(guān)注

    8

    文章

    6767

    瀏覽量

    88636
  • 檢測系統(tǒng)
    +關(guān)注

    關(guān)注

    3

    文章

    942

    瀏覽量

    42986
  • Versal
    +關(guān)注

    關(guān)注

    1

    文章

    151

    瀏覽量

    7618

原文標題:開發(fā)者分享|在Versal里實現(xiàn)cache一致性傳輸

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    異構(gòu)計算下緩存一致性的重要

    眾多回復(fù)中,李博杰同學的回答被認為質(zhì)量最高。他首先將緩存一致性分為兩個主要場景:是主機內(nèi)CPU與設(shè)備間的一致性;二是跨主機的一致性。
    的頭像 發(fā)表于 10-24 17:00 ?92次閱讀
    異構(gòu)計算下緩存<b class='flag-5'>一致性</b>的重要<b class='flag-5'>性</b>

    級聯(lián)一致性和移相器校準應(yīng)用手冊

    電子發(fā)燒友網(wǎng)站提供《級聯(lián)一致性和移相器校準應(yīng)用手冊.pdf》資料免費下載
    發(fā)表于 08-29 10:48 ?0次下載
    級聯(lián)<b class='flag-5'>一致性</b>和移相器校準應(yīng)用手冊

    LIN一致性測試規(guī)范2.1

    電子發(fā)燒友網(wǎng)站提供《LIN一致性測試規(guī)范2.1.pdf》資料免費下載
    發(fā)表于 08-15 17:14 ?3次下載

    新品發(fā)布 | 同星智能正式推出CAN總線一致性測試系統(tǒng)

    CAN總線一致性測試系統(tǒng)CANFD/CAN總線一致性測試系統(tǒng),硬件系統(tǒng)上基于同星自主研發(fā)的總線分析工具,干擾儀,一致性測試機箱,并搭配程控電源,示波器,數(shù)字萬用表等標準外圍儀器設(shè)備;
    的頭像 發(fā)表于 07-06 08:21 ?396次閱讀
    新品發(fā)布 | 同星智能正式推出CAN總線<b class='flag-5'>一致性</b>測試系統(tǒng)

    銅線鍵合焊接一致性:如何突破技術(shù)瓶頸?

    微電子封裝領(lǐng)域,銅線鍵合技術(shù)以其低成本、高效率和良好的電氣性能等優(yōu)勢,逐漸成為芯片與基板連接的主流方式。然而,銅線鍵合過程中的焊接一致性問題是制約其進步發(fā)展和應(yīng)用的關(guān)鍵難題。焊接一致性
    的頭像 發(fā)表于 07-04 10:12 ?1485次閱讀
    銅線鍵合焊接<b class='flag-5'>一致性</b>:如何突破技術(shù)瓶頸?

    請問ESP-NOW對數(shù)據(jù)的完整一致性有校驗嗎?

    當使用ESP-NOW時,傳遞的數(shù)據(jù)傳輸層有對數(shù)據(jù)包的完整(比如對面?zhèn)鹘o我的字節(jié)數(shù)和我收到的字節(jié)數(shù)是否相同)有底層校驗嗎? 還有這個數(shù)據(jù)包是否經(jīng)過了CRC等差錯檢測的校驗?zāi)?就是一致性
    發(fā)表于 06-17 06:55

     QSFP一致性測試的專業(yè)測試設(shè)備

    、高速度的光纖接口模塊,廣泛應(yīng)用于數(shù)據(jù)中心、高速以太網(wǎng)和光纖通信等領(lǐng)域。本文將詳細探討QSFP一致性測試的目的、測試內(nèi)容、測試方法以及測試的重要等方面。 QSFP一致性測試的目的是確保光模塊的性能符合相關(guān)標準和規(guī)范,保證其
    的頭像 發(fā)表于 03-14 10:40 ?490次閱讀
     QSFP<b class='flag-5'>一致性</b>測試的專業(yè)測試設(shè)備

    銅線鍵合焊接一致性:微電子封裝的新挑戰(zhàn)

    微電子封裝領(lǐng)域,銅線鍵合技術(shù)以其低成本、高效率和良好的電氣性能等優(yōu)勢,逐漸成為芯片與基板連接的主流方式。然而,銅線鍵合過程中的焊接一致性問題是制約其進步發(fā)展和應(yīng)用的關(guān)鍵難題。焊接一致性
    的頭像 發(fā)表于 03-13 10:10 ?1216次閱讀
    銅線鍵合焊接<b class='flag-5'>一致性</b>:微電子封裝的新挑戰(zhàn)

    企業(yè)數(shù)據(jù)備份體系化方法論的七大原則:深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用一致性與崩潰一致性的區(qū)別

    能夠更有效地保護企業(yè)數(shù)據(jù)。 1. 概念區(qū)分: 應(yīng)用一致性和崩潰一致性是數(shù)據(jù)備份中的兩個基本原則。崩潰一致性關(guān)注的是基礎(chǔ)架構(gòu)層面,如IO、比特、文件、塊和對象等技術(shù)屬性。這意味著系統(tǒng)崩
    的頭像 發(fā)表于 03-11 14:05 ?387次閱讀
    企業(yè)數(shù)據(jù)備份體系化方法論的七大原則:深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用<b class='flag-5'>一致性</b>與崩潰<b class='flag-5'>一致性</b>的區(qū)別

    深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用一致性與崩潰一致性的區(qū)別

    深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用一致性與崩潰一致性的區(qū)別 在數(shù)字化時代,數(shù)據(jù)備份成為了企業(yè)信息安全的核心環(huán)節(jié)。但在備份過程中,兩個關(guān)鍵概念——應(yīng)用一致性和崩潰一致性,常常被誤解或混淆。
    的頭像 發(fā)表于 03-11 11:29 ?766次閱讀
    深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用<b class='flag-5'>一致性</b>與崩潰<b class='flag-5'>一致性</b>的區(qū)別

    DDR一致性測試的操作步驟

    DDR一致性測試的操作步驟? DDR(雙數(shù)據(jù)率)一致性測試是對DDR內(nèi)存模塊進行測試以確保其性能和可靠。進行DDR一致性測試時,需要遵循
    的頭像 發(fā)表于 02-01 16:24 ?1221次閱讀

    MM32F0140 FlexCAN一致性測試 (2)

    MM32F0140 FlexCAN一致性測試 (2)
    的頭像 發(fā)表于 11-10 18:23 ?603次閱讀
    MM32F0140 FlexCAN<b class='flag-5'>一致性</b>測試 (2)

    MM32F0140 FlexCAN一致性測試(1)

    MM32F0140 FlexCAN一致性測試 (1)
    的頭像 發(fā)表于 11-10 17:50 ?572次閱讀
    MM32F0140 FlexCAN<b class='flag-5'>一致性</b>測試(1)

    什么是鋰離子電池不一致性?如何提高鋰離子電池的一致性

    什么是鋰離子電池不一致性?鋰離子電池不穩(wěn)定的原因?如何提高鋰離子電池的一致性? 鋰離子電池不一致性是指同批次或不同批次的鋰離子電池性能上
    的頭像 發(fā)表于 11-10 14:49 ?1547次閱讀

    分布式系統(tǒng)中常見的一致性模型

    什么是一致性模型? 分布式系統(tǒng)中,C(一致性) 和 A(可用)始終存在矛盾。若想保證可用,就必須通過復(fù)制、分片等方式冗余存儲。而
    的頭像 發(fā)表于 11-10 11:33 ?789次閱讀
    分布式系統(tǒng)中常見的<b class='flag-5'>一致性</b>模型