-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Axi port write data error #342
Comments
If you are emulating a litedram_core alone, you need to initialize the core, that is, you need to read and write the wishbone bus. Take a look at this article, it may help you:https://blog.csdn.net/weixin_46423500/article/details/130983066 |
Hello, thank you for your reply. In fact, I have already implemented the initialization of the Litedram kernel before using the AXI interface, and the DDR has also been successfully initialized (init_done raised and init_error lowered). However, I don't know why there is an issue with writing data to the AXI interface.In addition,this is my yml file:
|
Hello, @enjoy-digital . |
Hello @Yuxin-Yu, thanks for reporting the potential issue and providing waveforms. As a first test, could you increase w_buffer and r_buffer here: https://github.com/enjoy-digital/litedram/blob/master/litedram/frontend/axi.py#L324 to 32 or 64 and see if you test still fails? I'll then also try to do more simulation similar to yours. |
Hi @enjoy-digital Also, I roughly understand what you mean. You may think that the depth of the fifo is not enough and it is stuck, so I also checked the number of data written to the fifo inside Litetram. I found that it got stuck after completing 27 (the number of last burst write) and did not fill it to 64. Therefore, I don't think it is a problem with the depth of the fifo. Additionally, I found that soc_write_w_buffer_syncfifo_re signal that hasn't been raised. I feel like it's a problem with these signals, but I don't know how to solve it |
Hi @enjoy-digital |
Hi @enjoy-digital . |
Hello, my application scenario requires a DDR3 controller with axi interface, so I generated my DDR3 source code based on the stlv7325 development board. However, even if DDR3 initialization is successful during use, there may be issues with DDR reading and writing data failure.
In order to verify the data read and write issues of the axi interface, I connected the axi interface of the litedram core to the official mig example of xilinx. After successful DDR initialization, I found that the axi interface of the litedram core can read data normally, as follows:
However, the write data failed, and the write preparation signal remained low, as follows:
From the picture, it can be seen that the writing error signal write_err has also been raised. May I ask if this is due to the different functions of the Litedram core and Mig design, which caused the testing to fail in the official Mig testing example of Xilinx, or is it because I overlooked which part was not set properly?
The text was updated successfully, but these errors were encountered: