Commit graph

15 commits

Author SHA1 Message Date
Graham Edgecombe
018faac560 Add memory bus and move data memory to a separate module 2017-12-07 22:37:58 +00:00
Graham Edgecombe
03ecd3a97d Remove unused mem_read_en output 2017-12-07 22:37:58 +00:00
Graham Edgecombe
e7ae22bf31 Remove _ops.sv files 2017-12-07 22:37:58 +00:00
Graham Edgecombe
0acde319b0 Stall the decode stage if it is waiting on a load 2017-12-07 22:37:58 +00:00
Graham Edgecombe
86022d42a5 Follow the standard naming/commenting conventions in hazard-related code 2017-12-07 22:37:58 +00:00
Graham Edgecombe
eff39ad19b Add flush and stall inputs to every stage 2017-12-07 22:37:58 +00:00
Graham Edgecombe
cc89d3f93a Replace tabs with spaces in rv32_mem.sv 2017-12-07 22:37:58 +00:00
Graham Edgecombe
dd6e01fb5c Move result/mem_read_value mux to the mem stage
This should reduce the logic required to forward the writeback rd_value
to the execute stage, which is on the critical path.
2017-12-07 22:37:58 +00:00
Graham Edgecombe
871e1f4a32 Add LB, LBU, LH, LHU, SB and SH instructions 2017-12-07 22:37:58 +00:00
Graham Edgecombe
e2a533babb Access data memory on negative clock edge
This will allow shifting, sign extension and zero extension logic to be
placed after reads, so we can add support for the LB, LBU, LH and LHU
opcodes.
2017-12-07 22:37:58 +00:00
Graham Edgecombe
85ba0c7faa Remove read_value_out enable input 2017-12-07 22:37:23 +00:00
Graham Edgecombe
bef709dc73 Replace always with always_ff 2017-12-02 18:29:51 +00:00
Graham Edgecombe
86f6e0eec1 Add branching support 2017-12-02 15:23:12 +00:00
Graham Edgecombe
4c68818134 Add writeback stage 2017-12-02 11:26:12 +00:00
Graham Edgecombe
3f8e64c65a Add memory access stage 2017-12-02 10:22:48 +00:00