Alfred Persson Forsberg
41c0d44e5f
boilerplate for external interrupts
...
Signed-off-by: Alfred Persson Forsberg <cat@catcream.org >
2025-05-11 23:20:31 +02:00
Olof Kindgren
3c2dc51969
Make immdec 4-bit compatible
2025-05-08 23:02:56 +02:00
Olof Kindgren
2ff6fcbbd2
Make bufreg 4-bit compatible
2025-05-08 22:34:48 +02:00
Olof Kindgren
46e2d76005
Make bufreg2 4-bit compatible
2025-05-08 21:38:28 +02:00
Olof Kindgren
f6116cf2ec
Make right-shifts one cycle faster
...
This allows removing the stage_two_req register as well.
2025-03-18 13:42:47 +01:00
Olof Kindgren
629e6727f5
Move shamt to top byte in bufreg2
...
Instead of shifting shamt all the way to bits 4:0, we just shift
8 steps. This saves some energy and allows us to be finished before
cnt_done.
2025-03-18 13:40:44 +01:00
Olof Kindgren
0a55885d3b
Move bytecnt to bufreg2
2025-03-01 23:12:44 +01:00
Olof Kindgren
2f23449f0f
Make branches, slt and left shifts one cycle faster
2025-03-01 23:12:44 +01:00
Olof Kindgren
129a9294c6
Remove slt_or_branch control signal
2025-03-01 23:12:44 +01:00
Olof Kindgren
9bf8672fb2
Move RVFI signals into serv_debug
2024-10-17 13:59:23 +02:00
Olof Kindgren
2bcf4104d0
Add debug module
2024-10-13 22:24:00 +02:00
Olof Kindgren
376dcd701d
Introduce width parameter
...
Expose the width (or W internally) parameter to set the SERV
datapath width.
Note: Only width=1 is function at this time.
2024-10-05 23:17:22 +02:00
Olof Kindgren
1fc6e7da9b
Set correct value of mstatus[mpp]
...
The correct value of mstatus[mpp] for machine-mode is 11, but SERV
had this set to 00. Changes in the regression test suite uncovered
this error.
2024-08-22 22:18:45 +02:00
Olof Kindgren
bc74a9a1d7
Used named generate statements
...
Unnamed generate statements are not recommended and some tools throw
warnings or errors for these.
2023-11-16 21:38:10 +01:00
Olof Kindgren
c7fc57213c
Avoid releasing trap signal too early
...
The trap signal is used my the mux in serv_rf_if to decide which
registers to write to. If the trap signal is dropped too early,
the destination address changes while the register is still being
written to.
2023-10-31 22:21:12 +01:00
Olof Kindgren
9be55f5cad
Set align parameter to the value of compressed by default
2022-12-25 21:34:48 +01:00
Olof Kindgren
73508bc5de
Expose with_csr in servant
2022-07-26 00:28:53 +02:00
Abd
1beb9d33ec
privilege tests fixed for rv32i
2022-07-26 00:28:53 +02:00
Abd
2655861447
Compressed Extension for SERV
2022-06-01 13:38:24 +02:00
Olof Kindgren
d910becd7f
Move dbus_dat/rs2/shamt storage to bufreg2
2022-01-02 22:10:33 +01:00
Olof Kindgren
f04a510393
Remove unused parameter from serv_mem_if
2022-01-01 22:50:28 +01:00
Olof Kindgren
9c4bdd4bfe
Simplify branch_op/slt_op signals
2021-10-08 22:25:24 +02:00
Olof Kindgren
9d3ebf3e96
Replace mem_op with dedicated control signals
2021-10-05 12:52:29 +02:00
Zeeshan Rafique
8843005407
updated vars declaration for modelsim ( #63 )
2021-10-03 23:15:54 +02:00
Olof Kindgren
3971ca942e
Fix up RVFI
2021-08-27 13:10:06 +02:00
Olof Kindgren
d2a4243033
Add reset for new_irq register
2021-08-27 13:10:06 +02:00
Zeeshan Rafique
6e802cb9bc
M-extension support for SERV
...
* modified serv(ant) for MDU
* added dependency for mdu
* M-extension for SERV
* Updated README for running RV32IM compliance tests
* waive some lint warnings related to mdu
* added mdu param for arty_a7_35t
2021-08-20 23:45:19 +02:00
Olof Kindgren
c2cdd44f73
Expose and document PRE_REGISTER
2021-06-05 22:56:37 +02:00
Olof Kindgren
f373d7bcb6
Reuse immediate regs for RF addresses
2021-05-16 00:09:18 +02:00
Olof Kindgren
548b7fbb41
remove redundant ALU control signal
2021-03-14 23:22:50 +01: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
25fa6fa83b
Clean up and document serv_mem_if
2021-01-02 00:02:23 +01:00
Olof Kindgren
ca1a07f684
Document and clean up interface of serv_immdec
2020-12-29 23:35:17 +01:00
Olof Kindgren
a960fd768b
Remove redundant bufreg_loop control signal
2020-12-22 22:13:57 +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
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
cc42437e0f
Prepare for alternative immediate decoder
2020-11-10 15:16:19 +01:00