Files
cpu/README.md
Brendan Haines 9dddfd07c2
All checks were successful
Build / Run Test `test_basic` (push) Successful in -50s
Build / Run Test `test_c` (push) Successful in -58s
add icon
2025-08-29 01:36:02 -06:00

36 lines
1.2 KiB
Markdown

# RISC-V CPU
Short Term To Do:
- [ ] add stalls for memory access
- [ ] use AXI for memory access (depends on AXIL memory module for test)
- [ ] add tests for non-pipelined case
- [ ] get C working (may depend on memory stalls)
Desired features:
- [ ] 1- or 5-stage pipeline selectable via parameter
- [ ] AXI-lite Master for both instruction and data memory
- [ ] 32, 64, (or 128?) bit word size
- [ ] floating point
- [ ] multiplication
- [ ] division
- [ ] instruction and data caches
- [ ] JTAG debug probe
## Development
### Testing
I'm using [act](https://github.com/nektos/act) for local testing. No special installation is required since everything gets built and tested in containers as part of the CI actions.
To run the tests, use
```bash
act push
```
## Resources
* [AXI4 Protocol Specification](https://developer.arm.com/documentation/ihi0022/e/AMBA-AXI3-and-AXI4-Protocol-Specification?lang=en)
* [JTAG Bus Description](https://web.archive.org/web/20230314233136/http://www.interfacebus.com/Design_Connector_JTAG_Bus.html)
* [1149.1-2013 - IEEE Standard for Test Access Port and Boundary-Scan Architecture](https://ieeexplore.ieee.org/document/6515989)
## Attribution
* [Icon](https://www.flaticon.com/free-icon/cpu_543275)