-
-
Notifications
You must be signed in to change notification settings - Fork 280
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
Adding a new Verilator processor model #319
Comments
Awesome!
It has not changed since that work was done.
Based on the tests that i ran back then, yes, everything seemed to be working as expected.
That is the best documentation available. However, it's been a while since that branch has been touched, so i'd recommend rebasing https://github.com/mortbopet/Ripes/tree/picorv32 to the master branch and submitting a PR to effectuate the rebase. In general, i'd recommend getting https://github.com/mortbopet/Ripes/tree/picorv32 up and running and getting a feel for how verilator is called during the build process, as well as ripes_picorv32.h/.cpp; those are the files which constitute the bulk of the integration with a Verilator - and which probably should be more built out to be a generic "verilator" simulation wrapper, if you're also aiming at getting this stuff upstreamed. |
Hello again. Sorry for the delay replying. I have been playing a bit with Ripes, consulting the sources for the master branch and for the one of PicoRV32. Thank you very much in advanced for your time! :-) |
See that is the difficult thing here, and i'm not sure that there actually is a way to do this neatly. In short, to support visualization, the simulator needs to:
VSRTL (the simulation and visualization framework used in Ripes) was built to support the above. That is, VSRTL contains three things:
The idea is then that other users should be able to bring their own backends to hook up to VSRTL, provided that they can fulfill the requirements of the VSRTL interface. The Verilator experimentation-in-Ripes that you've been investigating completely skips VSRTL. Hence, it doesn't do anything to adhere to the VSRTL interface, and hence, there is no visualization. It does adhere to the Ripes interface, which means that you can use essentially all other Ripes features which doesn't pertain to visualization (program loading, register and memory inspection, ...). Now, is it then possible to hook up Verilator to comply with the VSRTL interface? I think it's going to be difficult. I remember experimenting with Verilator's XML output to be able to gather this information, but without much success; maybe you want to look into that. Another avenue which i think is much more promising is to look into whether |
Hi,
I'm a Computer Science Engineering student in Spain and I'm using RIPES for my final degree's project. My aim is to add a new processor model, which is described in System Verilog.
I am following the page Adding a new Processor model since it shows some previous work done with PicoRV32. Which is the state of this implementation? Is it fully working? Do you think that the page I am following is the best one to follow in this case or do you have any new documentation?
Thanks in advance.
The text was updated successfully, but these errors were encountered: