8b301c5692Silence useless linker rwx warning
Luke Wren
2023-11-03 20:09:02 +0000
31642b6d4aAdd amo_ops testcase
Luke Wren
2023-04-01 08:47:29 +0100
a536e3baa7rvcpp sim: add A extension and M-mode traps (now passes a lot of the Hazard3 tests)
Luke Wren
2023-04-01 08:19:25 +0100
26d699e18crvcpp simulator: fix bad regnum decode for c.slli outside of x8..x15
Luke Wren
2023-04-01 06:02:45 +0100
54f0a593c8Fix +x permission of riscv-compliance/clean_all script
Luke Wren
2023-04-01 04:42:10 +0100
d8cc132a49tb_cxxrtl Makefile: make synthesis depend on config headers
Luke Wren
2023-04-01 04:41:39 +0100
86fc4e3f2dUpdate embench config and readme
Luke Wren
2023-03-31 03:02:06 +0100
ca40c077beCapture JTAG bitbang log from most recent SMP debug test.
Luke Wren
2023-03-31 02:14:22 +0100
e89ab0d095tb_cxxrtl: explicitly use set<bool> when there is only one timer IRQ (i.e. single-core testbench). Avoids some odd behaviour with wide assignment to single-bit wire from the CXXRTL harness.
Luke Wren
2023-03-31 02:11:40 +0100
5aee830ac0Restore SW Makefiles to use whatever riscv32-unknown-elf toolchain is in PATH (clean up fallout from Zc implementation -- ensure Readme instructions will get you to hello world)
Luke Wren
2023-03-31 01:53:28 +0100
a861a110c1Update to the latest riscv-arch-test. This uses the new test framework -- scripts are a little janky for now.
Luke Wren
2023-03-31 01:39:24 +0100
18d3b03cc8Fix rm of build directory in tb_cxxrtl/Makefile
Luke Wren
2023-03-30 22:43:21 +0100
97121afa91Extend testbench to allow dumping/replaying JTAG to text file. This allows debugging of tests that behave differently when VCD dumping is enabled, due to the difference in execution speed. (A couple of the SMP debug tests fail intermittently.)
Luke Wren
2023-03-27 00:17:11 +0100
c41fe0609bAdd a second mtimecmp comparator to TB IO, for dual-core InterruptTest from RISC-V debug tests. Fix a couple of minor test script issues.
Luke Wren
2023-03-26 23:00:18 +0100
94bd965e4eAdd script for running SMP debug tests
Luke Wren
2023-03-24 18:45:11 +0000
97509f548atb_cxxrtl Makefile: better support for building multiple tb configurations
Luke Wren
2023-03-24 18:44:37 +0000
cbb490da6aBump riscv-tests for hazard3 SMP debug test config changes
Luke Wren
2023-03-24 18:11:08 +0000
0dd6be181dFix up HwbpManual test in riscv-tests fork, and update debug test list
Luke Wren
2023-03-24 00:28:02 +0000
43130a16e4Fix readback of tdata2 and tinfo CSRs (Found due to latest riscv-openocd failing to enumerate triggers, as it now scans tinfo before going for tdata1/mcontrol)
Luke Wren
2023-03-23 23:33:29 +0000
532e27dbc9Bump riscv-tests for new debug and ISA tests. (Rebase of Hazard3 patches)
Luke Wren
2023-03-23 23:32:28 +0000
afcb6d283cMissing default assignment
Luke Wren
2023-03-23 10:57:50 +0000
2905c1f820Revert default for EXTENSION_ZC* to match docs in hazard3_config.vh
Luke Wren
2023-03-23 03:07:09 +0000
4a1d2b5008Save a cycle on popret/popretz by executing the stack adjust after the jump
Luke Wren
2023-03-23 02:50:34 +0000
b074d370a6Add Zcb/Zcmp instruction timings to docs
Luke Wren
2023-03-23 01:12:38 +0000
56586def8dList Zcb/Zcmp in docs, and rebuild PDF
Luke Wren
2023-03-22 02:55:07 +0000
b58cde882aAdd link to Zcb/Zcmp specs
Luke Wren
2023-03-22 02:48:18 +0000
95faab6f2cAdd zcmp_irq_kill test
Luke Wren
2023-03-22 02:44:03 +0000
e98d7b41eaHook up power control signals on dual-core tb
Luke Wren
2023-03-22 00:34:19 +0000
fcbc4f6805Fix regnum predecode of quadrant-2 RVC instructions with 5-bit regnums (regression caused by adding Zcb)
Luke Wren
2023-03-21 23:04:11 +0000
8f461b63b4Fix mvsa01/mva01s in rvcpp
Luke Wren
2023-03-21 21:54:04 +0000
410d002372First pass at adding Zcmp to rvcpp
Luke Wren
2023-03-21 21:28:49 +0000
8e7e8f4008Extend rvcpp ISA sim to cover RVC. Passes RV32IC compliance.
Luke Wren
2023-03-21 19:38:46 +0000
670099e461Fix trap address correction for Zcm instructions never firing
Luke Wren
2023-03-20 18:38:28 +0000
f702fe5352Add test covering all pop instructions
Luke Wren
2023-03-20 18:26:29 +0000
d2adc6aad7Add tests for mva01s/mvsa01
Luke Wren
2023-03-20 16:05:07 +0000
142b3a81ffAdd spike-extracted output to zcmp_push
Luke Wren
2023-03-20 15:37:38 +0000
ee6e03e0e6Add beginnings of Spike-able zcmp_push test
Luke Wren
2023-03-20 14:23:56 +0000
7607dacfc4Fix incorrect register order within stack frame for push/pop
Luke Wren
2023-03-20 06:32:20 +0000
8b73b1b927Fix mvsa01 r2s decode, Dhrystone runs with Zcb now
Luke Wren
2023-03-20 05:03:39 +0000
c4e0c15160Fix hookup of uop_atomic signal
Luke Wren
2023-03-20 02:40:49 +0000
3b2ddee06bFix push/pop frame format, fix source regnums for mvsa01/mva01s
Luke Wren
2023-03-20 02:35:18 +0000
7702c44288Handle timeout in runtests
Luke Wren
2023-03-20 01:32:16 +0000
4aed15540dFix destination register for final uop of c.popretz
Luke Wren
2023-03-20 01:31:49 +0000
6b8923a623Fix bad predecode of a0/a1 in mvsa01/mva01s. Fix bad pop load offset when extra sp adjust is nonzero.
Luke Wren
2023-03-20 01:03:49 +0000
e966e832d2First attempt at Zcmp
Luke Wren
2023-03-20 00:00:51 +0000
99c0660c3eFix decompress of c.sb/c.sh Can now run CoreMark, Hazard3 sw testcases etc using core-v compiler with Zcb enabled.
Luke Wren
2023-03-16 20:27:21 +0000
59edb2fc5fFix predecode of quadrant-00 compressed instruction rs1, to get correct rs1 for new Zbc byte/halfword load/store
Luke Wren
2023-03-16 19:10:43 +0000
78d937e5c8Yeet Zcb into core
Luke Wren
2023-03-16 18:48:15 +0000
a247c5cfc1Bump riscv-tests fork: fix breakpoint test not setting tcontrol.mte when it is implemented.
Luke Wren
2023-03-16 17:50:52 +0000
ba3c3138efFix 3 minor Debug Module bugs: - sbdata0 should ignore writes when sbbusyerror or sberror is set - All sbaddress0 writes and sbdata0 accesses should set sbbusyerror if sbbusy is set - sbaddress should not increment if access gets bus error
Luke Wren
2023-03-03 13:24:31 +0000
7101cccf3bCut through-path on reset halt request from debug module to bus
Luke Wren
2023-01-19 13:46:55 +0000
7fbdb69328Allow reconnecting to the testbench JTAG socket
Scott Shawcroft
2022-10-19 12:44:42 -0700
Add OrangeCrab 25F support (#7)
Scott Shawcroft
2022-12-17 03:49:41 -0800
8e7ffb040cComment typo
Luke Wren
2022-12-17 11:39:47 +0000
52e665fb45Remove unnecessary clear of sleep flags on bus error (which had a TODO asking if it should be removed) and add some more properties in its place.
Luke Wren
2022-11-05 18:50:36 +0000
05cb6e7ee8Rename confusingly named power control signal for allowing clock gate to shut during WFI/block sleep.
Luke Wren
2022-11-05 18:26:56 +0000
c81666177eRemove FIXME about considering concurrent load/store and debug entry in calculating the privilege of load/stores. This is safe because it is only the *current* debug mode state which affects load/stores, and some new properties have been added to ensure load/stores can not be in aphase at the point debug mode is entered/exited (which is achieved by delaying the trap). Therefore there is no way for debug entry to inadvertently boost the privilege of an executing U-mode load/store.
Luke Wren
2022-11-05 18:18:33 +0000
97bf2d06f6Hold off first instruction fetch until pwrup_ack is first seen high
Luke Wren
2022-11-05 14:58:47 +0000
dff278ea05Increase DTM idle cycle hint to 8 cycles -- see #6
Luke Wren
2022-10-19 21:11:18 +0100
1953773ca5Don't gate exception into D-mode CSR write, as a valid CSR instruction writing to a valid CSR in D-mode is guaranteed not to raise any exception (particularly the external data0 CSR is of interest)
Luke Wren
2022-10-10 22:14:05 +0100
ae4ddf7001Clean up the old/unused W_COUNTER parameter, and use a cleaner tie-off style for the counter CSRs
Luke Wren
2022-10-10 16:33:31 +0100
f771a1294dAlias DPC to the real program counter, small savings overall
Luke Wren
2022-10-10 00:28:42 +0100
aa438fc37cRemove op_b (rs2) register from muldiv_seq for modest LUT/FF savings
Luke Wren
2022-10-08 18:22:08 +0100
d3667769d2Arrange for address buses to be 0 when processor is held in reset
Luke Wren
2022-10-08 16:50:58 +0100
633a07fef9Tidy up priority tie-offs in irq_ctrl
Luke Wren
2022-10-08 16:25:05 +0100
5e7bf0d604Don't reset register file by default
Luke Wren
2022-10-08 16:24:28 +0100
f329d30713Typo in docs introduction
Luke Wren
2022-10-08 15:10:45 +0100
489480dc80Revise default config values, and update docs with new values
Luke Wren
2022-10-08 08:43:25 +0100
0b18fae32eFix swapped MHARTID/MCONFIGPTR values in tb configs
Luke Wren
2022-10-08 08:42:50 +0100
874cb20910Add config headers to tb_cxxrtl instead of using defparams in Makefile
Luke Wren
2022-10-08 08:09:26 +0100
8721bd3debAdd RISC-V timer to example soc, and tweak ULX3S config
Luke Wren
2022-10-07 03:11:30 +0100
a18c3018e1Bump riscv-formal to head of hazard3 branch, not sure what happened there
Luke Wren
2022-10-07 01:35:10 +0100
bf1bca2ca5Remove FPGA synth netlist checked in by mistake
Luke Wren
2022-10-06 16:00:27 +0100
1036d15467Clean up duplicate declaration of external_irq_pending in hazard3_irq_ctrl
Luke Wren
2022-10-06 15:59:54 +0100
4b94c9a2d4Document new configuration for IRQ and PMPM extensions
Luke Wren
2022-10-06 00:19:13 +0100
e6aaf4b801Avoid IRQ to bus through-path when custom IRQs are disabled
Luke Wren
2022-10-06 00:16:10 +0100
c55d3f0d0bMake custom IRQ and PMP functionality optional. Factor out IRQ controller into separate module.
Luke Wren
2022-10-05 23:52:20 +0100
d1d70efa60Fix some width issues introduced by last commit
Luke Wren
2022-10-05 22:19:02 +0100
6f8b75c041Make IRQ vectors right-sized. CXXRTL was spending > 1/3rd of its time in the CSR update.
Luke Wren
2022-10-05 22:11:53 +0100
f48177c644Tie off debug LEDs in ULX3S top level
Luke Wren
2022-09-05 00:37:44 +0100
9eb8590858Add generate to avoid elaborating internals of PMP/triggers with 0 PMP regions or triggers.
Luke Wren
2022-09-05 00:36:41 +0100
18c64bd633Add no_rw_check attribute to regfile memory to avoid recent Yosys area regression
Luke Wren
2022-09-04 23:56:14 +0100
787a7ec372Fix bad preprocessor conditional in ECP5 JTAG DTM
Luke Wren
2022-09-04 23:48:58 +0100
c594ec42e9Change style of IRQ register tie-offs as Yosys was not able to trim them for iCE40 synthesis.
Luke Wren
2022-09-04 23:43:24 +0100
3ae843034dExample soc: connect up power signals and always-on clock. Set more parameters explicitly.
Luke Wren
2022-09-04 23:42:48 +0100
624d39669dFix up new asserts in hazard3_power_ctrl. Add power signals to formal TBs.
Luke Wren
2022-08-29 19:20:09 +0100
1c2249dbefTypo
Luke Wren
2022-08-29 16:25:12 +0100
6abd93eb49Oops, masked the wakeup-on-halt request path when I masked IRQs on WFI state.
Luke Wren
2022-08-29 16:14:42 +0100
099f0467fbClean up remnants of the 'wfi_is_nop' thing that seemed like a good idea at the time
Luke Wren
2022-08-29 15:56:57 +0100
da4097ecd8Delay pwrup_req->pwrup_ack in tb
Luke Wren
2022-08-29 14:55:11 +0100
954bae5cf1Implement block/unblock instructions, and fix questionable partial masking of sleep signals on exceptions. Add simple test for self-block/unblock with loopback in tb.
Luke Wren
2022-08-29 14:51:19 +0100
b352d3878dUpdate docs for new power control extension
Luke Wren
2022-08-28 19:54:55 +0100
2ae2463b97First stab at adding wake/sleep state machine
Luke Wren
2022-08-28 19:48:50 +0100
ce93c45e69Add docs section for custom extensions
Luke Wren
2022-08-28 15:50:26 +0100
bf38d93d33Remove references to AHB-Lite, describe buses as (a subset of) AHB5
Luke Wren
2022-08-28 14:15:20 +0100
7d18a21734Editing
Luke Wren
2022-08-27 20:49:55 +0100
d56e217a40Work on docs. Document config options, expand the intro, move instruction timings and pseudocode to appendices.
Luke Wren
2022-08-27 20:13:21 +0100
a79c857d82Bump riscv-tests: enable hardware instruction breakpoints in hardware tests
Luke Wren
2022-08-27 17:05:02 +0100
9a60f06c43Fix trigger enable condition
Luke Wren
2022-08-23 01:05:46 +0100