aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [mubios] Implement the switch from 16-bit to 32-bit protected modeRichard Qin2 days2-0/+112
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Write mubios reset entry pointRichard Qin2 days2-1/+63
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] setup Makefile and linker scriptRichard Qin2 days3-0/+153
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [Tests] Remove LLVM testsRichard Qin2 days464-119059/+0
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [Doc] Move README to plain textRichard Qin3 days1-0/+0
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [Doc] Update READMERichard Qin3 days1-34/+26
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* Merge remote-tracking branch 'rv64cpu-import/master'Richard Qin3 days40-0/+11937
|\
| * chore: update ignore rulesRichard Qin3 days1-17/+41
| |
| * build: reorganize CMake configurationRichard Qin3 days2-42/+55
| |
| * refactor: update READMERichard Qin3 days1-139/+5
| | | | | | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
| * refactor: rename documentsRichard Qin3 days2-0/+0
| |
| * chore: remove obsolete toolingRichard Qin3 days3-503/+0
| |
| * refactor: reset software and test directoriesRichard Qin3 days27-6731/+0
| |
| * refactor: align RTL module names with filesRichard Qin3 days10-15/+15
| |
| * refactor: rename RTL source filesRichard Qin3 days8-0/+0
| |
| * refactor: reorganize RTL directory structureRichard Qin3 days44-0/+0
| |
| * checkpoint: preserve current RV64 CPU development stateRichard Qin3 days38-911/+7735
| |
| * refactor: standardize interrupt signal naming across the codebaseRichard Qin2026-04-074-36/+36
| |
| * refactor: standardize interrupt signal naming across the codebaseRichard Qin2026-04-079-90/+135
| |
| * feat(tlb): enhance TLB functionality with ASID-targeted flush and additional ↵Richard Qin2026-04-073-1/+70
| | | | | | | | test cases
| * feat(tlb): add parameterized L1 TLB module and corresponding unit testsRichard Qin2026-04-013-0/+805
| |
| * docs: update README and ISA support matrix with new dependencies and ↵Richard Qin2026-04-012-17/+50
| | | | | | | | compliance status
| * feat(compliance): implement ACT4 strict compliance flow with ELF runnerRichard Qin2026-04-014-72/+756
| | | | | | | | add functional compliance_runner with ELF loading, memory model, symbol-based signature dump, and tohost handling; wire compliance subdir/target in CMake; upgrade run_compliance.py for ACT4 suite mapping, robust binary/reference discovery, strict signature comparison, and aggregate suites (rv64g/rv64full).
| * feat: Add riscv-arch-test submodule for RISC-V architecture testingRichard Qin2026-04-012-0/+3
| |
| * Merge pull request #5 from ↵Richard Qin2026-04-011-2/+10
| |\ | | | | | | | | | | | | Richard-Qin-001/testing-improvement-store-page-fault-17466277746563964545 🧪 [trap_ctrl] add store page fault test case
| | * 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
| |
| * Merge pull request #3 from ↵Richard Qin2026-03-182-17/+25
| |\ | | | | | | | | | | | | Richard-Qin-001/fix/wb-stage-review-9938572677202897816 Refactor WB Stage for Timing, and Precise Exceptions
| | * 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
| |
| * Merge pull request #2 from ↵Richard Qin2026-03-186-29/+29
| |\ | | | | | | | | | | | | Richard-Qin-001/audit-report-fixes-18055656287044378367 Finalized Richard CPU RTL Audit Report
| | * Merge branch 'main' into audit-report-fixes-18055656287044378367Richard Qin2026-03-180-0/+0
| | |\ | | |/ | |/|
| * | Memory Stage and MEM/WB pipeline stage registerRichard Qin2026-03-185-0/+739
| | |
| * | fix known bugsRichard Qin2026-03-176-21/+68
| | |
| * | EX/MEM Pipeline Register unit and testsRichard Qin2026-03-177-2/+386
| | |
| | * 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
| |