Skip to content

Latest commit

 

History

History
21 lines (12 loc) · 757 Bytes

README.md

File metadata and controls

21 lines (12 loc) · 757 Bytes

This is an educational project implementing a subset of RISC V 32 I in Verilog.

For testing:

pipenv run fusesoc run --target=sim namosca:arisco:core (outdated for now)

run tests.sh (for now the current)

Test will suceed on assembly code if register x31 is zero. So, if you want to test a function, store the expected value in some register, then store the difference into x31. If its zero, it passes. Otherwise, you have to fix the implementation :)

Useful resources: http://tice.sea.eseo.fr/riscv/ https://godbolt.org/z/cv9Yq6nW9

For making ICE40 run at 48Mhz:

https://github.com/smunaut/ice40-playground/blob/master/projects/riscv_doom/rtl/sysmgr.v https://github.com/smunaut/ice40-playground/blob/master/projects/riscv_doom/rtl/top.v#L460-L466