Commit graph

1819 commits

Author SHA1 Message Date
Andreas Traber
ad57e4effa Only access CSR registers when we actually care about the rdata
This silences a warning in simulation and might also help for energy
consumption
2015-10-27 10:09:59 +01:00
Sven Stucki
b1862dd33a Merge branch 'master' into exc_ctrl 2015-10-25 19:33:02 +01:00
Sven Stucki
f8dbb7ed92 Fix bug with hardware loops 2015-10-25 19:26:46 +01:00
Sven Stucki
9ee009a219 Fix exc controller ack not being sent 2015-10-23 16:49:16 +02:00
Sven Stucki
d2c8159a2d Fix bug in csrrc instruction 2015-10-23 12:15:33 +02:00
Sven Stucki
3f6ba69413 Add first version of bad memory access exceptions 2015-10-22 13:20:43 +02:00
Sven Stucki
9f5beb527f Fix comparison bug in ALU 2015-10-21 17:45:32 +02:00
Sven Stucki
459e34f747 Add error signals to LSU 2015-10-19 19:43:58 +02:00
Sven Stucki
906b51305e Fix irq_enable 2015-10-19 19:42:10 +02:00
Sven Stucki
30318e694a Fix interrupt not executed early enough after sleep 2015-10-19 19:42:10 +02:00
Sven Stucki
8d4c069d84 Fix exceptions during stalls 2015-10-19 19:42:10 +02:00
Sven Stucki
c28ca4444a Fix exc wiring (not working yet) 2015-10-19 19:42:10 +02:00
Sven Stucki
c68a098059 Initial commit of updated exception controller
Largely untested, but should be wired up correctly.
2015-10-19 19:40:37 +02:00
Sven Stucki
b957c6f682 Merge branch 'remove_vect'
This commit removes the vectorial ALU and updates RVC to the newest proposal.
2015-10-18 19:57:42 +02:00
Sven Stucki
26394abcaf Fix/Update compressed decoder for newest RVC 1.8 draft 2015-10-18 19:28:41 +02:00
Andreas Traber
97a3ded4e3 Fix typo in last commit 2015-10-16 14:34:33 +02:00
Andreas Traber
7936609c2a Fix a bug in the load store unit which allowed to send requests when the
last one was waiting for rvalid. This may increase critical path
slightly, but otherwise it is simply not correct...

Added assertions to catch those cases
2015-10-16 14:33:18 +02:00
Sven Stucki
7d06e4ab62 Fix c.addi16sp and RVC B immediates 2015-10-14 15:26:29 +02:00
Sven Stucki
bb09eeeb25 Fix c.j & c.jal immediate encoding 2015-10-14 14:40:56 +02:00
Sven Stucki
f20735d87f Update RVC opcodes 2015-10-14 14:24:02 +02:00
Sven Stucki
189ccf7cd1 Compressed decoder updated to RVC 1.8 before encoding tweak 2015-10-14 10:23:14 +02:00
Andreas Traber
4d2280bc3c Check for invalid branch decision when performing a branch as an
assertion
2015-10-12 13:26:55 +02:00
Sven Stucki
770013679e Cleanup tracer and defines 2015-10-08 10:47:04 +02:00
Sven Stucki
c35482dee4 Remove duplicate tracer functions 2015-10-08 10:36:06 +02:00
Sven Stucki
83bccc197e Remove incomplete/no longer used function 2015-10-08 10:10:59 +02:00
Sven Stucki
7223cb5e41 Fix wrongly used unique case 2015-10-08 09:53:28 +02:00
Sven Stucki
563e205cc5 Add hwloop instructions to tracer 2015-10-07 00:34:27 +02:00
Andreas Traber
06cf9f1dfe Prefix all modules with riscv_ to avoid future conflicts 2015-10-06 12:18:41 +02:00
Sven Stucki
c17e0d298f Optimize stores: write data is passed through operand c, remove unneeded 32 bit register 2015-10-02 15:03:49 +02:00
Sven Stucki
35f88d7221 Fix indentation in riscv_core 2015-10-02 14:24:38 +02:00
Sven Stucki
2911b8df2f Cleanup ALU/mult ports 2015-10-02 14:07:44 +02:00
Sven Stucki
411e074f7e Cleanup ALU, remove all vector operations 2015-10-02 13:56:44 +02:00
Sven Stucki
4a83cf3d9e Cleanup EX stage a bit 2015-10-02 11:03:20 +02:00
Sven Stucki
5cafb9b463 Cleanup hwloop section a bit 2015-10-02 10:51:12 +02:00
Sven Stucki
3f13d89764 Bypass mux for rs3 as ALU op B 2015-10-02 10:47:39 +02:00
Sven Stucki
a4bba8950e Rename rs3 signals in ID
TODO: Check for potential side effects
2015-09-30 18:52:19 +02:00
Sven Stucki
443762ab6b Remove vector control signals from decode -> Ex 2015-09-30 18:43:00 +02:00
Sven Stucki
1211237494 Remove vectorial stuff from multiplier 2015-09-30 18:40:56 +02:00
Sven Stucki
88fb2adac3 Add many ALU instructions from OR10N 2015-09-30 18:23:42 +02:00
Sven Stucki
715265d61d Add MAC with subword selection 2015-09-30 16:50:03 +02:00
Sven Stucki
076930ad64 Correctly deassert mac_en_o too 2015-09-30 16:31:52 +02:00
Sven Stucki
66e2c9b48b Edit comments in decoder 2015-09-30 16:31:52 +02:00
Andreas Traber
e001a6e745 Not taken branches do no longer waste cycles 2015-09-30 13:06:22 +02:00
Sven Stucki
fbd897a233 Fix forwarding of rs3 2015-09-29 17:45:21 +02:00
Sven Stucki
8fa5f6a522 Add reg-reg and post-increment load/stores to tracer 2015-09-29 14:10:29 +02:00
Sven Stucki
9ff25b5a1d Add MAC instruction, update regc (i.e. rs3) position 2015-09-25 14:14:01 +02:00
Sven Stucki
3a992372d6 Merge branch 'rvc18'
Adds support for the updated RVC extension. The spec is not final yet, but the
compiler already supports and uses it. This update makes it possible to use
the most up-to-date compiler version.
2015-09-25 13:19:41 +02:00
Andreas Traber
1aa8b78a73 Prefetcher now tells the core when it is safe to shut down 2015-09-24 16:32:17 +02:00
Andreas Traber
4571bc30ae Make instr_addr_o in prefetcher independent of instr_rvalid_i 2015-09-24 13:20:11 +02:00
Andreas Traber
efb607a792 Fix exception problem after stages are more independent 2015-09-24 13:16:18 +02:00