Try to detect the TLAST signal with ILA

https://discuss.pynq.io/t/dma-channel-not-started-when-changing-data-rates/1410/11?u=shiqi17
I looked at the issue about TLAST mentioned in this link and tried to analyze my port with ILA.

Here are the results I got from my block design and using ILA. It can be seen that the TLAST signal of the out_r port is consistently high.


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”

Hi @shiqi17,

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.

Mario

Hello, thank you very much for your answer.

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.


When I export .bit, .hwh and .tcl both and merge them. ipynb in a folder. The jupyter statement given in the execution example still has an error.

I don’t why occur.Maybe it will connect to my project about LSTM IP core. I will solve LSTM IP core when execute the example successful!

HI @shiqi17,

You are using a very old version of PYNQ. I suggest you move to PYNQ 3.0.1.
Unfortunately, we will not be able to support this old version.

Mario

I WOULD VERY MUCH LIKE TO USE THE NEW VERSION OF PYNQ.
But my board is a black and gold version of ALINX AX7020, no corresponding image was found.

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?

@shiqi17,

I suggested what you can try with the LSTM IP. I don’t think the way you are calling the DMA is the correct one.