Olof Kindgren
fd79a2ea0c
Use cnt0 in serv_ctrl
2020-12-01 22:40:52 +01:00
Olof Kindgren
bbe3e56ab2
Decouple ibus_cyc and ibus_ack
2020-11-30 23:13:11 +01:00
Olof Kindgren
90ce4ff1af
Syntax and reset fixes for ModelSim
2020-11-10 15:16:19 +01:00
Olof Kindgren
c1b8471678
Add reset_strategy parameter
...
The reset_strategy parameter controls how much reset to apply to
SERV. It can be set to MINI for the default behaviour, or NONE to
only apply reset where absolutely needed and rely on POR to clear
FFs
2020-11-10 15:16:19 +01:00
Olof Kindgren
44287ed244
Remove unused reset input from serv_alu
2020-11-10 15:16:19 +01:00
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