Olof Kindgren
1c11365ae8
Simulator-friendly cleanup of misalign_trap_sync
2021-04-22 15:44:18 +02:00
Olof Kindgren
62d5d5f8fb
Remove unused wire cnt4
2021-04-18 22:01:32 +02:00
Olof Kindgren
7624466ddd
Optimize serv_rf_ram_if
2021-02-15 08:50:24 +01:00
Olof Kindgren
9a0b0e877c
Move shifter to mem_if
...
This allows reusing the data bus registers for shift amount
2021-02-06 23:24:23 +01:00
Olof Kindgren
6fbdea58d6
Optimize trap handling
2021-01-23 22:42:26 +01:00
Olof Kindgren
e4b773c17b
Syntax fixes
2021-01-18 22:47:28 +01:00
Olof Kindgren
5e4181d204
Optimize shift operations
2021-01-18 22:46:51 +01:00
Olof Kindgren
d5febe8f63
Simplify and document trap handling
2021-01-18 22:38:07 +01:00
Olof Kindgren
17103dd1f5
Merge LSB registers into bufreg
2021-01-11 21:40:45 +01:00
Olof Kindgren
ace7b8ef44
Explain and optimize state counter
2021-01-03 00:01:09 +01:00
Olof Kindgren
c9f41b54e8
Optimize init signal
2020-12-22 22:13:57 +01:00
Olof Kindgren
116e370589
Reverse polarity of bufreg_hold signal
2020-12-06 22:39:04 +01:00
Olof Kindgren
aa16bc40b6
Move ibus_cyc handling to serv_state
2020-12-02 16:19:34 +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
554bdccba0
Silence some warnings
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
8775b321d9
Move jump decision logic to serv_state
2020-08-13 23:37:11 +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
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
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
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
5aa1fbe709
Stop depending on run state
2019-12-08 22:51:28 +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
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
8bc54a99ad
Move mcause generation to serv_csr
2019-09-26 23:36:02 +02:00
Olof Kindgren
0f767ad2d3
Gate mem_misalign in mem_if
2019-09-26 23:23:42 +02:00
Olof Kindgren
5b96b3a938
Simplify jump flag
2019-09-26 23:12:07 +02:00
Olof Kindgren
126937f16a
Rewrite RF and state machine
...
Big patch, but would take more work to split it up
2019-09-26 23:09:22 +02:00
Olof Kindgren
ca2beaf786
Pass rf_rreq through serv_state
2019-09-26 22:59:46 +02:00
Olof Kindgren
3d6eb3feca
Separate rf_ready and dbus_ack
2019-09-26 22:59:46 +02:00
Olof Kindgren
920ad92bc7
Remove unused rs_en signal
2019-09-16 10:45:42 +02:00
Olof Kindgren
6518b5f30f
Simplify bufreg_hold
2019-09-16 09:05:47 +02:00
Olof Kindgren
ef7706f26b
Simplify two-stage signalling
2019-09-16 09:03:02 +02:00
Olof Kindgren
9575eb4fef
Separate decode and state
2019-09-15 23:25:10 +02:00