1
0
mirror of https://github.com/olofk/serv.git synced 2026-02-09 17:21:00 +00:00
Commit Graph

154 Commits

Author SHA1 Message Date
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