Skip to content
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

Comparisons to preexisting simulators. #11

Open
TheThirdOne opened this issue May 18, 2020 · 1 comment
Open

Comparisons to preexisting simulators. #11

TheThirdOne opened this issue May 18, 2020 · 1 comment
Labels
documentation Improvements or additions to documentation

Comments

@TheThirdOne
Copy link

I saw the announcement on riscv-teach which explains a little of why this was made.

at this time this is probably the only RISC-V 64-bit pipeline simulator, which is "RISC-V edition, Patterson-Hennessy compliant" :-) since that book is using the 64-bit ISA and we are faithfully using their pipeline design. Moreover, it is web-based (no Java)!

It seems that this repo is missing any explanation of why you should choose it over other preexisting simulators.

The three points points of distinction I see are:

  • Supporting RV64IM - fence
  • Showing a pipeline
    • And that being the same design as used in the Patterson-Hennessy Book
  • Being on the web

rv8 (and several other simulators) supports rv64im and a bunch more as it is not really an educational tool, but a production one. Ripes seems to be the previously undisputed best pipeline simulator, but I don't know if it has a similar pipeline design. Venus is a web simulator that has been used at UC Berkeley for a few years.

Each one of them only supports one of the three points that WebRISC-V touts.

I would like to see the reasoning for why to choose WebRISC-V and references back to some of the competing simulators to make sure people are aware of other options if they are only looking for one of the points. In particular I think not referencing Ripes would be a tragedy.

Disclaimer: I have made a few small contributions to Ripes in the form of code and issue reporting

@Mariotti94
Copy link
Owner

Mariotti94 commented Jun 12, 2020

Hello, thank you for your interest.

A point in favor of WebRISC-V is having those points of distinction you pointed out all in a single simple didactic simulator, instead of having to use several other tools.
Another point in favor is the ease of pairing the simulator with the Patterson-Hennessy book, facilitating students learning.

For a more detailed comparison, excluding the various production tools and listing only the educational tools, since WebRISC-V is for didactic purposes, as far as i researched the available tools are Jupiter, RARS, BRISC-V, Venus, Ripes and WebRISC-V itself.
WebRISC-V is the only one supporting RV64 in this list.
The ones that have at least a portion on the web are BRISC-V, Venus and WebRISC-V, and they all have different didactic focus.
Ripes is the only other pipeline simulator, and is also quite good.
WebRISC-V and Ripes share many similarities, even if they have some differences in pipeline models and features.
Some feature differences useful for learning that WebRISC-V has are:

  • the possibility of selecting single architectural elements to see a more in-depth explanation of what is its use inside the pipeline.
  • the possibility of switching the branch delay slot to see what is its use inside the pipeline, seeing through the code examples the necessary changes in code and execution.

Possibly soon in the future i'll make a more in-depth comparison between WebRISC-V and Ripes.

Best Regards.

@Mariotti94 Mariotti94 added the documentation Improvements or additions to documentation label Jun 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants