-
Notifications
You must be signed in to change notification settings - Fork 263
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
Add axi master #1017
base: master
Are you sure you want to change the base?
Add axi master #1017
Conversation
Thanks for getting this started. I'm aware of several implementations over the years but non of them made it to open source. It so happens that I have my eyes on yet another implementation in progress that may or not make it to the public. Even if that doesn't become open source, I can keep track of what features it requires such that the VC released by VUnit can meet those as well. I will get back when I have more info. |
As you might figured out already this implementation is not yet finished. I am still working on it. Basically I am now adding the functionallity to each single signal. At the moment I have deticated reserved time to implement this specific VC. It would be nice to know if the work will get obsolete some day or be replaced by another implementation. Otherwise I will keep going with the implementation. Hopefully with your early review / support. @LarsAsplund |
Since you've started and the other implementation may not make it to open source, I think we should continue on what you have. What I hope is to align on the required feature set such that you both can work on the open implementation in the end. I will come back and review a bit later, |
Thank you for the answer! I am currently working on the read burst behaviour. It is not finished yet but I think you could get an idea where the journey should go. |
@LarsAsplund |
I have yet to review it. The other implementation I'm keeping my eyes on is settling now so I think I will be in a position to review shortly and then make sure that the one you have is "feature compatible". With that I don't mean that it has to have all features but rather that the API is such that it can evolve and eventually cover all the things the other project is requiring. That way there is a chance that the two efforts can be merged in the end. |
@LarsAsplund |
All generics are now integrated into a single parameter of type apb_master_t.
The bus_master implementation will create an actor if null_actor is given as parameter. So we don't have to do it in apb_master.
Keep it locked while there is unfinished work to do.
Major change to support optional pslverror signal of APB3.
Implementing rules 5 and 10. The logger name is set according to the id field.
@LarsAsplund What is the sync interface mentioned by rule 9? Do I have to make some changes to my entity? If yes, could you please give me more information about what I have to change / implement? |
@LarsAsplund Rule 9 and 11 are still not implemented. Do you have any examples or suggestions of what I have to implement there? |
The sync interface is referring to https://github.com/VUnit/vunit/blob/master/vunit/vhdl/verification_components/src/sync_pkg.vhd which contains the
wait_ messages, it will return without taking any action. If it is called with a wait_ related message it will take action and then return with the msg_type set to the special value message_handled . This means that the else branch in the following if statement will be entered and unexpected_msg_type is called. That is no problem because that procedure treats message_handled as a special case and will just return.
|
The standard configuration is a convenience provided by https://github.com/VUnit/vunit/blob/master/vunit/vhdl/verification_components/src/vc_pkg.vhd. I just merged it to master so you need to rebase your branch. The idea is that you use Also note the new By providing a
|
Added axi master with equally powerful implementation as axi lite master has