Olof Kindgren
9be55f5cad
Set align parameter to the value of compressed by default
2022-12-25 21:34:48 +01:00
Olof Kindgren
76a75995b9
Remove RVFI interface from synth wrapper
2022-12-25 20:05:52 +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
82b410f500
Update reamde, comments and paramters
2022-06-13 10:38:11 +00:00
Abd
2655861447
Compressed Extension for SERV
2022-06-01 13:38:24 +02:00
Olof Kindgren
2bb988b553
Add reset for mie_mtie
2022-02-09 18:15:08 +01: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
7765567cf1
Add missing gate on mem_rd with CSR disabled
2021-12-29 00:17:00 +01:00
Olof Kindgren
28953fec4c
Simplify shift_op signal
2021-10-08 22:42:02 +02: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
Olof Kindgren
e5c6e78820
Simplify MDU logic in serv_mem_if
2021-10-04 23:49:23 +02:00
Olof Kindgren
99f82af6eb
Simplify optional MDU logic
2021-10-03 23:28:45 +02:00
Zeeshan Rafique
8843005407
updated vars declaration for modelsim ( #63 )
2021-10-03 23:15:54 +02:00
Olof Kindgren
48e250ea5e
Clean up serv_state interface
2021-10-03 22:48:51 +02:00
Klas Nordmark
52d0bf0938
Added openlane target and params.tcl with suitable openlane parameters for SERV
2021-08-30 22:13:42 +02:00
Olof Kindgren
2989051f44
Avoid enabling bufreg before instruction is decoded
2021-08-27 13:10:06 +02:00
Olof Kindgren
3971ca942e
Fix up RVFI
2021-08-27 13:10:06 +02:00
Olof Kindgren
64f5ca0b7f
Add missing reset on cnt_done
2021-08-27 13:10:06 +02:00
Olof Kindgren
781c07b7dc
Properly reset stage_two_req signal
2021-08-27 13:10:06 +02:00
Olof Kindgren
b10a871499
Fix signedness bug on immediates
...
The sign bit on immediates relied on the value of csr_imm_en from
the previous instruction. This fixes by gating with csr_imm_en
after it has been latched instead of before
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
Olof Kindgren
621baeff31
Always return 0 from reads to reg x0 in serv_rf_ram
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
Sylvain Munaut
259d5a10ed
decode: Add option to pre or post register during decoding
...
Either the input from instruction bus is registered and the
outputs are generated combinatorially (PRE_REGISTER mode), or
the input from the instruction bus is decoded combinatorially
and the result of decoding is registered (POST_REGISTER mode).
First is smaller because it allows synthesis to optimize decoding
logic with its users, but is slow. The second one is faster but
slightly bigger.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2021-05-28 21:26:54 +02:00
Olof Kindgren
f373d7bcb6
Reuse immediate regs for RF addresses
2021-05-16 00:09:18 +02:00
Olof Kindgren
14262bfc30
Rewrite logic expression of alu bool operations
2021-05-15 23:07:55 +02:00
Olof Kindgren
a5c1c8ddc4
Kill off serv_params.vh
2021-04-26 17:04:18 +02:00
Olof Kindgren
1c11365ae8
Simulator-friendly cleanup of misalign_trap_sync
2021-04-22 15:44:18 +02:00
Olof Kindgren
82c808aa1e
Implement byte_valid in a more efficient way
2021-04-18 22:48:55 +02:00
Olof Kindgren
62d5d5f8fb
Remove unused wire cnt4
2021-04-18 22:01:32 +02:00
Olof Kindgren
0c601f0872
Fix RF we gating for RF width > 2
2021-04-18 00:13:47 +02:00
Olof Kindgren
079a5c4250
Remove unused wgo register
2021-04-08 15:36:11 +02:00
Olof Kindgren
548b7fbb41
remove redundant ALU control signal
2021-03-14 23:22:50 +01:00
Olof Kindgren
727bb40a87
Simplify control logic for bool ops
2021-03-14 00:12:29 +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
f70b79fd8f
Combine lt and eq regs to cmp_r in serv_alu
2021-02-01 22:37:45 +01:00
Olof Kindgren
6fbdea58d6
Optimize trap handling
2021-01-23 22:42:26 +01:00
Olof Kindgren
8d5dd77a26
Optimize csr address 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
fe6c9b0f83
Optimize bufreg lsb signal and clean up bufreg interface
2021-01-06 22:19:40 +01:00
Olof Kindgren
0bc19ef13c
Clean up serv_alu interface
2021-01-06 22:02:13 +01:00
Olof Kindgren
ace7b8ef44
Explain and optimize state counter
2021-01-03 00:01:09 +01:00