Olof Kindgren
6aeb39c7ac
Clean up port maps in serv_top
2020-11-10 15:16:19 +01:00
Olof Kindgren
3751b58253
Clean up serv_csr interface
2020-11-10 15:16:19 +01:00
Olof Kindgren
554bdccba0
Silence some warnings
2020-11-10 15:16:19 +01:00
Olof Kindgren
cc42437e0f
Prepare for alternative immediate decoder
2020-11-10 15:16:19 +01:00
Olof Kindgren
3f81f07db3
Clarify immdec_ctrl[1]
2020-11-10 15:16:19 +01:00
Olof Kindgren
8faf0cf33b
Simplify and explain csr_imm_en
2020-11-10 15:16:19 +01:00
Olof Kindgren
ee6a86705d
Set size of WITH_CSR to avoid Quartus warning
2020-09-29 17:52:02 +02:00
Olof Kindgren
f10cb89ae4
Fix double-defined result_lt wire
2020-09-29 14:12:57 +02:00
Olof Kindgren
25e86fdd3c
Small optimization of instruction fetching logic
2020-08-26 16:45:40 +02:00
Olof Kindgren
3aa1a2c6e5
Simplify and document mstatus/mcause assignments
2020-08-26 16:45:40 +02:00
Olof Kindgren
fa6c420b10
Remove redundant mstatus register
2020-08-26 16:45:40 +02:00
Olof Kindgren
915cdf7933
Move RF address decoding to serv_immdec
2020-08-17 13:00:29 +02:00
Olof Kindgren
88a1a43438
Refactor and Use ALU subtractor for comparisons
2020-08-13 23:37:11 +02:00
Olof Kindgren
1c4e793885
Move CSR immediate decoder to immdec
2020-08-13 23:37:11 +02:00
Olof Kindgren
8775b321d9
Move jump decision logic to serv_state
2020-08-13 23:37:11 +02:00
Olof Kindgren
a614e427b8
Move immediate decoder to separate module
2020-08-13 23:37:11 +02:00
Olof Kindgren
119473d506
Move CSR_SOURCE_ constants into serv_csr.v
2020-08-13 23:37:11 +02:00
Olof Kindgren
707f63ae8c
Rename ser_shift to serv_shift for consistency
2020-05-26 22:48:40 +02:00
Olof Kindgren
188fd2ecc8
Restore nettype to wire in toplevels
...
This is needed to prevent breaking sources following SERV that
don't handle nettype properly
2020-05-26 22:46:01 +02:00
Olof Kindgren
9606e3503d
Inline shift_reg
2020-05-26 22:43:23 +02:00
Gwenhael Goavec-Merou
2a76adc8db
Add compatibility with Xilinx ISE
2020-05-06 20:19:52 +02:00
Olof Kindgren
fda7dd288a
Optimize enable signal for mem_if buffers
2020-04-15 22:48:28 +02:00
Olof Kindgren
1d311edb7d
Make counter internal in serv_state
2020-04-15 10:29:50 +02:00
Olof Kindgren
09c7d6dbbf
Remove FSM from serv_state
2020-04-05 00:22:44 +02:00
Olof Kindgren
8dd75fa752
Stop using states in logic expressions
2020-04-04 23:44:29 +02:00
Olof Kindgren
9a8dcde030
Simplify o_dbus_adr assignment
2020-04-03 22:58:24 +02:00
Olof Kindgren
6b0e4fb3ea
Disable misalignment traps when CSR is disabled
2020-03-27 08:55:34 +01:00
Olof Kindgren
726e520cce
Fix lint warnings when CSR is disabled
2020-03-25 23:32:12 +01:00
dh73
2a7596b51d
Declare variables/nets before referenced
2020-03-25 23:31:55 +01:00
Olof Kindgren
3e9e25e984
Avoid resetting bufreg
2020-03-03 09:21:55 +01:00
Olof Kindgren
b48b02b8df
Add parameter to disable CSR/interrupts
...
Also disables timer in servant if CSR/interrupts are disabled
2020-03-02 16:17:26 +01:00
Olof Kindgren
ea1936710e
Inline ser_lt
2020-02-19 13:15:18 +01:00
Olof Kindgren
afb7e641dd
Inline adders
2020-02-19 11:00:55 +01:00
Olof Kindgren
7f16f17ca5
Optimize CSR immediate handling
2020-02-19 10:02:48 +01:00
Olof Kindgren
badcd7ea55
Remove duplicate signals in serv_state
2020-02-17 23:48:39 +01:00
Olof Kindgren
36746d3890
Remove unused signals
2020-02-17 23:01:49 +01:00
Olof Kindgren
5aa1fbe709
Stop depending on run state
2019-12-08 22:51:28 +01:00
Olof Kindgren
6067b0e684
Use one-hot encoding for ALU rd sel
2019-12-07 23:36:36 +01:00
Olof Kindgren
eb5d25ea1c
Move op_b mux to alu
2019-12-07 23:09:04 +01:00
Olof Kindgren
b516c10d72
Prepare for RF write on RF read request and optimize state FSM
2019-12-07 23:01:24 +01:00
Olof Kindgren
31c138e4a1
Create RAM and RF IF with configurable widths
2019-12-05 22:35:53 +01:00
Olof Kindgren
e93fd0d30e
Fix compile errors with RISCV_FORMAL
2019-12-04 23:42:40 +01:00
Olof Kindgren
3179cfb107
Optimize alu eq_r and lt_r
2019-12-03 10:28:27 +01:00
Olof Kindgren
8b82c85fb6
Create toplevel without RF
2019-11-20 18:26:04 +01:00
Olof Kindgren
4532c8dafd
Move rd selection to rf_if
2019-11-20 18:26:04 +01:00
Olof Kindgren
04037c4354
Split out RF to separate module
2019-11-20 18:26:04 +01:00
Olof Kindgren
fc348f3a22
Fix wen delays in rf
2019-11-20 18:26:04 +01:00
Olof Kindgren
40000cbeb9
Fix IRQ
...
This contains a lot of fixes as IRQ support was broken on both
RTL and zephyr side
* Interrupts are now synced to instruction lifetimes
* Interrupts are disabled on traps and mie is pushed to mpie
* Zephyr applications regenerated from rewritten Zephyr port
* Timer is 32-bit to avoid wrapping around too often
* MEPC was not read properly from CSR storage
2019-11-19 11:06:50 +01:00
Olof Kindgren
1a961af5ac
Only allocate used RF mem
2019-11-10 21:45:34 +01:00
Olof Kindgren
98bfcc3b62
Remove unused jalr signal
2019-10-30 09:07:58 +01:00