Does this explain why I can only output a result: 0 in the jupyterbook code? How do I change it to output multiple handwritten digit recognition results at once, and at the same time I get the error code “DMA channel not idle”
TLAST is only useful when there is valid data on the channel. TVALID and TREADY asserted at the same time. The image you shared is of an inactive stream and shown by the metadata.
I am not familiar with the LSTM IP.
Form your Python code, it seems that your in_buf holds IMG_NUM. Then in the loop, you just assign only one image, but when you start the dma, you ask for the whole in_buf to be moved.
If you want to do one inference at the time, the dma.sendchannel.transfer should be updated to in_buf[i]
Also, if you are running inference one image at the time, it makes more sense to only allocate space for one image.
I tried the PYNQ DMA tutorial (Part 1: Hardware design) you mentioned two days ago, and I found that I was also having problems using the vivado framework that I built myself.Here’s a project I created with Vivado 2018.3 based on the tutorial.I’m using a PYNQ 2.4 image.
Is there any other way to use this board? This board was given to me by my supervisor. I don’t know if I can change it for another board. Can you give me some advice?