aboutsummaryrefslogtreecommitdiff
path: root/rv64cpu
Commit message (Collapse)AuthorAgeFilesLines
* test(trap_ctrl): add store page fault unit test caseRichard Qin2026-03-311-2/+10
| | | | | | | | | Added a specific test scenario for Store Page Fault in tb/unit/tb_trap_ctrl.cc. - Defined EXC_STORE_PAGE_FAULT (15) constant. - Implemented a test case that asserts trap_store_page_fault and verifies mcause and mtval. - Improved clarity by renaming existing page fault test labels to LoadPageFault. Co-authored-by: Richard-Qin-001 <69390919+Richard-Qin-001@users.noreply.github.com>
* feat: Complete CSR/privileged/exception interrupt path and fill in strict ↵Richard Qin2026-04-0119-201/+1269
| | | | | | | | | | | | | | | | | acceptance tests - Refactor trap/CSR data path in the Core, unified with trap_ctrl interface to drive CSR update and return process - Improve critical paths for exception/interrupt handling: ecall, illegal, load fault, external interrupt, mret/sret return - Adjust pipeline stage registers with flush/stall coordination, fix residual control signal issues in trap scenarios - Enhance decode and related pipeline module behavior consistency, fill in missing control signal propagation across registers - Expand core integration testing, add trap/interrupt scenarios and CLI dispatch that can be executed per case - Extend CSR unit test coverage: read/write semantics, privilege switching, delegation and nested returns, illegal access protection, etc. - Register new core scenario cases in CTest to form a regression-capable P2 strict acceptance suite Verification: - Build passed - Full CTest passed (22/22)
* Trap Control unit and testsRichard Qin2026-03-193-0/+406
|
* Update the latest progressRichard Qin2026-03-191-3/+11
|
* CSR unit and testsRichard Qin2026-03-195-10/+893
|
* M/S/U Mode csr pakageRichard Qin2026-03-181-0/+110
|
* Add fibonacci tests and fix bugsRichard Qin2026-03-183-8/+77
|
* fixed vm_trace bugRichard Qin2026-03-181-6/+6
|
* CPU Core: Assembles a 5-stage pipeline, 4 inter-stage registers, and Hazard UnitRichard Qin2026-03-185-8/+1252
|
* Hazard unit and testsRichard Qin2026-03-183-0/+446
|
* test(core): fix WB stage tests after naming and logic refactorRichard Qin2026-03-171-5/+8
| | | | | | | | | - Renamed `wb_reg_write_data` to `wb_rd_wdata` in all assertions to match the updated module ports. - Renamed `wb_reg_write_addr` to `wb_rd_addr` in all assertions. - Initialized the new `mem_wb_pc_plus_4` input in the testbench setup to correctly test the JAL/JALR datapath. - Added assertions to explicitly test that `wb_reg_write_en` and `csr_req` are gated when an exception occurs. Co-authored-by: Richard-Qin-001 <69390919+Richard-Qin-001@users.noreply.github.com>
* refactor(core): address WB stage architectural and naming review feedbackRichard Qin2026-03-171-12/+17
| | | | | | | | - Renamed `wb_reg_write_data` and `wb_reg_write_addr` to `wb_rd_wdata` and `wb_rd_addr` respectively to comply with `docs/naming_convention.md`. - Removed the 64-bit adder for `mem_wb_pc + 64'd4` from the WB stage to improve timing. Introduced a new `mem_wb_pc_plus_4` pipeline input instead. - Added a `has_trap` signal to gate architectural state updates (`wb_reg_write_en` and `csr_req`) upon exceptions, ensuring precise exceptions without corrupting the register file or CSRs. Co-authored-by: Richard-Qin-001 <69390919+Richard-Qin-001@users.noreply.github.com>
* Write Back stage unit and testsRichard Qin2026-03-183-0/+240
|
* docs: Finalized Richard CPU RTL architectural and naming convention audit ↵Richard Qin2026-03-1713-20/+1190
| | | | | | | | report. No source code changes were made; this branch serves as the finalized state for the provided audit. Co-authored-by: Richard-Qin-001 <69390919+Richard-Qin-001@users.noreply.github.com>
* Execute Stage unit and testsRichard Qin2026-03-173-0/+343
|
* ID/EX Pipeline Register and testsRichard Qin2026-03-173-0/+354
|
* IF/ID RegFile and testsRichard Qin2026-03-173-0/+193
|
* Instruction Decoder Stage unit and testsRichard Qin2026-03-173-0/+345
|
* Instruction fetching stage unit and testRichard Qin2026-03-163-0/+180
|
* branch unit and testRichard Qin2026-03-164-0/+174
|
* format outputRichard Qin2026-03-163-13/+20
|
* expand tests and format outputRichard Qin2026-03-163-9/+124
|
* fix naming problemsRichard Qin2026-03-167-84/+77
|
* Naming conventionRichard Qin2026-03-161-0/+159
|
* Decoder unit and testRichard Qin2026-03-163-9/+697
|
* Register file unit and testRichard Qin2026-03-163-13/+172
|
* LicenseRichard Qin2026-03-151-0/+17
|
* Add and test alu unitRichard Qin2026-03-156-8/+241
|
* initial commit: project architectureRichard Qin2026-03-1541-0/+2185