-
Notifications
You must be signed in to change notification settings - Fork 27
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
Strange behaviour in wishbone bus #13
Comments
Sorry for the delay. Could you provide a way to reproduce this bug ? It would help me track down what happened. |
Yep, of course!! I'm going to clean it and make it reproducible. Give me a couples of days. |
Here is a repository with some useful scripts to reproduce this bug. https://github.com/andresdemski/lambdasoc-vexriscv Regards |
So I gave it a look, and it's weird because I can't reproduce this behavior: dbus writes at
The UART has two separate CSR bridges: one for its own registers ( In your screenshots, I believe that |
Running the same "test" with minerva and vexriscv cpus and using the same gtkw to view the signals, I'm getting different results. The IRQ of the uart isn't asserted with vexriscv. I'm having the same behavior in hardware too. Are you sure you are running the simulation with Vexriscv
Minerva
|
Hey! I fixed the problem, I don't know if it is the correct way to solve this but it works... I don't know about wishbone bus but I noticed that the ACK signals keeps in 1, and vexriscv generates 2 transactions without dead clocks between each other, so the second transaction is accepted but it isn't processed at all. I fixed it with the following changes on nmigen-soc:
What do you think? Is it ok? |
Hey! First of all, thanks you for this amazing ecosystem you are building on top of nmigen!! It looks like easier to use than litex.
I'm trying to add vexriscv CPU to this building system but the serial irq is never asserted. I found an unexpected behaviour trying to write "events enable" of the serial peripheral..
As it is shown next, the wb transaction is done but the signals w_stb never goes up but the data is latched correctly.
Looking at a correct transaction (tx register), I noticed that the ack signal is never asserted in the previous case but it works ok in the other cases:
The same SoC works with minerva CPU.
Let me know if i can help debuging this or sending more information.
Thank you
The text was updated successfully, but these errors were encountered: