Commit Graph

273 Commits

Author SHA1 Message Date
Colin c6d2b351df Change clock from 12 to 25. 2025-04-06 19:47:55 +08:00
Colin 3255e9e952 Pass ECP5 fpga and jlink debug core. 2025-04-02 10:41:27 +08:00
Colin b188194887 Add led output, refine io plan. 2025-04-01 18:11:04 +08:00
Colin bf0e102e90 Add synth support. 2025-03-31 19:10:52 +08:00
Colin 2e649e2c86 Add softuart to soc_cxxrtl test. 2025-03-30 18:36:35 +08:00
Colin 464bd40440 Add softuart. 2025-03-30 16:23:29 +08:00
Colin d2942fe094 Add uart software lib. 2025-03-30 00:21:49 +08:00
Colin 393499537d Refine tb main. 2025-03-29 16:22:05 +08:00
Colin aaad0d85a5 Enable aph port off soc, and print prints. 2025-03-27 23:48:10 +08:00
Colin 5ec810907e Refine soc_cxxrtl and pass demo. 2025-03-27 16:02:09 +08:00
Colin 616da81d63 Add soc_cxxrtl simulation. 2025-03-26 16:28:09 +08:00
Luke Wren 5e24d09fda Fix up embench: use a relative link instead of the old env vars, and fix issues building with the recommended GCC14 configuration 2024-08-07 22:49:00 -07:00
Luke Wren c3913e13ca Remove unused shell script for old riscv-arch-test
(to be picked up again after merging latest riscv-arch-test)
2024-08-07 22:33:15 -07:00
Luke Wren 139671613a Merge down latest riscv-tests. Seems fine, minimal conflicts. 2024-08-07 19:22:02 -07:00
Luke Wren dc21745d16 Hook up hello_multicore to automatically build and use the multicore testbench variant 2024-08-07 19:16:03 -07:00
Luke Wren 422c0d32c6 riscv-tests: Update config files for new version of riscv-openocd (currently 5afed58) 2024-08-07 19:02:12 -07:00
Luke Wren 42c4ac305b Fix deprecation warning for tb openocd.cfg, and update example output in Readme.md 2024-08-07 16:44:43 -07:00
Luke Wren 1cd5b7fed7 Temporarily disable two riscv-arch-test tests with known issues:
* jalr-01 uses 'la x0' which is rejected as invalid by recent binutils

* cebreak-01 miscompares due to hardwired mtval (common upstream test issue)

Correct fix is blocked on bringing up the latest riscv-arch-test build
system for hazard3 (seems to have been completely rewritten again)
2024-08-07 16:13:44 -07:00
Luke Wren 9c56e669cd Standardise on a single ISA variant for default test builds, and align this with the lightweight toolchain config in the Readme
(Automated test builds for multiple ISA variants still yet to be implemented)
2024-08-07 13:34:36 -07:00
Luke Wren 0076b408fd Update readme instructions for Ubuntu 24.04 2024-08-07 07:28:51 -07:00
Luke Wren 35745117d9 Fix typo in src_only_app.mk 2024-06-06 08:33:55 +01:00
Luke Wren e34aa5bb45 rvcpp: implement MPRV, and fix up CSR write tracing 2024-06-02 12:46:41 +01:00
Luke Wren 877c6aa5ee Add trace disassembly annotation script for rvcpp, and add runtests support for passing flags to tb, and running post-processing commands on test results. 2024-06-02 11:20:58 +01:00
Luke Wren b026814674 runtests: use argparse for argument parsing, and support passing a different tb executable 2024-06-02 10:36:29 +01:00
Luke Wren a9ba69f4dd Better default flags for CoreMark 2024-06-02 10:25:07 +01:00
Luke Wren a38981f989 Enable -Wextra for rvcpp 2024-06-02 10:18:40 +01:00
Luke Wren cbc2172930 rvcpp: Add Zcb support. Also fix -Wparentheses as sometimes it does find things 2024-06-02 10:15:57 +01:00
Luke Wren 3a747e1dde Disable zcmp in multilib-gen-gen for now, as it is still not supported in latest binutils release 2024-06-01 18:24:06 +01:00
Luke Wren b883be3c20 Update multilib-gen-gen for GCC14 extensions: Zicond, Zcmp, Zcb. Hopefully handle the Zca vs C thing gracefully. 2024-06-01 18:01:09 +01:00
Luke Wren 7430523c45 Update .gitignore in riscv-tests to ignore output of debug tests 2024-06-01 15:53:53 +01:00
Luke Wren 6da0e12bbd Merge latest riscv-tests: updates for debug + ISA tests.
Add a list of excluded tests, with reasons, to run-debug-tests.sh
2024-05-29 14:03:17 +01:00
Luke Wren d239de803c Do not rely on environment variables for any intra-project paths
It's no longer necessary to source `sourceme` before running any
of the project Makefiles.
2024-05-27 16:53:06 +01:00
Luke Wren 141da55507 tb: remove the WIDE_TIMER_IRQ flag in favour of always having the same tb interface. Second timer IRQ is ignored in single-core tb. Also, fix hmaster not being connected, which Verilator complains about. 2024-05-27 12:24:54 +01:00
Luke Wren 5b31e26790 tb Makefile: use clang++-16 explicitly, because clang++-18 (now default on Ubuntu 24.04) has a >20x compile time regression 2024-05-27 11:06:50 +01:00
Luke Wren c550d79047 Debug tests: workaround recent GCC requiring Zicsr set for CSR instructions 2024-05-12 13:33:14 +01:00
Luke Wren a6558e554a Set misa.b when all of Zba, Zbb and Zbs are enabled.
(The B extension has now been ratified as this combination of extensions.)
2024-05-11 12:13:35 +01:00
Luke Wren 6db1edc675 Add dummy h3.msleep CSR to rvcpp 2024-05-11 11:02:01 +01:00
Luke Wren a84742abd4 Fix mstatus.mie still being respected when privilege is less than M.
Extend umode_wfi testcase to cover this, and in particular to check
that when entering U-mode with IRQs pending, the IRQs execute before any
exceptions occurring as a result of the U-mode instructions.
2024-05-11 10:49:13 +01:00
Luke Wren 194c9a9052 Implement WFI in rvcpp. The umode_wfi test still does not pass, because it relies on a bug in Hazard3 (mstatus.mie disables IRQs in U-mode as well as M-mode, but is supposed to be ignored in U-mode). 2024-04-27 20:48:30 +01:00
Luke Wren 78260e86e7 rvcpp: parameterise number of PMP regions, and set to match tb default. Fix region locking. Mask pmpaddr to 30 bits, to match Hazard3 32-bit physical address space. 2024-04-27 19:57:18 +01:00
Luke Wren ebe5a44454 rvcpp: fix up PMP address mask for all-ones pmpaddr, and raise instruction fault on instruction stradding two PMP regions, like the hardware 2024-04-27 19:34:17 +01:00
Luke Wren 7d370292b0 Fix transposition of RWX <-> XWR in PMP implementation.
None of upstream tests used for Hazard3 seem to cover X != R. The
Hazard3 tests covered this case, but the header file for the tests has
the same mistake. Fix the header.
2024-04-27 13:52:43 +01:00
Luke Wren fce1c087d4 Add basic PMP implementation to rvcpp. Seems like the RWX vs XWR order might be transposed in both the hardware and the tests 2024-04-27 13:38:10 +01:00
Luke Wren 117c52e7b1 rvcpp: fix handling of CSR instructions which both read and write 2024-04-27 13:30:34 +01:00
Luke Wren a313493371 Add timer and soft IRQ support to rvcpp. Relevant sw_testcases now pass. 2024-03-22 00:52:01 +00:00
Luke Wren b1be56fe94 Clean up rvcpp file structure 2024-03-21 23:27:01 +00:00
Luke Wren b473575b7e rvcpp: correctly model memory access faults. relevant sw_testcases now pass.
Also, grab the special-case core RAM change from the Sv32 fork, for better performance
2024-03-21 00:33:54 +00:00
Luke Wren fd584ea24b Add Xh3bextm instructions to rvcpp, and rename xh3b test to xh3bextm 2024-03-20 23:45:30 +00:00
Luke Wren 8cbf5fceee rvcpp: fix busted RMW CSR logic, fix ordering of CSR write vs update, csr_mcycle testcase now passes 2024-03-20 01:37:04 +00:00
Luke Wren 55504fa8f3 Add support for Zba, Zbb, Zbc, Zbs, Zbkb to rvcpp. Passes tests 2024-03-20 01:06:13 +00:00