Commit graph

1959 commits

Author SHA1 Message Date
Andreas Traber
116b5f4641 Debug support: Make single-stepping work again 2015-09-01 12:55:26 +02:00
Andreas Traber
d5802e5e62 Simplified fetch logic a little bit
This will probably not get us much performance though
2015-09-01 09:53:03 +02:00
Andreas Traber
fbf8874e13 Simplify jump_target mux
jump_target lies on the critical path of the instruction request path
2015-09-01 08:47:31 +02:00
Sven Stucki
2c72b487dc Readd ALU flag to EX stage, use it for branch decision 2015-08-31 13:06:43 +02:00
Sven Stucki
4015362ee8 Remove TCDM_ADDR_PRECAL and some other cleanup 2015-08-31 12:35:26 +02:00
Sven Stucki
6aa40c336d Add hwloop decoding 2015-08-31 12:35:26 +02:00
Sven Stucki
5a38967a0c Cleanup space madness 2015-08-31 12:35:26 +02:00
Sven Stucki
5a821e643b Cosmetic changes in hwloop controller, ID and includes 2015-08-31 12:34:33 +02:00
Sven Stucki
6cdfde93c7 Fix hwloop code indentation 2015-08-31 12:33:27 +02:00
Sven Stucki
3c89d1400d Initial commit of OR10N hwloop controller and regs 2015-08-31 12:33:27 +02:00
Andreas Traber
387642f094 Fix WFI instruction
It repeated instructions after it multiple times when not going to sleep
2015-08-31 10:55:16 +02:00
Andreas Traber
b84dde00b8 Fix potential problem with core_busy_o, it is now also set when an
instruction request is in flight and not only when we are decoding
2015-08-31 10:24:39 +02:00
Andreas Traber
88b91c20c5 Rework pipeline flushes and exceptions
WFI is working again, exception controller now only handles exceptions
(untested) and no flushes anymore
2015-08-31 10:02:55 +02:00
Andreas Traber
dd57252f60 Improve display for illegal instructions 2015-08-31 09:16:03 +02:00
Sven Stucki
5f3b73ab8a Remove all case inside from decoder 2015-08-28 18:50:41 +02:00
Andreas Traber
2c93147fc3 Remove dead wb_stage file and module 2015-08-28 17:17:46 +02:00
Andreas Traber
1cbbcfb90b Fix linting errors/warnings and remove dead signals
Part #2
2015-08-28 17:15:55 +02:00
Andreas Traber
d0f4ac75fb Fix linting warnings and errors
Remove lots of dead code
Part #1
2015-08-28 16:48:20 +02:00
Sven Stucki
de0d3dc76d Small cosmetics on IF stage 2015-08-28 15:41:58 +02:00
Andreas Traber
18e0373468 Take #3, don't mix blocking and non-blocking assignments 2015-08-28 14:01:39 +02:00
Andreas Traber
5ea5e01990 Synthesis problems... take #2 2015-08-28 13:55:50 +02:00
Andreas Traber
6cf4b2f229 Fix PCMR for synthesis... 2015-08-28 13:52:59 +02:00
Andreas Traber
f54b164778 Fix external performance counters
Parameter was not propagated to csr
2015-08-28 13:43:23 +02:00
Andreas Traber
0188441cc7 Silence exception warning 2015-08-28 11:31:09 +02:00
Andreas Traber
d99621f699 Add performance counters 2015-08-28 09:57:37 +02:00
Andreas Traber
8c4a99b5ec Fix jalr stall and make jump more efficient
Jumps now use only one cycle instead of two. This is the optimum we can
achieve, we cannot get any better without a delay slot
2015-08-27 13:57:13 +02:00
Andreas Traber
4baf8eaad9 Added missing compressed instruction: c.slt 2015-08-27 09:39:22 +02:00
Sven Stucki
cdabd40c59 Improve tracer output slightly 2015-08-27 01:11:34 +02:00
Sven Stucki
302747b9e4 Fix c.sllr and c.srlr decoding 2015-08-27 01:11:10 +02:00
Andreas Traber
5b3ba2d1d6 Works, but bug in compressed decoder for sll 2015-08-26 22:57:49 +02:00
Sven Stucki
d324cfc01f IF Sync, problems in RVC 2015-08-26 19:13:09 +02:00
Sven Stucki
685b6dbabb Make illegal insn warning less verbose in simulation 2015-08-26 19:12:25 +02:00
Sven Stucki
a18972db26 Add c.nop 2015-08-26 19:11:54 +02:00
Sven Stucki
793d45f254 Fix illegal instruction exception throwed when not actually decoding an instruction 2015-08-26 18:14:00 +02:00
Sven Stucki
9efada0ffa Fix last commit, small cleanup 2015-08-26 17:21:35 +02:00
Sven Stucki
84bec09a64 Fix illegal RVC instructions not causing exceptions 2015-08-26 16:40:22 +02:00
Sven Stucki
8bdb45799f Fix jump_in_id signal should only be set in DECODE in controller 2015-08-26 15:22:49 +02:00
Sven Stucki
08b2be2b76 First version of optimized new IF stage, simplified a lot 2015-08-26 15:13:04 +02:00
Sven Stucki
384f160f2b Eliminate pc_mux_boot 2015-08-25 15:37:26 +02:00
Sven Stucki
b7d05855f8 Optimized IF intermediate step 2015-08-25 15:36:28 +02:00
Sven Stucki
20110184e6 IF Store (preparation for entirely new approach) 2015-08-25 15:36:28 +02:00
Sven Stucki
96b5d1940d Fix issue with cross line access and stalls, cleanup 2015-08-25 15:36:28 +02:00
Sven Stucki
08f2311745 Fix ack latching for jumps/branches 2015-08-25 15:36:28 +02:00
Sven Stucki
6f5367478f Fix ack handling in IF 2015-08-25 15:36:28 +02:00
Sven Stucki
67425b0f19 Fix LUI/AUIPC output of tracer 2015-08-25 15:36:28 +02:00
Sven Stucki
94aef4ec05 Small cleanup 2015-08-25 15:36:28 +02:00
Sven Stucki
0da283fb58 Fix instruction corruption issue in IF 2015-08-25 15:36:28 +02:00
Sven Stucki
0042daa8c9 Fix jump/branch problem in IF 2015-08-25 15:36:28 +02:00
Sven Stucki
4d02dc1490 Simplify instruction masks in defines 2015-08-25 15:36:28 +02:00
Sven Stucki
bd6e0d4d05 Small IF cleanup, add defines for branch types 2015-08-25 15:36:28 +02:00