Commit graph

26 commits

Author SHA1 Message Date
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
ff22a4682a Ignore LSB of JALR target address 2017-12-07 22:37:58 +00:00
Graham Edgecombe
ee768c51d4 Add FENCE and FENCE.I instructions
Both are currently NOPs as the implementation is currently in-order and
has separate instruction and data memories.
2017-12-07 22:37:58 +00:00
Graham Edgecombe
141912b568 Use 4 space indentation in the assembly file for consistency 2017-12-07 22:37:58 +00:00
Graham Edgecombe
08c4451abf Add clock divider 2017-12-07 22:37:58 +00:00
Graham Edgecombe
88928aa1b2 Fix immediate decoding in J-type instructions 2017-12-07 22:37:58 +00:00
Graham Edgecombe
eaf68f8d1d Run abc twice to improve logic density 2017-12-07 22:37:58 +00:00
Graham Edgecombe
b1de4f3bb2 Fix ALU source multiplexers 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
eb053503f7 Populate instr_mem with a test assembly program 2017-12-02 18:07:37 +00:00
Graham Edgecombe
9de9955ad0 Connect lower 8 bits of x31 to the LEDs for debugging 2017-12-02 15:33:45 +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
062462eeb3 Fix indentation in rv32_decode.sv 2017-12-02 10:23:11 +00:00
Graham Edgecombe
3f8e64c65a Add memory access stage 2017-12-02 10:22:48 +00:00
Graham Edgecombe
efb33456f9 Add include guards 2017-12-01 23:30:33 +00:00
Graham Edgecombe
3af3fb71a1 Add serial flash, LED and UART pins 2017-12-01 23:25:06 +00:00
Graham Edgecombe
9ca70b76a6 Remove redundant logic keyword from the top module 2017-12-01 23:02:50 +00:00
Graham Edgecombe
5884a437b8 Add JAL/JALR support to the ALU 2017-12-01 23:02:50 +00:00
Graham Edgecombe
37d703c83e Add ALU control signals to the decoder 2017-12-01 23:02:50 +00:00
Graham Edgecombe
4aa64f864a Rename valid to valid_out 2017-12-01 23:02:50 +00:00
Graham Edgecombe
30b793cbaf Add ALU 2017-12-01 23:02:50 +00:00
Graham Edgecombe
e7389a3065 Fix shamt decoding 2017-12-01 21:51:41 +00:00
Graham Edgecombe
ed238e5e9b Use -noautowire to avoid using logic in every input/output declaration 2017-12-01 18:49:48 +00:00
Graham Edgecombe
4a4dee334d Add initial fetch/decode stages 2017-12-01 08:46:43 +00:00