Luke Wren
|
a988adfec8
|
Add RISC-V opcodes and memory operation codes for atomics
|
2021-12-04 11:16:24 +00:00 |
Luke Wren
|
52ba930638
|
Remove useless midcr.eivect feature. Make mlei left-shift its value by 2.
|
2021-12-04 01:17:57 +00:00 |
Luke Wren
|
dfb07822ee
|
Remove UART DTM
|
2021-12-02 02:08:16 +00:00 |
Luke Wren
|
be6b2f3f76
|
Fix up DTMs to use byte addressing
|
2021-12-02 02:05:23 +00:00 |
Luke Wren
|
1ebccb7cce
|
Switch DM to use byte addresses on APB, not word addresses
|
2021-12-02 01:47:30 +00:00 |
Luke Wren
|
c5e85dea4c
|
Add mconfigptr CSR
|
2021-12-01 03:25:56 +00:00 |
Luke Wren
|
c8afb4ac33
|
Add option for fast high-half multiplies
|
2021-11-29 18:48:02 +00:00 |
Luke Wren
|
94a3d43f27
|
Add Hazard3's registered marchid value to hdl and docs
|
2021-11-28 19:53:49 +00:00 |
Luke Wren
|
1aa9dbcddd
|
Fix comment typo in APB clock crossing
|
2021-11-28 17:40:57 +00:00 |
Luke Wren
|
e7466ae4be
|
Move DM data0 CSR into the M-custom space, and document this
|
2021-11-28 15:52:52 +00:00 |
Luke Wren
|
76172cdade
|
Start filling out CSR documentation. Change misa to report X=1 because of nonstandard IRQ CSRs.
|
2021-11-28 06:33:35 +00:00 |
Luke Wren
|
800b21d2f5
|
Remove event feedback path (not logical path) in priority encoder
|
2021-11-28 02:19:01 +00:00 |
Luke Wren
|
14a4f1a281
|
Add bitmanip reference vectors and test scripts. Fix bug in bclr implementation
|
2021-11-27 17:19:41 +00:00 |
Luke Wren
|
5d093487b7
|
Update README
|
2021-11-26 23:33:46 +00:00 |
Luke Wren
|
1bb7e33b69
|
Fix alignment of heap_ptr in init.S. Small ALU cleanup
|
2021-11-26 02:59:50 +00:00 |
Luke Wren
|
8bcec11c80
|
Couple more silly mistakes
|
2021-11-26 01:30:13 +00:00 |
Luke Wren
|
41eeb90c7d
|
Remove (safe) feedback path which Verilator linted on -- CXXRTL doesn't hate me any more
|
2021-11-26 01:29:47 +00:00 |
Luke Wren
|
998f3fdeb7
|
Clean up silly mistakes
|
2021-11-26 00:55:57 +00:00 |
Luke Wren
|
58c20a39d0
|
First pass at implementing bitmanip. Breaks CXXRTL. Ooop
|
2021-11-25 23:30:35 +00:00 |
Luke Wren
|
ed6b6a3660
|
Cleanup order of declaration/use of a couple of wires
|
2021-11-25 15:16:59 +00:00 |
Luke Wren
|
49462a8642
|
Add Zba/Zbb/Zbc/Zbs opcodes to rv_opcodes.vh
|
2021-11-23 22:11:50 +00:00 |
Luke Wren
|
e05e9a4109
|
Add default_nettype none at top of every file, and default_nettype wire at bottom
|
2021-11-23 22:10:39 +00:00 |
Luke Wren
|
0b9b706e81
|
Safer logic for load/store blocked by preceding WFI
|
2021-11-23 22:01:14 +00:00 |
Luke Wren
|
cc6a6c09ba
|
Vaguely implement wfi
|
2021-11-05 18:48:42 +00:00 |
Luke Wren
|
cfe16caf41
|
Remove some old todos
|
2021-09-05 22:20:40 +01:00 |
Luke Wren
|
e9fccffca0
|
Fix 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.
|
2021-09-05 04:45:38 +01:00 |
Luke Wren
|
65bfca5fdf
|
Fix latent bug with asynchronous debug entry during stalled load/store address phase
|
2021-09-04 07:49:29 +01:00 |
Luke Wren
|
d03a82a826
|
Add instruction fetch faults
|
2021-09-04 02:57:39 +01:00 |
Luke Wren
|
e16ae06cb5
|
Clean up timer
|
2021-08-21 17:03:32 +01:00 |
Luke Wren
|
9dd091b7b5
|
Doh typo
|
2021-08-21 09:06:20 +01:00 |
Luke Wren
|
b99e5b8a67
|
Convert timer to serial for smaller area. Rather untested
|
2021-08-20 22:27:15 +01:00 |
Luke Wren
|
4aba165166
|
First pass at a 64-bit system timer
|
2021-08-20 21:49:05 +01:00 |
Luke Wren
|
8263ee3a5d
|
Fix reporting DPC after an excepting instruction when halt request is simultaneous with exception
|
2021-07-24 15:31:33 +01:00 |
Luke Wren
|
70a44d9681
|
Small code cleanup
|
2021-07-24 10:08:27 +01:00 |
Luke Wren
|
155d3ba554
|
Tie off 1 or 2 LSBs of DPC depending on IALIGN
|
2021-07-23 23:09:03 +01:00 |
Luke Wren
|
115cb2c50f
|
Tweaks to example soc configuration
|
2021-07-23 23:08:23 +01:00 |
Luke Wren
|
279e4b4f29
|
Implement mstatush as hardwired-0, as required by priv-1.12
|
2021-07-23 21:52:01 +01:00 |
Luke Wren
|
2ae30183aa
|
Working ECP5 debug, seems a bit slow but maybe just due to bitbanged FT231X JTAG.
|
2021-07-23 18:32:47 +01:00 |
Luke Wren
|
8ceae7e9e6
|
Start hacking on ECP5 JTAG DTM
|
2021-07-23 00:36:55 +01:00 |
Luke Wren
|
41477ce479
|
Extract DTM bus/control logic from the JTAG-related parts
|
2021-07-22 19:26:25 +01:00 |
Luke Wren
|
8cdde82248
|
Coding style tweaks for ALU to workaround upstream Yosys issue, see #1 and friends
|
2021-07-20 00:13:26 +01:00 |
Luke Wren
|
7d24f42da9
|
Oops, properly fix platform IRQ mcause numbers
|
2021-07-19 09:32:59 +01:00 |
Luke Wren
|
65fb62901e
|
Mask off trap entry assertion from IRQs when in debug mode. Because the IRQ is level-sensitive, this caused trap entry to be held asserted when an IRQ fired in debug mode. This was exposed by the last bug fix -- it is only seen now that MIE+MPIE shuffling is correctly disabled in debug mode.
|
2021-07-19 00:19:56 +01:00 |
Luke Wren
|
70443fa557
|
Disable shifting of MIE/MPIE stack when in or entering debug mode
|
2021-07-18 21:14:11 +01:00 |
Luke Wren
|
d30fc46f5b
|
Fix IRQ mcause not being set correctly when vectoring is disabled
|
2021-07-18 20:44:39 +01:00 |
Luke Wren
|
e95b465e26
|
Typo in address of mcountinhibit!
|
2021-07-17 19:27:01 +01:00 |
Luke Wren
|
d9300ee127
|
Fix bad handshake on bus error response (need to report both phases of response, to get clean exception entry
|
2021-07-17 19:26:45 +01:00 |
Luke Wren
|
5deff12f95
|
DM: don't report as running/halted in dmstatus if unavailable.
|
2021-07-17 16:46:39 +01:00 |
Luke Wren
|
ab0b4a04f0
|
Also support progbuf in abstractauto.
|
2021-07-17 15:08:00 +01:00 |
Luke Wren
|
8e3dc62b97
|
Fiddly handshake changes for hardware single-stepping. Can now step correctly through illegal instructions
|
2021-07-16 20:43:24 +01:00 |