-
Notifications
You must be signed in to change notification settings - Fork 26
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
UVM VIP testing environment #20
Comments
Hello, thanks for your interest for this IP :) Good to see somebody is exercising it with UVM. 1/ Do you mean you have a wrong BRESP value or the whole write response channel is not forwarded? In my environment, I didn't notice any problem with BRESP. Maybe could you attach a waveform so I could take a look to help you (VCD format). 2/ Yes, the core will forward all the transactions as long you configured enough outstanding requests ( 3/ No, for the moment you can't change the number of masters and slaves. The parameters are placeholders for a future update. Please refer to #12 and #13 for more details. The switching fabric needs few updates to support any number of master and slaves. Probably I'll do it in the next months, for the moment I work on #9. Best, |
Hi Damien, Thank you so much for taking the time to reply. I truly appreciate your guidance and support. The response channel is stuck, and the read channel is in the same situation. Maybe my parameters setting are wrong? VCD waveform |
Hello, I took a look to the waveform and many things are incorrect.
To start your journey, I would advise you to run the simulation and check the waveform generated. The test REDAME explains how to execute a test case. Best, |
Hi, Damien |
Good news bro, have a good journey 😎 |
Hello, Yes it’s expected, but I know it’s not very compliant with AXI4. I implemented this behavior to save area. Moreover, it could cause an ordering problem if several requests with the same ID are issued but one is misrouted. I planned to fix the ordering rules for read request with #9 but the write channels for this corner case definitely deserve a fix, thanks for pointing it ! Good to see somebody is exercising the core with a true verification flow and a VIP 😎 Can you tell me which simulator and VIP are you using? Best, |
Hi Damien,
Once again, I sincerely thank you for your time |
Hello, Yes, FIFOs are used across the core as buffers for outstanding requests storage. If an interface and the switch core are synchronous, I use single clock FIFO, else I use an asynchronous (dual clock) FIFO to handle the CDC. Damien |
Hello,
Your work is very comprehensive, and the functionality is quite complete. I want to try using your IP in my test environment to observe its behavior. There are a few questions I’d like to ask:
I am using a UVM VIP for testing. While observing the waveform, I noticed that the
b_resp
is received at the master interface but is not forwarded to the slave interface in the crossbar. This causes aUVM_ERROR
. Please advise where I should start troubleshooting to track down the issue?Since I cannot fully observe the behavior, I’d like to ask about the outstanding scenario. Assuming there is only 1 master and 1 slave, if the addr input consists of 3 consecutive transactions (with valid as a level signal), will the crossbar immediately forward all three transactions(like receiving data from slave interface can keep aready hold 3 clk )?
It seems that the master/slave num parameters can be adjusted to any number. However, I noticed that the top is set to 4x4. If I change it to
m=2
ands=2
, will it still work as expected?Thank you for your patience in reading my questions.
I greatly appreciate your assistance and look forward to your response.
The text was updated successfully, but these errors were encountered: