Still a few base instructions to go, but those are waiting on the privileged implementation. My game plan: - implement privileged spec (M-only), adding way to handle traps - finish implementing last of the base instructions - add in exceptions that have been ignored in all instructions - clean up main memory interface, mmaybe add some caching, at least some instruction cache.
20 lines
832 B
Markdown
20 lines
832 B
Markdown
# runt
|
|
|
|
A small, underperforming RV32I core, written in nMigen.
|
|
|
|
I want to get it to the point where I could actually use it in a design, but I doubt it will have
|
|
any practical use, especially when compared to a VexRiscV or picorv32 core.
|
|
|
|
This is my first CPU, and I also somewhat intentionally didn't look at any resources,
|
|
so it will likely be full of questionable design decisions that anyone with any experience
|
|
would have avoided.
|
|
|
|
## Milestones
|
|
|
|
- [ ] Full RV32I implementation, able to run code in simulation (not verified working correctly at
|
|
this point)
|
|
- [ ] Full coverage with riscv-tests, verified working.
|
|
- [ ] Integrated with some hardware to make an """SoC""", running on my Arty A7
|
|
- [ ] Full coverage with riscv-formal
|
|
- [ ] (Maybe...) work on improving performance, add caching/prefetch, pipeline it, etc.
|