merledu / nucleusrv

NucleusRV - A 32-bit 5 staged pipelined risc-v core.
GNU General Public License v3.0
59 stars 24 forks source link

Shift Vector Arithmetic Instructions Implementation to NRV #68

Open shahzaibk23 opened 11 months ago

shahzaibk23 commented 11 months ago

To Shift all the RVV Arithmetic Instructions that are successfully done in Vaquita, into NucleusRV.

Goals:

SyedHassanUlHaq commented 10 months ago

Update on Shifting RVV Arithmetic and Configuration Instructions to NucleusRV

I have successfully completed the first two steps of this task and made significant progress in addressing data and structural hazards. I'd like to provide a summary of our my progress and the next steps to be taken.

Completed Steps:

  1. All Previously Done Instructions in Vaquita Working on NRV: I have successfully shifted all RVV Arithmetic Instructions from Vaquita to NucleusRV. These instructions are now operational within the NucleusRV framework.

  2. Parameterization of V Extension: In alignment with the standard practice for RVV extensions in NucleusRV. Next Steps:

  3. Compliance Assurance: The parameterization should not compromise compliance with the I, M, F, and C standard specifications. I have thoroughly reviewed the code to ensure that no violations are expected.

  4. Data and Structural Hazards Mitigation: I have made significant progress in addressing data and structural hazards but still there are some potential hazards that are needed to be addressed.

  5. Vector Verification: In the coming stages, we will conduct comprehensive vector verification, including testing with RISCOF and random instructions to validate the the V extention

Verification Status:

I've manually performed verification using gtk wave. The Next goal is to update the compliance for automated testing.