Transitioning from Artix 7 to Zynq SoC for Image Processing and Storage
I've been using FPGAs such as the Artix 7 to read the image data from peripherals and do processing, then display some output using LCD displays connected to FPGA I/O ports.
I'd like to transition to using Zynq SoC boards in order to store that processed image data using on-board RAM, and also making that image data accessible to the arm core (both directly from the FPGA and the RAM).
I think this involves creating a custom linux build that runs on the arm, something with AXI, then creating an application in C on the arm side.
Can anyone recommend a good tutorial running through all of this?
I am trying to stick with VHDL and Vivado as much as possible.
@Middleware & OS
Solution:Jump to solution
If you want your FPGA to write data to the RAM memory of the processor system, then your FPGA must implement the DMA engine.
It can be easily done with HLS (see https://docs.amd.com/r/en-US/ug1399-vitis-hls/AXI4-Master-Interface and https://github.com/Xilinx/Vitis-HLS-Introductory-Examples/blob/master/Interface/Memory/using\_axi\_master/example.cpp ). In HDL it is more complicated.
If you want to know more, you may read http://www.zynqbook.com/....
It can be easily done with HLS (see https://docs.amd.com/r/en-US/ug1399-vitis-hls/AXI4-Master-Interface and https://github.com/Xilinx/Vitis-HLS-Introductory-Examples/blob/master/Interface/Memory/using\_axi\_master/example.cpp ). In HDL it is more complicated.
If you want to know more, you may read http://www.zynqbook.com/....
4 Replies
Solution
If you want your FPGA to write data to the RAM memory of the processor system, then your FPGA must implement the DMA engine.
It can be easily done with HLS (see https://docs.amd.com/r/en-US/ug1399-vitis-hls/AXI4-Master-Interface and https://github.com/Xilinx/Vitis-HLS-Introductory-Examples/blob/master/Interface/Memory/using\_axi\_master/example.cpp ). In HDL it is more complicated.
If you want to know more, you may read http://www.zynqbook.com/.
It can be easily done with HLS (see https://docs.amd.com/r/en-US/ug1399-vitis-hls/AXI4-Master-Interface and https://github.com/Xilinx/Vitis-HLS-Introductory-Examples/blob/master/Interface/Memory/using\_axi\_master/example.cpp ). In HDL it is more complicated.
If you want to know more, you may read http://www.zynqbook.com/.
Ok @Enthernet Code Thanks 👍
https://youtube.com/playlist?list=PLXSyc11qLa1ZutrEG2XmyWrNz17SSQTdH&si=-wwncbr6A68dSE3V
This series targets Zynq - from bringup to using peripherals, using HDL and running simulations around the designed modules.
YouTube
FPGA
Thanks for the Recommendation @Navadeep