FPGA 30 - Zynq SoC FPGA Direct Memory Access (DMA) between PS DDR memory and PL AXI4-Stream FIFO

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ส.ค. 2023
  • In this episode, we're building a complete Zynq SoC FPGA application demonstrating direct memory access (DMA) in both directions between the processing system's DDR memory and another block of memory with an AXI4-stream interface residing in the programmable logic fabric.
    The application is validated on the pynq-z1 board.
    The DMA engine is configured by the C application through the AXI4-Lite interface to initiate DMA-read and DMA-write operations. In DMA-read operation, a block of 16 32-bit incrementing numbers is transferred from the DDR to the AXI4-Stream FIFO data buffer. That block of data from the AXI4-Stream FIFO is then moved back to the DDR at a different memory location through a DMA-write operation. The received data is then read and verified to validate the complete DMA application works as intended.
    #fpga #zynq #vivado #vitis #embedded #verilog #xilinx
    Related Zynq SoC FPGA episodes:
    FPGA 29 - Zynq SoC FPGA XADC application to measure on-chip power supply voltages and die temperature
    • FPGA 29 - Zynq SoC FPG...
    FPGA 27 - Zynq SoC FPGA PL interrupts PS to trigger software execution
    • FPGA 27 - Zynq SoC FPG...
    FPGA 26 - Shared PS-PL AXI BRAM Application on Zynq SoC FPGA (VHDL)
    • FPGA 26 - Shared PS-PL...
    FPGA 25 - Shared PS-PL AXI BRAM Application on Zynq SoC FPGA (Verilog)
    • FPGA 25 - Shared PS-PL...
    FPGA 20 - Build complete Zynq SoC FPGA application for PYNQ-Z1 with software control of AXI GPIO LEDs
    • FPGA 20 - Build comple...
    Recommended prerequisites:
    FPGA 1 - Set up AMD Xilinx Vivado/Vitis (free version)
    • FPGA 1 - Set up AMD Xi...
    FPGA 3 - First Verilog Vivado project for beginners
    • FPGA 3 - First Verilog...
    FPGA 4 - First VHDL Vivado project for beginners
    • FPGA 4 - First VHDL Vi...
    FPGA 15 - Xilinx Zynq SoC FPGA Build your first "hello world" program
    • FPGA 15 - Xilinx Zynq ...

ความคิดเห็น • 9

  • @nikolaykostishen6402
    @nikolaykostishen6402 10 หลายเดือนก่อน

    Thanks for nice tutorial as usual.

    • @FPGARevolution
      @FPGARevolution  10 หลายเดือนก่อน

      You're very welcome!

  • @jonggeunlim6151
    @jonggeunlim6151 4 หลายเดือนก่อน

    Nice video

  • @user-vj3cx3hj9g
    @user-vj3cx3hj9g 4 หลายเดือนก่อน

    thanks for this tutorial video

  • @mannguyen5781
    @mannguyen5781 27 วันที่ผ่านมา

    hi, i have a question, and I need your assistance. When does DMA stop reading? Many thanks.

  • @sw3916
    @sw3916 3 หลายเดือนก่อน

    Hi thanks for the video, dont you need to connect the fixed_io and DDR pins of the Zynq7 block in the PL via the auto connect?

  • @edward4061
    @edward4061 2 หลายเดือนก่อน

    Hi thanks for the tutorial. What changes i have to do if i want to send data from PL AXI SPI to PS DDR3 using DMA

  • @angelg3986
    @angelg3986 5 หลายเดือนก่อน

    Nice video. Do you have another showing how an FPGA on the PCIE bus of a PC can do DMA C2H via PCIE ?

  • @user-py6zc5gx3l
    @user-py6zc5gx3l 2 หลายเดือนก่อน

    could the design be shared? maybe tcl