Sven Stucki
|
b5aea15659
|
Finish hwloops addition
|
2015-09-07 03:40:28 +02:00 |
|
Sven Stucki
|
82afb4c839
|
Remove another unnecessary signal
|
2015-09-05 18:15:18 +02:00 |
|
Sven Stucki
|
24f0a588f5
|
More cleanup, remove unused signal
|
2015-09-05 16:33:51 +02:00 |
|
Sven Stucki
|
f9d0911329
|
Cleanup ID
|
2015-09-05 16:00:41 +02:00 |
|
Sven Stucki
|
a6dc8271e9
|
Wire up hwloops correctly, other small fixes
|
2015-09-05 03:37:50 +02:00 |
|
Andreas Traber
|
4f06b67e65
|
Simplify instr core interface
|
2015-09-04 15:52:35 +02:00 |
|
Andreas Traber
|
adb40aef43
|
Make instr_req_o signal dependent only on state
=> removes ~1 gate from critical path and simplifies paths through i$
This will cost one cycle when waking up from sleep though :-/
|
2015-09-04 13:54:19 +02:00 |
|
Sven Stucki
|
87e2eec128
|
Move hwloop regs into ID stage, WIP
|
2015-09-03 13:39:11 +02:00 |
|
Sven Stucki
|
77ef44a82f
|
Separate jump target calculation from jump_in_id
|
2015-09-03 02:08:48 +02:00 |
|
Sven Stucki
|
2c2ad21c85
|
Reroute hwloops signals, fix counter mux
|
2015-09-02 18:32:03 +02:00 |
|
Sven Stucki
|
82eaaf86be
|
Cleanup unneeded signals and dead code
|
2015-09-02 18:07:44 +02:00 |
|
Sven Stucki
|
e305a8e648
|
Harmonize indentation in controller
|
2015-09-02 17:11:23 +02:00 |
|
Sven Stucki
|
b81c7c6c57
|
Fix indentation in riscv_core.sv, better defaults
|
2015-09-02 16:31:16 +02:00 |
|
Andreas Traber
|
03a43245c7
|
Oops, fetch_addr_Q was multiply driven
|
2015-09-02 10:27:52 +02:00 |
|
Andreas Traber
|
3a7d4044e9
|
Fix width of irq_enable signal
|
2015-09-02 09:30:03 +02:00 |
|
Andreas Traber
|
ccb4497b36
|
Use 'x to simplify synthesis
|
2015-09-02 09:25:06 +02:00 |
|
Andreas Traber
|
5aa77089fa
|
Move LSU related signals out of ex_stage and alu and put them inside LSU
|
2015-09-02 08:55:44 +02:00 |
|
Andreas Traber
|
a617bc496e
|
Fix compile errors from last commit, fix synthesis warnigns and remove
unused signals
|
2015-09-02 08:38:25 +02:00 |
|
Sven Stucki
|
3a4ddb2af3
|
New CSR implementation, fix irq_enable signal
Interrupts can now be switched on and off via CSR write, the current
status can be queried by a CSR read.
Pending interrupts still TBD.
|
2015-09-02 01:39:07 +02:00 |
|
Andreas Traber
|
bb693c8e6b
|
Add support to debug unit to set the Program Counter
|
2015-09-01 18:18:02 +02:00 |
|
Andreas Traber
|
68a9171fb3
|
Add missing branch instruction to compressed decoder
|
2015-09-01 17:24:12 +02:00 |
|
Andreas Traber
|
7e81d60510
|
Add two missing compressed instructions
|
2015-09-01 14:51:34 +02:00 |
|
Sven Stucki
|
bc51ae9305
|
Add sensible default in compressed decoder for one case
|
2015-09-01 12:58:49 +02:00 |
|
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 |
|