在米尔科技的z-turn板上,采用AXI DMA 实现zynq的PS与PL数据交互。 二、分析 ①PS数据传PL 驱动中的测试程序中给出一堆数据,通过DMA传输到AXI4-Stream Data FIFO ,PL端从DATA FIFO中把数据读出来。 ②PL数据传PS 将PS传入PL的数据回传,在PS端显示出数据,最后将数据乘2再送入DMA。 ③PL端代码思路 1)读...
(* X_INTERFACE_INFO = "xilinx.com:display_processing_system7:fixedio:1.0 FIXED_IO PS_PORB" *) inout FIXED_IO_ps_porb; (* X_INTERFACE_INFO = "xilinx.com:display_processing_system7:fixedio:1.0 FIXED_IO PS_SRSTB" *) inout FIXED_IO_ps_srstb; wire [0:0]VIO_PL_probe_out0; wire...
2.2直接交互 (1)vivado连接方式 直接交互方式如下图2-2所示,信号传输流向为: PS--->AXI SmartConnect--->PL 模块搭建完成之后,也需要在address editor界面分配reg的访问地址。 图2-2 直接交互方式(例) (2)SDK编写 步骤和方法与上述基于BRAM的交互方式一致,可参考2.1中SDK编写内容。 3.总结 使用AXI_GP接口进...
因此,我们将使用ZYNQ作为系统主控,相对与纯FPGA有很多优势,如:适合做主系统控制;可设计丰富的交互;PS端与PL端优势互补;有丰富的库;PL与PS使用内部的AXI总线交互带宽大等等。 PL负责将数据给到PS端,PS使用TCP协议与上位机进行通信。交互部分的设计往往是难点,我们通过学习PL-PS交互DMA加深这部分的设计思维。再DMA...
本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示。 涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用。
从图中可以看到,ZYNQ的绝大多数外设都是PL逻辑部分相连,比如说GPIO,IIS,XADC等等,所以如果我们要使用这些外设的话必须在PL逻辑部分对其进行配置。OK,下面我们就以一个简单的例子来看看如何使用PL和PS进行交互。在下面的例子中,我们通过设置8个开关来对应点亮8个LED灯。
总而言之,在 PS 和 PL 之间使用了惊人的 14.4Gbytes/sec(115.2Gbits/sec)的理论带宽! 创建AXI外设 这一节将使用 AXI 接口在 Zynq SoC 的可编程逻辑结构中创建外设。 第一步 第一步是打开 Vivado 设计并从工具选项下选择“创建和封装 IP”选项-create and package IP。
从图中可以看到,ZYNQ的绝大多数外设都是PL逻辑部分相连,比如说GPIO,IIS,XADC等等,所以如果我们要使用这些外设的话必须在PL逻辑部分对其进行配置。OK,下面我们就以一个简单的例子来看看如何使用PL和PS进行交互。在下面的例子中,我们通过设置8个开关来对应点亮8个LED灯。
市场上有特别多的ZYNQ资料,但是这些资料都有一些弊端,比如 ① 听着听着就听不懂了,重点放在PS上。 ② 没有如何调试、如何debug程序等等,调试能力对于工程师是非常非常重要的。 ③ PS和PL交互讲的不够深入。 所以小白这里想做一份可以让新手小白轻松听懂的教程,重点讲两
欢迎加入qq群:874346944 第一节:介绍PS端接口AXI_GP、AXI_HP、AXI_ACP。第二节:介绍AXI协议:axi_lite、axi_stream、axi_full 第三节:基于axi_lite的PS和PL项目,讲解使用如何axi_lite方法实现交互,带你做demo。第四节:基于axi_full的PS和PL交互项目。第五节:基于AXI_DMA的PS和PL交互...