02-11-2019 02:43 AM - edited 02-11-2019 02:47 AM
I'm working on a project that use a Zed Board with Zynq 7Z020 FPGA. I'm making a computer vision back ground subtractor module.
I need to exchange the input image, the output image, 4 big vectors (in/out) and some other parameters (only in).
I'm using axi stream VDMA for the input/output image, the axi lite for the input parameters and the AXI master for the big vectors.
My doubt is the following: Can I use 4 vectors as input output or is better to split and have 4 vectors for the input and 4 vectors for the output?
I'm having communication problems in from the linux program I'm writing. The IP made with Vivado HLS pass the simulation and sinthesis phase.
Below, the vivado structure I have created is following. Any help is welcome. Many thanks in advance
02-11-2019 03:28 AM
I prefer to do everything with a single AXI Master (unless the block is actually talking to multiple AXI Slaves). AXI Masters are pretty big bits of hardware, and adding lots of them can also create a mess of AXI infrastructure - so it's generally nicer to just have a single one on the block that handles all of the input and output.
02-19-2019 08:28 AM
To add on to what @u4223374
There should not be a problem sending multiple vectors through a single AXI Master. Have you confirmed that the hardware works as you expect before moving onto software/Linux? It is really easy to determine if something is a hardware problem if you can simulate and check the hardware before running software on the design.
Once confident in the hardware, then you can be sure it is a software problem which has a seperate debug path. If you haven't tried an example design with VDMA that might be a good place to start as it would give a sanity check. PG020 has a good example design if that would help: https://www.xilinx.com/support/documentation/ip_documentation/axi_vdma/v6_2/pg020_axi_vdma.pdf
02-19-2019 08:56 AM
Thanks for your replies,
I havent simulated the design in the way described in pg020_axi_vdma.pdf but the structure is similar to other project. To debug the hardware what I'm doing is to change the IP into something more easyest:
- For the in/out image a simple color converter module form rgb to gray from vivado hls opencv function