Luke Wren
|
b80b09afe5
|
Typo -- fully encode all 128 possible IRQs
|
2022-03-15 09:01:55 +00:00 |
Luke Wren
|
b0b8703ea4
|
Support up to 128 IRQs
|
2022-03-13 09:27:43 +00:00 |
Luke Wren
|
887c93dbf0
|
Reuse predecoded regnums for bypass mux (though can't be used for zeroing unfortunately)
|
2022-03-02 18:35:16 +00:00 |
Luke Wren
|
96c69d0bb0
|
Cut in->out paths on debug halt/resume request
Should be harmless, because in practice these should always be driven from a register
in the DM, but still better to cut the path
|
2022-03-01 21:14:49 +00:00 |
Luke Wren
|
5aca1381ac
|
Couple of fixups for rvpy which I forgot to commit at some point
|
2022-03-01 20:27:18 +00:00 |
Luke Wren
|
8fbffbe133
|
Assign full width of fifo_valid in non-reset clause (cosmetic fix)
|
2022-02-24 12:00:27 +00:00 |
Luke Wren
|
9ed99d8695
|
Use define to guard X-checks, instead of hot comments
|
2022-02-24 10:35:16 +00:00 |
Luke Wren
|
bf15b6c49f
|
Fix forward reference to net
|
2022-01-18 23:02:39 +00:00 |
Luke Wren
|
0a369efc06
|
Add single-port bus compliance. Fix adapter not re-arbitrating following an ERROR response, causing a squashed younger load-store to remain presented to the bus.
|
2021-12-18 15:41:05 +00:00 |
Luke Wren
|
1b0e205f87
|
Fix bad AMO asserts. Fix hwdata instability during stalled AMO write dphase, which meant AMOs were fundamentally broken following yesterday's datapath origami
|
2021-12-18 14:51:46 +00:00 |
Luke Wren
|
d1b5f83b7a
|
Beef up the ULX3S SoC again now that atomics aren't so disastrous for timing
|
2021-12-18 02:41:50 +00:00 |
Luke Wren
|
6b8d4913ee
|
Remove unnecessary mux of mw_result -> m_result
|
2021-12-18 01:34:25 +00:00 |
Luke Wren
|
79fec3a2f5
|
Overload mw_result register for capturing AMO read data. Save some LCs.
|
2021-12-18 01:24:26 +00:00 |
Luke Wren
|
28b53ef7b5
|
Delete the AMO ALU. Save around 80 LCs vs original implementation, maybe enables some more savings.
|
2021-12-18 00:35:13 +00:00 |
Luke Wren
|
7485269ddf
|
Use the branch target adder for load/store addresses. Preparing for AMO ALU deletion
|
2021-12-17 22:36:40 +00:00 |
Luke Wren
|
a35739baf1
|
Fix AMO failing to loop on global monitor write fail
|
2021-12-17 17:04:22 +00:00 |
Luke Wren
|
a81d129961
|
Add exclusives monitor to testbench
|
2021-12-17 17:03:35 +00:00 |
Luke Wren
|
5ab60422ad
|
Add minimal multicore launch code
|
2021-12-17 01:24:11 +00:00 |
Luke Wren
|
01d9617f9c
|
Add multicore tb integration file
|
2021-12-17 00:41:23 +00:00 |
Luke Wren
|
207566660d
|
tb: handle both ports identically. Preparing for dual core
|
2021-12-17 00:04:00 +00:00 |
Luke Wren
|
1fa0d4d442
|
Create LICENSE
|
2021-12-13 23:40:14 +00:00 |
Luke Wren
|
b0d28447ab
|
New license headers: DWTFPL -> Apache 2.0
|
2021-12-13 23:23:40 +00:00 |
Luke Wren
|
f1cda26bcc
|
Oops, try a little harder this time to ensure local monitor is cleared by sc.w errors _always_, even if lined up with trap entry stalls etc
|
2021-12-12 23:32:01 +00:00 |
Luke Wren
|
25b44d04cf
|
Add more properties wrt AMO. Fix awful bugs in interaction between AMOs and prior lr/sc, prior load/store exception, or IRQ which is asserted then deasserted. Fix sc with HRESP=1 HEXOKAY=1 not clearing the local monitor (not a bug, but unfriendly).
|
2021-12-12 23:24:25 +00:00 |
Luke Wren
|
1697192c62
|
Fix cycle timing docs for sc.w: 2 cycles if next instruction is RAW-dependent.
|
2021-12-12 20:50:26 +00:00 |
Luke Wren
|
88fea7acfa
|
Fix lockup on misaligned AMO. Add tests for misaligned/faulting AMOs.
|
2021-12-12 18:28:23 +00:00 |
Luke Wren
|
719c21fec3
|
Add IRQ tests. Disable waves by default in runtests
|
2021-12-12 15:53:04 +00:00 |
Luke Wren
|
9fb2af800f
|
Allow IRQs to be set/cleared by sw in tb. Add soft IRQ test
|
2021-12-12 14:58:50 +00:00 |
Luke Wren
|
a232833d81
|
Add CSR writable test
|
2021-12-12 14:23:34 +00:00 |
Luke Wren
|
8a003dbbed
|
Make mcycle/minstret inhibited by default
|
2021-12-12 13:55:33 +00:00 |
Luke Wren
|
2bbc3637a2
|
Simplify CSR update logic. Showed promise in block synth but no difference to example soc. Still cleaner RTL.
|
2021-12-12 00:38:30 +00:00 |
Luke Wren
|
7da67a0600
|
Similarly for minstret
|
2021-12-11 22:25:12 +00:00 |
Luke Wren
|
1b722b5f27
|
Add mcycle test, fix incorrect description of mcycle in docs
|
2021-12-11 21:21:31 +00:00 |
Luke Wren
|
93eca19aeb
|
Add test for lr/sc RAW stalls
|
2021-12-11 19:16:41 +00:00 |
Luke Wren
|
763a5cd364
|
Add test for readability of all implemented CSRs
|
2021-12-11 17:50:12 +00:00 |
Luke Wren
|
7b1da32af1
|
Move expected_output into tests inline
|
2021-12-11 16:58:25 +00:00 |
Luke Wren
|
9460b3cd04
|
Add load/store and lr/sc bus fault tests. Fix lr.w not clearing local monitor when HRESP=1 HEXOKAY=1.
|
2021-12-11 15:52:34 +00:00 |
Luke Wren
|
f64f44f7af
|
Add test for identification CSRs vs expected values
|
2021-12-11 13:26:59 +00:00 |
Luke Wren
|
4066e941ef
|
Fix sim cmdline in bitmanip-random tests
|
2021-12-11 13:13:21 +00:00 |
Luke Wren
|
3fe0d92d41
|
Add load/store alignment testcases
|
2021-12-11 12:53:37 +00:00 |
Luke Wren
|
c90727b05a
|
Remove padding after vector table in init.S
|
2021-12-11 12:22:23 +00:00 |
Luke Wren
|
6076eba61f
|
Add run_all script under riscv-compliance
|
2021-12-11 12:08:53 +00:00 |
Luke Wren
|
52d58fdee4
|
Add keep wires for debug port on bus compliance tb
|
2021-12-11 12:06:10 +00:00 |
Luke Wren
|
6edfbfae8b
|
Add ebreak size/alignment test
|
2021-12-11 11:17:24 +00:00 |
Luke Wren
|
cccc32fe16
|
Update instructions for running hello world under debugger
|
2021-12-11 10:25:29 +00:00 |
Luke Wren
|
abe1769929
|
Add instruction access fault testcase
|
2021-12-11 09:54:00 +00:00 |
Luke Wren
|
933f2cd65c
|
Fix remaining fallout from tb args change
|
2021-12-11 09:53:39 +00:00 |
Luke Wren
|
6d55cd2d55
|
Consolidate openocd and bin-load testbenches
|
2021-12-11 09:46:38 +00:00 |
Luke Wren
|
fadb9601de
|
Illegal instruction test
|
2021-12-10 00:11:18 +00:00 |
Luke Wren
|
3d2c912b4f
|
Add test script to make it easier to add software testcases
|
2021-12-09 22:25:18 +00:00 |