8a003dbbedMake mcycle/minstret inhibited by default
Luke Wren
2021-12-12 13:55:33 +0000
2bbc3637a2Simplify CSR update logic. Showed promise in block synth but no difference to example soc. Still cleaner RTL.
Luke Wren
2021-12-12 00:38:30 +0000
7da67a0600Similarly for minstret
Luke Wren
2021-12-11 22:25:12 +0000
1b722b5f27Add mcycle test, fix incorrect description of mcycle in docs
Luke Wren
2021-12-11 21:10:26 +0000
93eca19aebAdd test for lr/sc RAW stalls
Luke Wren
2021-12-11 19:16:41 +0000
763a5cd364Add test for readability of all implemented CSRs
Luke Wren
2021-12-11 17:50:12 +0000
7b1da32af1Move expected_output into tests inline
Luke Wren
2021-12-11 16:58:25 +0000
9460b3cd04Add load/store and lr/sc bus fault tests. Fix lr.w not clearing local monitor when HRESP=1 HEXOKAY=1.
Luke Wren
2021-12-11 15:52:34 +0000
f64f44f7afAdd test for identification CSRs vs expected values
Luke Wren
2021-12-11 13:26:59 +0000
4066e941efFix sim cmdline in bitmanip-random tests
Luke Wren
2021-12-11 13:13:21 +0000
3fe0d92d41Add load/store alignment testcases
Luke Wren
2021-12-11 12:53:37 +0000
c90727b05aRemove padding after vector table in init.S
Luke Wren
2021-12-11 12:22:23 +0000
6076eba61fAdd run_all script under riscv-compliance
Luke Wren
2021-12-11 12:08:53 +0000
52d58fdee4Add keep wires for debug port on bus compliance tb
Luke Wren
2021-12-11 12:06:10 +0000
6edfbfae8bAdd ebreak size/alignment test
Luke Wren
2021-12-11 11:17:24 +0000
cccc32fe16Update instructions for running hello world under debugger
Luke Wren
2021-12-11 10:09:26 +0000
abe1769929Add instruction access fault testcase
Luke Wren
2021-12-11 09:54:00 +0000
933f2cd65cFix remaining fallout from tb args change
Luke Wren
2021-12-11 09:53:39 +0000
6d55cd2d55Consolidate openocd and bin-load testbenches
Luke Wren
2021-12-11 09:46:38 +0000
fadb9601deIllegal instruction test
Luke Wren
2021-12-10 00:11:18 +0000
3d2c912b4fAdd test script to make it easier to add software testcases
Luke Wren
2021-12-09 22:25:18 +0000
7d2fa6a049Fix width warnings in A instruction decode, add don't-care to bus rdata picking logic
Luke Wren
2021-12-09 06:26:31 +0000
116e34df49Fix commented out frontend properties which relied on non-constant past reset values
Luke Wren
2021-12-07 20:24:29 +0000
449348f459Fix bug where an IRQ can fire during load/store dphase, followed by dphase bus exception.
Luke Wren
2021-12-07 19:24:53 +0000
dbc331dbb4Add exclusives bus properties
Luke Wren
2021-12-07 05:37:59 +0000
6ef3503ef5Add A bit to MISA, update docs
Luke Wren
2021-12-07 05:10:20 +0000
93be227d8aAdd (currently failing) trap entry property. Fails when an IRQ arrives during a load/store data phase which subsequently excepts.
Luke Wren
2021-12-06 20:12:23 +0000
ed22d502fdFix bus stall getting stuck high when a bus fault exception isn't immediately accepted by the frontend
Luke Wren
2021-12-06 19:28:21 +0000
50d3d5d3b3Maintain AMO IRQ holdoff when transitioning from data phase to error phase, to prevent error possibly being flushed
Luke Wren
2021-12-06 19:27:20 +0000
29c5c8ca7fFix AMO stall falling through when write data phase should proceed to error phase
Luke Wren
2021-12-06 18:28:35 +0000
8bfc089660Slightly more strict holdoff of IRQs on AMO
Luke Wren
2021-12-06 18:13:43 +0000
0b3629564cDon't apply shifter assertions to rotates
Luke Wren
2021-12-06 18:12:23 +0000
ac9285846fTimer struct in IO header
Luke Wren
2021-12-06 17:16:21 +0000
9e7ea4adb6Fix column width
Luke Wren
2021-12-06 17:14:23 +0000
c57a80f358Add AMO + timer testcase
Luke Wren
2021-12-06 07:47:20 +0000
4c532240f8Hold off IRQ when AMO is past the point of no return
Luke Wren
2021-12-06 07:45:13 +0000
260491405aFix atomic instructions not asserting decode error when A extension is disabled
Luke Wren
2021-12-06 07:28:23 +0000
cc38f46848Fix AMO wdata valid left high when entering trap at just the right time
Luke Wren
2021-12-06 07:27:57 +0000
d86b2849c9Bump to latest version of riscv-arch-test
Luke Wren
2021-12-06 02:18:36 +0000
1fa773c67aMinimal RV32IMA + debug that fits on iCEBreaker. Not sure why area has regressed so much recently.
Luke Wren
2021-12-05 02:16:54 +0000
12c79c0b41Fix feature-flag for Zbs instructions in decoder
Luke Wren
2021-12-05 02:05:35 +0000
9b9120960dFix missing RAW stall on sc.w succes result. Closing laptop again.
Luke Wren
2021-12-05 00:54:28 +0000
723016a739Update ISA support in Readme
Luke Wren
2021-12-04 23:49:35 +0000
df658d86ffFirst plausibly working AMOs. Add AMOs to instruction timings list
Luke Wren
2021-12-04 23:44:22 +0000
5c098866f2Sketch in AMO support
Luke Wren
2021-12-04 20:46:39 +0000
34e57f0b14Sketch in an AMO ALU
Luke Wren
2021-12-04 18:52:41 +0000
a8933c332dFix illegal issue of pipelined exclusives on the bus, and document correct timings
Luke Wren
2021-12-04 18:23:01 +0000
5e17bb805eAdd basic support for lr/sc instructions from the A extension
Luke Wren
2021-12-04 15:02:31 +0000
c5d6be24f3Remove external IRQ vectors from init.S which are unreachable now that midcr.eivect has been removed.
Luke Wren
2021-12-04 14:06:48 +0000
607147f280Rewrite byte pick/sign-extend logic, preparing to handle more memops
Luke Wren
2021-12-04 12:08:54 +0000
5db6c68c56Update riscv-tests for correct misa.x value
Luke Wren
2021-12-04 11:19:43 +0000
a988adfec8Add RISC-V opcodes and memory operation codes for atomics
Luke Wren
2021-12-04 11:16:24 +0000
52ba930638Remove useless midcr.eivect feature. Make mlei left-shift its value by 2.
Luke Wren
2021-12-04 01:17:57 +0000
cd1b391714More docs cleanup
Luke Wren
2021-12-02 02:29:34 +0000
dfb07822eeRemove UART DTM
Luke Wren
2021-12-02 02:08:16 +0000
be6b2f3f76Fix up DTMs to use byte addressing
Luke Wren
2021-12-02 02:05:23 +0000
1ebccb7cceSwitch DM to use byte addresses on APB, not word addresses
Luke Wren
2021-12-02 01:47:30 +0000
ebe87dce46Reorganise CSR section of docs
Luke Wren
2021-12-02 01:35:18 +0000
c5e85dea4cAdd mconfigptr CSR
Luke Wren
2021-12-01 03:25:45 +0000
fad64bb6c9Bump embench test submodule
Luke Wren
2021-11-29 18:51:10 +0000
ba248c832ainit.S: also print out mcause when trapping an unhandled exception
Luke Wren
2021-11-29 18:49:37 +0000
c8afb4ac33Add option for fast high-half multiplies
Luke Wren
2021-11-29 18:48:02 +0000
35c5e213c7Bump embench for working benchmarks (except md5)
Luke Wren
2021-11-29 00:59:11 +0000
d29bb13c4aReplace SSH submodule URLs with HTTPS, oops
Luke Wren
2021-11-28 22:26:29 +0000
94a3d43f27Add Hazard3's registered marchid value to hdl and docs
Luke Wren
2021-11-28 19:46:08 +0000
1aa9dbcdddFix comment typo in APB clock crossing
Luke Wren
2021-11-28 17:40:57 +0000
0fafae1ab1Regenerate PDF
Luke Wren
2021-11-28 16:27:54 +0000
e7466ae4beMove DM data0 CSR into the M-custom space, and document this
Luke Wren
2021-11-28 15:52:25 +0000
9bf4d5105fDescribe possible debug topologies. Update pdf.
Luke Wren
2021-11-28 09:01:23 +0000
4e2686d4abFinish documenting CSRs. Draw a debug topology diagram.
Luke Wren
2021-11-28 08:17:23 +0000
76172cdadeStart filling out CSR documentation. Change misa to report X=1 because of nonstandard IRQ CSRs.
Luke Wren
2021-11-28 06:33:35 +0000
79c29354d2Update docs with bitmanip instructions
Luke Wren
2021-11-28 03:16:45 +0000
800b21d2f5Remove event feedback path (not logical path) in priority encoder
Luke Wren
2021-11-28 02:19:01 +0000
ba27dd838fBump libfpga for correct bus error response from AHBL splitter in example SoC
Luke Wren
2021-11-28 01:35:52 +0000
47ce2cc8ecAdd embench submodule, with configs for hazard3
Luke Wren
2021-11-28 00:01:18 +0000
14a4f1a281Add bitmanip reference vectors and test scripts. Fix bug in bclr implementation
Luke Wren
2021-11-27 17:19:34 +0000
6f1a10724bAdd bitmanip test vector generation script
Luke Wren
2021-11-26 23:34:06 +0000
5d093487b7Update README
Luke Wren
2021-11-26 23:33:46 +0000
1bb7e33b69Fix alignment of heap_ptr in init.S. Small ALU cleanup
Luke Wren
2021-11-26 02:59:50 +0000
7410c52aacUpdate readme
Luke Wren
2021-11-26 02:09:39 +0000
8398d7ecb6Hook up Zb* extension params on iCEBreaker FPGA
Luke Wren
2021-11-26 01:44:57 +0000
8bcec11c80Couple more silly mistakes
Luke Wren
2021-11-26 01:30:13 +0000
41eeb90c7dRemove (safe) feedback path which Verilator linted on -- CXXRTL doesn't hate me any more
Luke Wren
2021-11-26 01:29:47 +0000
998f3fdeb7Clean up silly mistakes
Luke Wren
2021-11-26 00:55:57 +0000
58c20a39d0First pass at implementing bitmanip. Breaks CXXRTL. Ooop
Luke Wren
2021-11-25 22:58:49 +0000
ed6b6a3660Cleanup order of declaration/use of a couple of wires
Luke Wren
2021-11-25 15:16:59 +0000
2aac3d4f91Add attempt at CPU backend diagram
Luke Wren
2021-11-23 22:14:55 +0000
e352715fdfFix IO decode in openocd/tb.cpp
Luke Wren
2021-11-23 22:12:51 +0000
49462a8642Add Zba/Zbb/Zbc/Zbs opcodes to rv_opcodes.vh
Luke Wren
2021-11-23 22:11:50 +0000
e05e9a4109Add default_nettype none at top of every file, and default_nettype wire at bottom
Luke Wren
2021-11-23 22:10:39 +0000
0b9b706e81Safer logic for load/store blocked by preceding WFI
Luke Wren
2021-11-23 22:01:14 +0000
4d14203586Update riscv-tests fork for crash loop debug test
Luke Wren
2021-11-23 21:58:31 +0000
60f364e561Remove flash XIP from example_soc -- keep it simple and reclaim UART FTDI pins on iCEBreaker
Luke Wren
2021-11-21 15:55:52 +0000
ba9a7b4a03Fix broken link in readme
Luke Wren
2021-11-21 14:58:07 +0000
c1f17b0b23Add wfi timer loop example, and add mtime/mtimecmp to non-debug testbench
Luke Wren
2021-11-06 09:59:27 +0000
cc6a6c09baVaguely implement wfi
Luke Wren
2021-11-05 18:48:27 +0000
cfe16caf41Remove some old todos
Luke Wren
2021-09-05 22:20:40 +0100
e9fccffca0Fix break and single-step on a load/store access fault dropping the exception. Better fix for halt request on definitely-excepting stage M instruction giving unreachable next-instruction DPC.
Luke Wren
2021-09-05 04:45:38 +0100
65bfca5fdfFix latent bug with asynchronous debug entry during stalled load/store address phase
Luke Wren
2021-09-04 07:49:29 +0100