11 hours ago
(08-05-2024, 09:57 AM)kgf Wrote: I am not very sure what it is you want. Note that various different PULP projects make use of available custom extension encoding space and use them differently. Are you talking about a specific core, specific instructions? Are you interested in porting a compiler to run with one of our cores? are you designing your own extensions and want to see what we did?
You mention cv32e40p, that is one of our earlier cores that is now being maintained by OpenHW with much better documentation and verification, we also frequently use this core.
I wanted to know if there is a document which lists the pulp instructions, across the various extensions, with some example usage and intended side effects / description, such as the one provided in the cv32e40p user manual linked above, or to a certain extent in the various other files I linked.
I ask this because I am trying to measure compliance / correctness of various tools (currently x-heep with the cv32e40pv2) and wanted to reuse the core-v-verif tests provided by the openhwgroup. However, these tests are not functional and as such I need to update them. Some of these have suffered alterations since the RI5CY days, but they are not documented anywhere. As such, I figured comparing the intended use of the new instructions with the intended use of the old instructions would be the most efficient way of seeing if the tests needed refactoring (verifying each one takes some time), so that is why I ask this.
To answer your question, I believe the tests were written back in or close to the RI5CY times, so I reckon that would be a good starting point.
Thanks!