Comments (3)
Now, I am not familiar with Ripes testing routine nor QtCreator automated testing. Where can I find more information on how to test Ripes?
The ripes tests (as defined here: https://github.com/mortbopet/Ripes/tree/master/test) are, in CI, run through this script https://github.com/mortbopet/Ripes/blob/master/.github/workflows/scripts/run_tests.sh. You can thus run these tests automatically, or run them through the QtCreator UI.]
Testing has been notoriously lackluster for both VSRTL and Ripes (although it used to be much, much worse). These tests are akin to integration tests and thus include dependencies on VSRTL, the Ripes assembler, some UI stuff, ...
Seeing as migrating Ripes to Qt6+WASM is a framework question, I'm not expecting that there will be that much change needed to the core logic of Ripes itself. Runtime issues like you're describing sounds to me like some small pesky bugs either in the Ripes code (likely) or Qt code (unlike).
Since you've verified that the Ripes UI work, i'd suggest proceeding with debugging in the following order:
- Ensure that the assembler is working
- Ensure that the assembled program is view-able in the memory tab
- Ensure that the memory structure provided to the processor contains the just assembled program (https://github.com/mortbopet/Ripes/blob/master/src/processorhandler.cpp#L117)
- Ensure that, when 'reset' is triggered in the Ripes UI, that this memory is actually being written (https://github.com/mortbopet/VSRTL/blob/c4ad8811947b6955b6e7b5720ab33df42f1f151c/core/vsrtl_addressspace.h#L80)
- Likewise, when clocking the processor, making sure that things are being loaded from memory.
from ripes.
from ripes.
Sure, I'd be interested! Although I don't know how "interesting" this work is from a RISC-V standpoint (this is mostly Qt and general C++ dev work, and not so much RISC-V specific... but we can always find something that is once this is done ;)).
Feel free to reach out to me at [email protected]
from ripes.
Related Issues (20)
- Open ecall does not support read only mode HOT 1
- Adding a new Verilator processor model HOT 3
- Ripes crashes when hovering over the cache statistics chart HOT 1
- Ripes crashes when using 'Open' Syscall HOT 2
- Error reporting when running on centos7 HOT 2
- Missing virtual destructors in abstract classes
- Discussion on Github Actions HOT 1
- Add Cache Replacement Policy HOT 1
- Setting a register as the first instruction sometimes causes a runtime error in the single-cycle processors
- Using CLI without UI
- Use `magic_enum` to replace various enum<-> name maps and better-enums HOT 1
- M-extension issue (multiplication exceeds 64-bits)
- Division by zero crash in assembler constant expressions
- Adding options for branch strategies and branch delay HOT 1
- "Clock the circuit with the selected frequency" (F6) never stops HOT 5
- How to handle System Input in CLI? HOT 3
- Assembly source code execution highlight only works with default .text start address HOT 2
- Input Type always set to `Assembly` on startup
- Adding an option to change the direction of memory address growth
- .gitignore does not match files generated at configuration/compile time (?) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ripes.