Week 11 Updates:
- Based on repeated simulations, 2 main problems were identified.
– Data was being received from the memory 1 clock cycle after sending the read signal and address, but the wrapper module was trying to read it in the same cycle, thus previous instruction was being read.
– The IOs were not correctly mapped to registers.
- A sequential logic was added to the wrapper module to read data in the next clock cycle after the read signal and address were received.
- Performed a few modifications on the register mapping IO to map them to registers and access them correctly with correct addresses and signals.
Blockers:
As mentioned above the two issues were the blockers this week.
Next Goal:
- Setup cross compiler.
- APB write interface for CSR.
Week 12 Updates:
- The Softcore CPU is now completely operational on BeagleV-Fire hardware.
- APB registers are successfully applied and integrated as CSRs that can reset the Softcore and be used to transfer GPIO access to the Linux on the BVF RISCV Subsystem by just writing to the CSR.
Officially this GSOC project will end on 26th of August, but I’ll still keep working on this project.
My next goal would be to have the compiler setup and easy user access to the Softcore along with good documentation of examples, usage, and benchmarks.