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
|
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
|
b0d28447ab
|
New license headers: DWTFPL -> Apache 2.0
|
2021-12-13 23:23:40 +00:00 |
Luke Wren
|
7d2fa6a049
|
Fix width warnings in A instruction decode, add don't-care to bus rdata picking logic
|
2021-12-09 06:26:31 +00:00 |
Luke Wren
|
260491405a
|
Fix atomic instructions not asserting decode error when A extension is disabled
|
2021-12-06 07:28:50 +00:00 |
Luke Wren
|
12c79c0b41
|
Fix feature-flag for Zbs instructions in decoder
|
2021-12-05 02:05:35 +00:00 |
Luke Wren
|
5c098866f2
|
Sketch in AMO support
|
2021-12-04 20:46:39 +00:00 |
Luke Wren
|
5e17bb805e
|
Add basic support for lr/sc instructions from the A extension
|
2021-12-04 15:02:31 +00:00 |
Luke Wren
|
58c20a39d0
|
First pass at implementing bitmanip. Breaks CXXRTL. Ooop
|
2021-11-25 23:30:35 +00:00 |
Luke Wren
|
cc6a6c09ba
|
Vaguely implement wfi
|
2021-11-05 18:48:42 +00:00 |
Luke Wren
|
d03a82a826
|
Add instruction fetch faults
|
2021-09-04 02:57:39 +01:00 |
Luke Wren
|
63d661af63
|
Start hacking in debug support to the core -- seems to work as well as before adding debug!
|
2021-07-10 18:53:48 +01:00 |
Luke Wren
|
af684c4e82
|
Some cleanup; correctly decode 16-bit EBREAK
|
2021-06-03 20:03:43 +01:00 |
Luke Wren
|
4b9a3c2c78
|
Fix wrong reg readaddr when D starvation ends during a downstream load/store dphase stall (was using garbage from D instead of new fetch data predecoded in F)
|
2021-05-29 19:32:12 +01:00 |
Luke Wren
|
65075df0e5
|
More work on traps, delaying IRQs which arrive whilst a load/store address phase is stalled to avoid deassertion on the bus
|
2021-05-29 18:00:43 +01:00 |
Luke Wren
|
1b252d4bda
|
Significant overhaul of trap handling. Exceptions now taken from stage 3 instead of stage 2
|
2021-05-23 11:59:46 +01:00 |
Luke Wren
|
5e61c9f9ac
|
Use branch target adder for JALR target, and use ALU for JAL/JALR linkaddr instead of muxing in next_pc
|
2021-05-23 09:12:50 +01:00 |
Luke Wren
|
90acfdcbe8
|
Organise test directory into formal and sim
|
2021-05-23 07:42:35 +01:00 |
Luke Wren
|
7a3ce494e4
|
Fix a couple issues with trap exit, can now run add check with traps enabled (at low depth)
|
2021-05-23 06:40:44 +01:00 |
Luke Wren
|
dec78a728d
|
Fix a few things that were obviously wrong, and the first signs of a plausible RVFI bridge circuit
|
2021-05-22 15:35:52 +01:00 |
Luke Wren
|
692abbad8b
|
Merge stages D and X, and bring all branch resolution into X. Passes RV32I compliance
|
2021-05-22 07:55:13 +01:00 |
Luke Wren
|
844fa8f97f
|
Rename hazard5 -> hazard3
|
2021-05-21 03:46:29 +01:00 |