C C++最新xilinx PYNQ PS与PL的接口说明_xilinx ps pl,2024年最新高级C C++开发面试题

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

PS/PL Interfaces

Zynq在PS和PL之间有9个AXI接口。 在PL方面,有4x AXI Master HP(高性能)端口,2x AXI GP(通用)端口,2x AXI Slave GP端口和1x AXI Master ACP端口。 PS中还有连接到PL的GPIO控制器。
在这里插入图片描述

有四个pynq类用于管理Zynq PS(包括PS DRAM)和PL接口之间的数据移动。

1.GPIO - 通用输入/输出
2.MMIO - 内存映射IO
3.Xlnk - 内存分配
4.DMA - 直接内存访问

使用的类取决于IP连接的Zynq PS接口以及IP的接口。

在PYNQ上运行的Python代码可以使IP通过AXI Slave访问连接到GP端口。 MMIO可用于执行此操作。

连接到AXI Master端口的IP不受PS的直接控制。 AXI Master端口允许IP直接访问DRAM。在执行此操作之前,应分配内存以供IP使用。 Xlnk类可用于执行此操作。对于PS DRAM和IP之间的更高性能数据传输,可以使用DMA。 PYNQ提供DMA类。

在设计自己的 overlay时,您需要考虑所需的IP类型以及它如何连接到PS。然后,您应该能够确定使用IP所需的类。

PS GPIO

从Zynq PS到PL有64个GPIO(线路)。

来自PS的PS GPIO线可以作为非常简单的方式用来进行PS和PL之间通信。 例如,GPIO可用作复位或中断的控制信号。

IP连接到GPIO,不必映射到系统存储器映射。

有关使用PS GPIO的更多信息,请参阅PS GPIO部分。

MMIO

连接到AXI Slave GP端口的任何IP都将映射到系统存储器映射中。 MMIO可用于读/写内存映射位置。 MMIO读或写命令是将32位数据传输到存储器位置或从存储器位置传输32位数据的单个事务。 由于不支持突发指令,MMIO最适合从IP连接到AXI Slave GP端口读取和写入少量数据。

有关使用MMIO的更多信息,请参阅MMIO部分。

Xlnk

必须先分配内存,然后才能通过IP访问内存。 Xlnk允许分配内存缓冲区。 Xlnk分配一个连续的内存缓冲区,允许在PS和PL之间有效地传输数据。 Python或其他代码运行在PS端的Linux上,可以直接访问内存缓冲区。

当PYNQ运行Linux时,缓冲区将存在于Linux虚拟内存中。 Zynq AXI Slave端口允许overlay中的 AXI-master IP访问物理内存。 Xlnk还可以提供指向缓冲区的物理内存指针,该指针可以发送到overlay中的IP。 物理地址存储在分配的内存缓冲区实例的physical_address属性中。 然后,overlay中的IP可以使用物理地址访问同一缓冲区。

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

解视频,并且后续会持续更新**

如果你需要这些资料,可以戳这里获取

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值