Mismatch of PYNQ Data Stream from DMA

-PYNQ Version 2.7.0
-Board: PYNQ-Z1
-Vivado & VITIS HLS 2021.2.1

What I’m trying to do:
I’m trying to run tutorials to send data from a Zynq (via jupyter notebooks) to an HLS generated IP. I’ve been following the DMA tutorials by @ [cathalmccabe]:

What I’ve done and gotten to work:
I’ve run tutorials to send data from a Zynq (via jupyter notebooks) to a FIFO loopback and have had success. Link to the end of the tutorial:

Problem:
When I get to the end of the following Zynq (via jupyter notebooks) to an HLS generated IP tutorial I have a problem.

In the " DMA receive" section… The values that we should get back are:

0x05
0x06
0x07
0x08
0x09
0x0a
0x0b
0x0c
0x0d
0x0e

I get the following:

0x05
0x07
0x09
0x0b
0x0d
0x0f
0x11
0x13
0x15
0x17

I’ve followed everything exactly… a couple of times… and still keep getting this issue. I’m not really sure why this is happening because the HLS IP clearly does the following: output = input + 5. Could this be due to my data possibly not being aligned properly in the DMA?

1 Like

It seems as though I figured it out.

The HLS example had an input requested size of 4 bytes.

But my DMA had a stream data width with a size of 8 bytes:

I changed the stream data width size to 4 bytes to match the HLS input size of 4 bytes and then I received the correct values.