1
0
mirror of https://github.com/olofk/serv.git synced 2026-01-13 15:17:25 +00:00

Simplify and explain csr_imm_en

This commit is contained in:
Olof Kindgren 2020-08-27 21:09:49 +02:00
parent 215099dd3d
commit 8faf0cf33b
2 changed files with 2 additions and 1 deletions

View File

@ -144,7 +144,7 @@ module serv_decode
assign o_csr_source = funct3[1:0];
assign o_csr_d_sel = funct3[2];
assign o_csr_imm_en = csr_op & o_csr_d_sel;
assign o_csr_imm_en = opcode[4] & opcode[2] & funct3[2];
assign o_csr_addr = (op26 & !op20) ? CSR_MSCRATCH :
(op26 & !op21) ? CSR_MEPC :

View File

@ -30,6 +30,7 @@ module serv_immdec
always @(posedge i_clk) begin
if (i_wb_en) begin
/* CSR immediates are always zero-extended, hence clear the signbit */
signbit <= i_wb_rdt[31] & !i_csr_imm_en;
imm19_12_20 <= {i_wb_rdt[19:12],i_wb_rdt[20]};
imm7 <= i_wb_rdt[7];