Commit graph

580 commits

Author SHA1 Message Date
Eric Matthews
2e77b891d5 Add a writeback port for the LS unit
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2023-01-20 12:53:56 -05:00
Eric Matthews
b275bd9691 Split write-back muxes into seperate instances
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2023-01-19 15:16:38 -05:00
Eric Matthews
ebcddd904a move the zero register handling from writeback to decode
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2023-01-19 12:14:53 -05:00
Eric Matthews
7fda9f9e1f renamer LUTRAM restructure
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2023-01-19 12:13:55 -05:00
Eric Matthews
fb301bf462 writeback code cleanup
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2023-01-19 12:13:02 -05:00
Eric Matthews
dea43dc7ca Store Queue refactor
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2023-01-19 12:12:40 -05:00
Eric Matthews
b5f792048b Add nexys 7 example
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-11-14 13:59:24 -05:00
Eric Matthews
3e691efb37 Switch L1 arbitration to round-robin
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-11-14 13:36:50 -05:00
Eric Matthews
4d42d3445d Simulation tracing improvements
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-11-14 12:03:35 -05:00
Eric Matthews
7de7e1a5c0 Linting fix
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-11-14 11:38:41 -05:00
Eric Matthews
2339ae182c Adds support for more than 2 regfile read ports
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-11-14 11:38:15 -05:00
Eric Matthews
8008679a7a dcache re-organization for load/store address overlap
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-11-14 11:35:56 -05:00
Florian Meisel
ee668917c8 l2_arbiter - Fix mem_data FIFO width
Signed-off-by: Florian Meisel <meisel@esa.tu-darmstadt.de>
2022-09-09 16:57:55 +02:00
Florian Meisel
f6a593402a Update uses of l2_requester_interface::be
-> examples/litex/l1_to_wishbone.sv
-> test_benches/verilator/AXI_DDR_simulation/axi_l2_text.sv, .cc

Signed-off-by: Florian Meisel <meisel@esa.tu-darmstadt.de>
2022-09-09 16:57:55 +02:00
Florian Meisel
6b1d2280d8 l2,axi_to_arb: Move be (wstrb) to data FIFO
Fix: If the AXI bus has WREADY=0 and AWREADY=1,
  the AW handshake (single beat) that CVA5 starts
  concurrently with the corresponding W handshake
  will complete first.
 CVA5 stores `be` (-> WSTRB) in the FIFO for AW requests,
  even though WSTRB is part of the W handshake.
 The result is that WSTRB becomes unstable once the AW request finishes.
-> The fix moves `be` to the write data FIFO.

Signed-off-by: Florian Meisel <meisel@esa.tu-darmstadt.de>
2022-09-09 16:57:55 +02:00
Eric Matthews
7cb0b39ab0 Increase write throughput for single word bursts
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-07-05 15:50:06 -04:00
Eric Matthews
7606dd927b Add phys_addr to unit issue/writeback interfaces
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-07-05 15:48:22 -04:00
Eric Matthews
95bc8d244c Reduce data cache latency
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-07-05 15:38:36 -04:00
Eric Matthews
fe3c0384fc Rework instruction cache addressing logic
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-07-05 15:08:38 -04:00
Eric Matthews
e6fbbcfeb2 Fix for FIFO power-of-two constraint
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-06-13 14:45:57 -04:00
Eric Matthews
562a9c2ff6 Instruction and Data Cache reorganization and cleanup
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-06-13 14:45:20 -04:00
Eric Matthews
6aeac17b9d Rework simulation stats
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-27 16:28:17 -04:00
Mike Thompson
3239e20360
Merge pull request #5 from e-matthews/minor-fixes
Minor fixes
2022-05-26 13:17:14 -04:00
Eric Matthews
ce38554595 Add interrupt/CSR support to LiteX minimal config
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-25 10:44:38 -04:00
Eric Matthews
7bf90023f0 Fix 1-way dcache support
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-18 15:13:14 -04:00
Eric Matthews
207c47abd7 Fix AXI support for independent icache/dcache line widths
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-16 16:48:35 -04:00
Mike Thompson
b4d6a9fa29
Merge pull request #4 from e-matthews/litex
Fetch and Load-Store Interface Refactor and LiteX Support
2022-05-16 15:19:30 -04:00
Eric Matthews
b2e425abed Added LiteX support
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-16 14:09:17 -04:00
Eric Matthews
2290527612 Interrupt fixes
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-16 13:35:55 -04:00
Eric Matthews
28dc5bc43b Store-queue cleanups
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-16 13:33:30 -04:00
Eric Matthews
1ffbacbb51 verilator optional PC trace support
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-12 22:22:45 -04:00
Eric Matthews
bae3594995 load-store-queue code cleanup
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-12 22:21:52 -04:00
Eric Matthews
b87cb6ca16 load-store code cleanup
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-12 10:46:10 -04:00
Eric Matthews
a3d362b9ac dtagbank code cleanup
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-11 15:04:37 -04:00
Eric Matthews
f48faa43f2 Code cleanup
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-11 13:21:05 -04:00
Eric Matthews
331842f1b3 Added dcache uncachable region support
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-11 13:20:24 -04:00
Eric Matthews
00b0c9e3dd Wishbone bus code cleanup
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-11 13:15:57 -04:00
Eric Matthews
d30e8fcfac Move fetch flush support outside of subfetch units
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-11 13:14:47 -04:00
Eric Matthews
0855bb623a Fixed support for subfetch units with maximum address ranges
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-11 13:12:19 -04:00
Eric Matthews
8c1059f395 Added instruction bus address mapping to branch predictor
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-11 13:10:53 -04:00
Eric Matthews
fb292ecd54 LFSR index lookup changed for Verilator
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-05-04 17:32:01 -04:00
Eric Matthews
087766b3bc Wishbone bus signals renamed
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-04-29 13:59:10 -04:00
Eric Matthews
08e59f20eb Added support for optional instruction buses
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-03-31 16:38:30 -04:00
Eric Matthews
49645ba103 code cleanups
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-03-31 13:48:51 -04:00
Eric Matthews
90c9dd6343 unified fetch and load-store sub_unit interfaces
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-03-25 13:27:07 -04:00
Eric Matthews
1f0a43e5f1 linting changes
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-03-24 21:09:33 -04:00
Eric Matthews
2ea13a9234 restructured load muxing
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-03-22 19:29:11 -04:00
Mike Thompson
14c4be99e7
Merge pull request #3 from e-matthews/rename
Taiga to CVA5 renaming
2022-03-07 16:41:14 -05:00
Eric Matthews
64e8e59e8a xilinx packaging updates
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-03-07 10:50:32 -08:00
Eric Matthews
9cff8c5afb renamed occurrences of taiga to cva5
Signed-off-by: Eric Matthews <ematthew@sfu.ca>
2022-03-05 12:53:49 -08:00