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

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

3天内不再提示

Xilinx的四个pynq类和PL接口

aIpM_gongkongwo 来源:工程师曾玲 2018-12-30 09:45 次阅读

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可以使用物理地址访问同一缓冲区。

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

DMA

AXI stream接口通常用于高性能流应用。 AXI stream可以通过DMA与Zynq AXI HP端口一起使用。

pynq DMA类支持AXI直接内存访问IP。 这允许数据从DRAM读取,并发送到AXI stream,或从stream接收并写入DRAM。

有关使用DMA的更多信息,请参见DMA部分。

Interrupt

有一些专用中断与python环境中的asyncio事件相关联。 要集成到PYNQ框架中,必须将专用中断连接到AXI中断控制器,该控制器又连接到PS的第一个中断线。 如果需要超过32个中断,则可以级联AXI中断控制器。 对于不受PYNQ直接控制的IP,例如SDSoC加速器,这种安排使其他中断空闲。

中断由Interrupt类管理,实现基于asyncio构建,asyncio是Python标准库的一部分。

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

    关注

    33

    文章

    7639

    浏览量

    148478
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119372

原文标题:泵的基础知识与选型原则、经验

文章出处:【微信号:gongkongworld,微信公众号:工控资料窝】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PYNQ项目——Pynq开发板启动实验

    作者:Mculover666 今天刚刚到手一块PYNQ-Z2,确认过眼神,是我想要的板子,话不多说,开干。     PYNQ项目是一个支持Xilinx Zynq器件的开源软件框架,目的在于借助
    的头像 发表于 12-23 10:58 3369次阅读

    PYNQ案例(一):ZYNQ的PL与PS开发

    Pynq降低了开发人员的门槛,但知其然也知其所以然,开发效率将会更高。因此,在进入PYNQ的python开发之前,我们先来学习ZYNQ的PL与PS开发,为接下来的学习提供良好的基础。 本部分的学习
    的头像 发表于 12-25 14:11 6970次阅读

    基于PYNQ-Z2开发板的PYNQ开源项目

    PYNQ项目是一个新的开源框架,使嵌入式编程人员在无需设计可编程逻辑电路的情况下充分发挥Xilinx Zynq All Programmable SoC(APSoC)的功能。 与常规方式
    的头像 发表于 01-02 09:02 5754次阅读
    基于<b class='flag-5'>PYNQ</b>-Z2开发板的<b class='flag-5'>PYNQ</b>开源项目

    如何为自己的ZYNQ板卡创建Pynq镜像

    Xilinx Pynq 框架允许我们将 Python 和可编程逻辑结合起来。让我们看看如何为自己的ZYNQ板卡创建 Pynq 镜像。
    发表于 08-07 09:26 975次阅读
    如何为自己的ZYNQ板卡创建<b class='flag-5'>Pynq</b>镜像

    PYNQ-Z2申请】基于PYNQ的神经网络自动驾驶小车

    项目名称:基于PYNQ的神经网络自动驾驶小车试用计划:一、本人技术背景本人有年以上的嵌入式开发和三年以上的机器视觉领域项目实践经验,在计算机视觉与FPGA数字图像处理方面有较多的理论研究与项目实践
    发表于 12-19 11:36

    PYNQ-Z2申请】基于pynq的语音识别和新闻报道系统

    项目名称:基于pynq的语音识别和新闻报道系统试用计划:申请理由本人在Zynq如那件无线电方向有三年多的学习和开发经验,曾设计过基于ZYNQ 7020的频谱监测和室内定位平台,对DMA高速接口
    发表于 12-19 11:38

    PYNQ-Z2试用体验】玩转PYNQ系列:一、板卡简介与资源整理

    System):双核ARM Cortex-A9硬核处理器,一般工作频率650MHz;PL(Programmable Logic):Artix-7系列可编程逻辑 • 13,300 逻辑片,每个具有四个6输入
    发表于 12-31 10:53

    PYNQ-Z2试用体验】玩转PYNQ系列:二、板卡上电与开发环境配置

    。接好线后的板卡如图所示。上电后1秒内,芯片上方的“Done” LED指示灯会亮起,表明PL部分已配置完成;接通电源后约一分钟,两RGB LED会显示蓝色,并和四个普通 LED同时闪烁,随后RGB
    发表于 01-07 11:34

    PYNQ-Z2试用体验】PYNQ-Z2开箱上手以及基本的功能验证(年底比较忙,今天才传的报告)

    `1.包装专门设计了一泡沫内衬进行保护,板子用防静电袋密封包装,包装十分牢靠。PYNQ-Z2开箱正面图 板子背面板子焊接十分美观,一看就知道是大厂用SMT焊接的,底部还贴心的安装了四个胶垫,防止
    发表于 01-21 12:18

    PYNQ-Z2试用体验】玩转PYNQ系列:三、PYNQ数字图像处理之图像采集

    `在硬件上,PYNQ-Z2为更好地扩展图像应用,同时配备了HDMI输入和HDMI输出端口。但硬件上并没有使用HDMI芯片进行控制,而是直接将HDMI接口连接到PL引脚。这意味着HDMI接口
    发表于 01-28 22:50

    请问USB接口四个引脚到底分别是什么?

    USB接口四个引脚到底分别是什么?有的资料上说分别是5V电源、数据-、数据+、地,有的资料上确说分别是5V电源、数据-、数据+、-5v到底哪个是正确的?为-5V的图片。为地的那个图片?到底哪个正确呢?还是两都正确,使用条件不
    发表于 06-09 23:19

    什么是PYNQ

    什么是PYNQPYNQ就是通过Python语言直接对FPGA进行编程吗?PYNQPYNQ-Z2是一回事吗?PYNQ-Z2是否支持传统开发
    发表于 02-24 07:02

    PYNQ开源方案

    板卡购买:Digilent(迪芝伦)PYNQ目录微信公众号:PYNQ开源社区百度/CSDN博客BilibiliGitHub/ Gitee(开源项目)Xilinx官方代码库PYNQ官网中
    发表于 08-04 08:29

    【KV260视觉入门套件试用体验】Zynq超强辅助-PYNQ配置,并使用XVC(Xilinx Virtual Cable)调试FPGA逻辑

    期测评计划: 一、开箱报告,KV260通过网线共享PC网络 二、Zynq超强辅助-PYNQ配置,并使用XVC(Xilinx Virtual Cable)调试FPGA逻辑 三、硬件加速之—使用
    发表于 09-16 14:15

    【KV260视觉入门套件试用体验】PYNQ初次上手体验

    PYNQ 是 AMD 的一开源项目,用于快速进行自适应计算平台的开发 。 使用Python语言和库,我们可以利用FPGA和ARM协同开发的优势来构建项目 PYNQ 可与 AMD Xilinx
    发表于 10-18 01:22