0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Versal里实现cache一致性传输

XILINX开发者社区 来源:XILINX开发者社区 作者:赛灵思工程师 Lo 2022-04-21 10:19 次阅读
在Zynq MPSoC里,我们有以下文章介绍怎么在MPSoC实现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维护数据的架构上,有一定的相似性。所以在Versal器件里,我们仍然可以使用上述文档 [1] 里8.1和8.2的checklist去检测系统是否满足一致性传输的条件。

本篇博客提供了一个基于VCK190 ES1开发板和2021.1 Vivado/Vitis的例子,用来简单介绍在Versal里实现数据从PL 经过 FPD CCI 到达 NoC DDR的一致性传输。

这个例子与上面文档[2]的例子类似,使用AXI CDMA IP实现数据的传输,通过修改AXI CDMA在Vitis里的参考设计,实现CPU直接读写AXI CDMA传输过来的数据,不必进行额外的cache操作。

这个例子里,AXI CDMA通过NOC连接到CIPS IP的NOC_FFD_CCI_1接口,这个接口是连接到PS内部的cache管理模块CCI-500,下面是这个例子的Block Design截图。更具体的block design,请新建一个VCK190 ES1的工程,然后运行附件的tcl文件创建完整的block design。

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

可以通过双击CIPS IP,选择PS PMC,使能连接NoC的CCI接口。(另外,还可以使用PS与PL的ACP或ACE接口,这两个接口也能实现数据的一致性传输。)

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

NoC的AXI Slave接口需要配置如下AxCache和AxProt的值,具体原因请参考文档 [2]

AxCache: 0xF

AxProt: 0x0

在Block Design创建后,由于工具的已知问题(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]

最后把工程导出到Vitis,新建一个基于A72_0的应用工程。把(1)附件的xaxicdma_example_simple_poll.c导入到新的工程里,编译出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附件可在公众号内回复“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工程里实现cache一致性传输的一些要点。

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6853

    浏览量

    88764
  • 检测系统
    +关注

    关注

    3

    文章

    946

    浏览量

    42999
  • Versal
    +关注

    关注

    1

    文章

    152

    浏览量

    7626

原文标题:开发者分享|在Versal里实现cache一致性传输

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一致性测试系统的技术原理和也应用场景

    一致性测试系统是用来检测零部件或系统实现是否符合相关标准或规范的测试流程,其技术原理和应用场景具体如下:技术原理 基本框架:协议一致性测试的理论已经相对成熟,主要代表是ISO制定的国际标准ISO
    发表于 11-01 15:35

    异构计算下缓存一致性的重要

    众多回复中,李博杰同学的回答被认为质量最高。他首先将缓存一致性分为两个主要场景:是主机内CPU与设备间的一致性;二是跨主机的一致性
    的头像 发表于 10-24 17:00 241次阅读
    异构计算下缓存<b class='flag-5'>一致性</b>的重要<b class='flag-5'>性</b>

    级联一致性和移相器校准应用手册

    电子发烧友网站提供《级联一致性和移相器校准应用手册.pdf》资料免费下载
    发表于 08-29 10:48 0次下载
    级联<b class='flag-5'>一致性</b>和移相器校准应用手册

    电感值和直流电阻的一致性如何提高?

    ,如高导铁氧体磁芯或纳米晶磁芯,可以提高电感值的稳定性和一致性。 根据应用需求选择合适的磁芯尺寸和形状,以确保电感值不同批次和条件下的一致性。 精确控制线圈参数 : 线圈匝数、线径和绕制工艺对电感值有显著影响。通
    的头像 发表于 08-19 15:27 244次阅读

    LIN一致性测试规范2.1

    电子发烧友网站提供《LIN一致性测试规范2.1.pdf》资料免费下载
    发表于 08-15 17:14 3次下载

    新品发布 | 同星智能正式推出CAN总线一致性测试系统

    CAN总线一致性测试系统CANFD/CAN总线一致性测试系统,硬件系统上基于同星自主研发的总线分析工具,干扰仪,一致性测试机箱,并搭配程控电源,示波器,数字万用表等标准外围仪器设备;
    的头像 发表于 07-06 08:21 446次阅读
    新品发布 | 同星智能正式推出CAN总线<b class='flag-5'>一致性</b>测试系统

    铜线键合焊接一致性:如何突破技术瓶颈?

    微电子封装领域,铜线键合技术以其低成本、高效率和良好的电气性能等优势,逐渐成为芯片与基板连接的主流方式。然而,铜线键合过程中的焊接一致性问题是制约其进步发展和应用的关键难题。焊接一致性
    的头像 发表于 07-04 10:12 1625次阅读
    铜线键合焊接<b class='flag-5'>一致性</b>:如何突破技术瓶颈?

    请问ESP-NOW对数据的完整一致性有校验吗?

    当使用ESP-NOW时,传递的数据传输层有对数据包的完整(比如对面传给我的字节数和我收到的字节数是否相同)有底层校验吗? 还有这个数据包是否经过了CRC等差错检测的校验呢(就是一致性
    发表于 06-17 06:55

    为什么主机厂愈来愈重视CAN一致性测试?

    新能源汽车迅猛发展下整车CAN网络架构日益复杂,总线故障等潜在问题时刻影响着运行安全。整车零部件通过CAN一致性测试必将是安全保障的第道门槛。CAN一致性测试,就是要求整车CAN网络中的节点都满足
    的头像 发表于 05-29 08:24 1078次阅读
    为什么主机厂愈来愈重视CAN<b class='flag-5'>一致性</b>测试?

    锂电池组装及维修的关键:电芯一致性的重要

    锂电池组装及维修过程中,电芯一致性个至关重要的概念。电芯一致性指的是电池组中,各个电芯
    的头像 发表于 04-15 10:57 923次阅读
    锂电池组装及维修的关键:电芯<b class='flag-5'>一致性</b>的重要<b class='flag-5'>性</b>

     QSFP一致性测试的专业测试设备

    、高速度的光纤接口模块,广泛应用于数据中心、高速以太网和光纤通信等领域。本文将详细探讨QSFP一致性测试的目的、测试内容、测试方法以及测试的重要等方面。 QSFP一致性测试的目的是确保光模块的性能符合相关标准和规范,保证其
    的头像 发表于 03-14 10:40 519次阅读
     QSFP<b class='flag-5'>一致性</b>测试的专业测试设备

    铜线键合焊接一致性:微电子封装的新挑战

    微电子封装领域,铜线键合技术以其低成本、高效率和良好的电气性能等优势,逐渐成为芯片与基板连接的主流方式。然而,铜线键合过程中的焊接一致性问题是制约其进步发展和应用的关键难题。焊接一致性
    的头像 发表于 03-13 10:10 1248次阅读
    铜线键合焊接<b class='flag-5'>一致性</b>:微电子封装的新挑战

    企业数据备份体系化方法论的七大原则:深入理解数据备份的关键原则:应用一致性与崩溃一致性的区别

    能够更有效地保护企业数据。 1. 概念区分: 应用一致性和崩溃一致性是数据备份中的两个基本原则。崩溃一致性关注的是基础架构层面,如IO、比特、文件、块和对象等技术属性。这意味着系统崩
    的头像 发表于 03-11 14:05 410次阅读
    企业数据备份体系化方法论的七大原则:深入理解数据备份的关键原则:应用<b class='flag-5'>一致性</b>与崩溃<b class='flag-5'>一致性</b>的区别

    深入理解数据备份的关键原则:应用一致性与崩溃一致性的区别

    深入理解数据备份的关键原则:应用一致性与崩溃一致性的区别 在数字化时代,数据备份成为了企业信息安全的核心环节。但在备份过程中,两个关键概念——应用一致性和崩溃一致性,常常被误解或混淆。
    的头像 发表于 03-11 11:29 820次阅读
    深入理解数据备份的关键原则:应用<b class='flag-5'>一致性</b>与崩溃<b class='flag-5'>一致性</b>的区别

    DDR一致性测试的操作步骤

    DDR一致性测试的操作步骤  DDR(双数据率)一致性测试是对DDR内存模块进行测试以确保其性能和可靠进行DDR一致性测试时,需要遵循
    的头像 发表于 02-01 16:24 1314次阅读